<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/auto, branch archive/shiftTooManyBits</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>Workarounded Clang bug triggered by Ruby.</title>
<updated>2022-04-28T18:02:30+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-03-10T20:19:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=60a584cfab19d6c671b4aeebf32d0b36a4bc1b77'/>
<id>60a584cfab19d6c671b4aeebf32d0b36a4bc1b77</id>
<content type='text'>
Add -fdeclspec to NXT_RUBY_CFLAGS for Clang, if it's available.

Clang incorrectly reports 1 for __has_declspec_attribute(x) in
some cases, such as MacOS or Cygwin.  That causes ruby code to
break.  ruby added -fdeclspec to their CFLAGS in 2019 to
workaround this bug, since it enables __declspec() and therefore,
the compiler behavior matches what it reports.

Since we don't know what are all the architectures that trigger
the clang bug, let's add the flag for all of them (especially
since it should be harmless).

Add this workaround only at the time of configuring the ruby
module.  This way we don't clutter the global NXT_CFLAGS with an
unnecessary flag.

Link: unit bug &lt;https://github.com/nginx/unit/issues/653&gt;
Link: ruby bug &lt;https://bugs.ruby-lang.org/issues/18616&gt;
Link: LLVM bug &lt;https://github.com/llvm/llvm-project/issues/49958&gt;
Commit: LLVM: Add -fdeclspec &lt;d170c4b57a91adc74ca89c6d4af616a00323b12c&gt;
Commit: ruby: Use -fdeclspec &lt;0958e19ffb047781fe1506760c7cbd8d7fe74e57&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add -fdeclspec to NXT_RUBY_CFLAGS for Clang, if it's available.

Clang incorrectly reports 1 for __has_declspec_attribute(x) in
some cases, such as MacOS or Cygwin.  That causes ruby code to
break.  ruby added -fdeclspec to their CFLAGS in 2019 to
workaround this bug, since it enables __declspec() and therefore,
the compiler behavior matches what it reports.

Since we don't know what are all the architectures that trigger
the clang bug, let's add the flag for all of them (especially
since it should be harmless).

Add this workaround only at the time of configuring the ruby
module.  This way we don't clutter the global NXT_CFLAGS with an
unnecessary flag.

Link: unit bug &lt;https://github.com/nginx/unit/issues/653&gt;
Link: ruby bug &lt;https://bugs.ruby-lang.org/issues/18616&gt;
Link: LLVM bug &lt;https://github.com/llvm/llvm-project/issues/49958&gt;
Commit: LLVM: Add -fdeclspec &lt;d170c4b57a91adc74ca89c6d4af616a00323b12c&gt;
Commit: ruby: Use -fdeclspec &lt;0958e19ffb047781fe1506760c7cbd8d7fe74e57&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Added NXT_MAYBE_UNUSED for __attribute__((__unused__)).</title>
<updated>2022-04-26T23:14:22+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-03-11T00:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=0b79735b503cc0a35062799a8ac45f169f0af0f7'/>
<id>0b79735b503cc0a35062799a8ac45f169f0af0f7</id>
<content type='text'>
When testing some configurations of compilers and OSes, I noticed
that clang(1) 13 on Debian caused a function to be compiled but
unused, and the compiler triggered a compile error.

To avoid that error, use __attribute__((__unused__)).  Let's call
our wrapper NXT_MAYBE_UNUSED, since it describes itself more
precisely than the GCC attribute name.  It's also the name that
C2x (likely C23) has given to the standard attribute, which is
[[maybe_unused]], so it's also likely to be more readable because
of that name being in ISO C.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When testing some configurations of compilers and OSes, I noticed
that clang(1) 13 on Debian caused a function to be compiled but
unused, and the compiler triggered a compile error.

To avoid that error, use __attribute__((__unused__)).  Let's call
our wrapper NXT_MAYBE_UNUSED, since it describes itself more
precisely than the GCC attribute name.  It's also the name that
C2x (likely C23) has given to the standard attribute, which is
[[maybe_unused]], so it's also likely to be more readable because
of that name being in ISO C.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: using modules in Go.</title>
<updated>2022-01-10T13:07:31+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2022-01-10T13:07:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=1297e8a16a2fb0ccc195c0dd14b678bb2d7fc9fc'/>
<id>1297e8a16a2fb0ccc195c0dd14b678bb2d7fc9fc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Printing version in "./configure" output.</title>
<updated>2021-12-03T00:11:06+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2021-12-03T00:11:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=2a087fa5654954878c00edef6b07a9fe4090475f'/>
<id>2a087fa5654954878c00edef6b07a9fe4090475f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Disabling SCM_CREDS usage on DragonFly BSD.</title>
<updated>2021-12-01T15:06:38+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2021-12-01T15:06:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=c6c74d117dee5ac747ae53ce7a1e75bb2b7470e1'/>
<id>c6c74d117dee5ac747ae53ce7a1e75bb2b7470e1</id>
<content type='text'>
DragonFly BSD supports SCM_CREDS and SCM_RIGHTS, but only the first control
message is passed correctly while the second one isn't processed by the kernel.

This closes #599 issue on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DragonFly BSD supports SCM_CREDS and SCM_RIGHTS, but only the first control
message is passed correctly while the second one isn't processed by the kernel.

This closes #599 issue on GitHub.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduced SCM_CREDENTIALS / SCM_CREDS in the socket control msgs.</title>
<updated>2021-11-09T12:48:44+00:00</updated>
<author>
<name>Tiago Natel de Moura</name>
<email>t.nateldemoura@f5.com</email>
</author>
<published>2021-11-09T12:48:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=ff6a7053f500414dc74568a4e49adbac7f0cf634'/>
<id>ff6a7053f500414dc74568a4e49adbac7f0cf634</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Custom implementation of Base64 decoding function.</title>
<updated>2021-10-26T12:43:44+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2021-10-26T12:43:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=7bf6253941d3b61e5eb3339fb5f68c84e9e68795'/>
<id>7bf6253941d3b61e5eb3339fb5f68c84e9e68795</id>
<content type='text'>
Compared to the previous implementation based on OpenSSL, the new implementation
has these advantages:

 1. Strict and reliable detection of invalid strings, including strings with
    less than 4 bytes of garbage at the end;

 2. Allows to use Base64 strings without '=' padding.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Compared to the previous implementation based on OpenSSL, the new implementation
has these advantages:

 1. Strict and reliable detection of invalid strings, including strings with
    less than 4 bytes of garbage at the end;

 2. Allows to use Base64 strings without '=' padding.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added TLS session tickets support.</title>
<updated>2021-08-17T23:52:32+00:00</updated>
<author>
<name>Andrey Suvorov</name>
<email>a.suvorov@f5.com</email>
</author>
<published>2021-08-17T23:52:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=e0aa132172f03fe7c31484ce7d301813b5dacb89'/>
<id>e0aa132172f03fe7c31484ce7d301813b5dacb89</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Java: upgrading third-party components.</title>
<updated>2021-08-12T11:55:51+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2021-08-12T11:55:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=b586707c861448cfdd6d8783864c4a1ce7112a77'/>
<id>b586707c861448cfdd6d8783864c4a1ce7112a77</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Java: upgrading third-party components.</title>
<updated>2021-08-09T07:14:57+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2021-08-09T07:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=1a85ad378f3374b9c83b59ae9c12277288aa7c30'/>
<id>1a85ad378f3374b9c83b59ae9c12277288aa7c30</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
