<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/src, branch 1.23.0</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>Fixing shm buffer leakage when sending over the port queue.</title>
<updated>2021-03-25T13:55:16+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2021-03-25T13:55:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=b8052b050e0111400c59f35e76c013d8ee553ea9'/>
<id>b8052b050e0111400c59f35e76c013d8ee553ea9</id>
<content type='text'>
When the shm buffer is sent over the port queue, it needs to be completed
because it's sent over the port socket.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the shm buffer is sent over the port queue, it needs to be completed
because it's sent over the port socket.
</pre>
</div>
</content>
</entry>
<entry>
<title>Node.js: used distinct placeholder for version in "package.json".</title>
<updated>2021-03-25T13:15:03+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2021-03-25T13:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=067c6096e2ec306c4fdae6993140fbbdf4f9a6fd'/>
<id>067c6096e2ec306c4fdae6993140fbbdf4f9a6fd</id>
<content type='text'>
This makes the "sed" instruction simpler and more portable, as the previous
variant didn't work well on BSD systems due to the "\s" metacharacter.

Thanks to Sergey A. Osokin &lt;osa@FreeBSD.org.ru&gt; for spotting this issue.

Also, this should prevent accidentally creating a version 1.0.0 package.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes the "sed" instruction simpler and more portable, as the previous
variant didn't work well on BSD systems due to the "\s" metacharacter.

Thanks to Sergey A. Osokin &lt;osa@FreeBSD.org.ru&gt; for spotting this issue.

Also, this should prevent accidentally creating a version 1.0.0 package.
</pre>
</div>
</content>
</entry>
<entry>
<title>Releasing shm buffers for large body requests.</title>
<updated>2021-03-25T11:16:30+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2021-03-25T11:16:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=9957a959dfd6e60e6fce02c904ad6f768f69c44b'/>
<id>9957a959dfd6e60e6fce02c904ad6f768f69c44b</id>
<content type='text'>
This fixes memory and shm file descriptor leakage that occurred when a large
request body was passed via shared memory.  The leakage was caught with the
"test_settings_body_buffer_size" test.  The main condition is the
"body_buffer_size" value exceeding 10 Mb (a shm segment).  Thus, the router was
forced to split the body into several shm segments, but these buffers were not
freed because of dummy completion handlers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes memory and shm file descriptor leakage that occurred when a large
request body was passed via shared memory.  The leakage was caught with the
"test_settings_body_buffer_size" test.  The main condition is the
"body_buffer_size" value exceeding 10 Mb (a shm segment).  Thus, the router was
forced to split the body into several shm segments, but these buffers were not
freed because of dummy completion handlers.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added ability to configure multiple certificates on a listener.</title>
<updated>2021-03-24T20:19:36+00:00</updated>
<author>
<name>Andrey Suvorov</name>
<email>a.suvorov@f5.com</email>
</author>
<published>2021-03-24T20:19:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=d2b0882d89f29fea84b457e0709b6980c8a30a57'/>
<id>d2b0882d89f29fea84b457e0709b6980c8a30a57</id>
<content type='text'>
The certificate is selected by matching the arriving SNI to the common name and
the alternatives names.  If no certificate matches the name, the first bundle in
the array is chosen.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The certificate is selected by matching the arriving SNI to the common name and
the alternatives names.  If no certificate matches the name, the first bundle in
the array is chosen.
</pre>
</div>
</content>
</entry>
<entry>
<title>Certificates: fixed in name attributes processing.</title>
<updated>2021-03-24T13:55:47+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2021-03-24T13:55:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=699a3ea2ebc86f9e9dc9d59e1d9db488ac4ff352'/>
<id>699a3ea2ebc86f9e9dc9d59e1d9db488ac4ff352</id>
<content type='text'>
The idea is to put SAN after CN, but the previous version of the code
incorrectly assumed that CN was always present, which caused writes
outside the allocated object if there were no standard name attributes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The idea is to put SAN after CN, but the previous version of the code
incorrectly assumed that CN was always present, which caused writes
outside the allocated object if there were no standard name attributes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Certificates: moved SAN processing to a separate function.</title>
<updated>2021-03-24T13:38:05+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2021-03-24T13:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=a6c6dcf5f7856a96881373a2dbd1f14bda396c45'/>
<id>a6c6dcf5f7856a96881373a2dbd1f14bda396c45</id>
<content type='text'>
No functional changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No functional changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Certficates: fixed counting DNS SAN entries.</title>
<updated>2021-03-24T13:38:05+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2021-03-24T13:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f18a41c84bb573607eaab9fec0c070cd159493f0'/>
<id>f18a41c84bb573607eaab9fec0c070cd159493f0</id>
<content type='text'>
Previously, entries of any type were counted during object allocation
but only DNS type entries were actually processed.  As a result,
if some certificate entries had another type, returning information
about the certificate caused uninitialized memory access.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, entries of any type were counted during object allocation
but only DNS type entries were actually processed.  As a result,
if some certificate entries had another type, returning information
about the certificate caused uninitialized memory access.
</pre>
</div>
</content>
</entry>
<entry>
<title>Workaround for an OpenSSL bug about not closing /dev/*random.</title>
<updated>2021-03-24T08:43:31+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2021-03-24T08:43:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f267dd0a8da280d2a803b61c9a309fe51d60d95a'/>
<id>f267dd0a8da280d2a803b61c9a309fe51d60d95a</id>
<content type='text'>
This is a workaround for an issue in OpenSSL 1.1.1, where the /dev/random and
/dev/urandom files remain open after all listening sockets were removed:

 - https://github.com/openssl/openssl/issues/7419
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a workaround for an issue in OpenSSL 1.1.1, where the /dev/random and
/dev/urandom files remain open after all listening sockets were removed:

 - https://github.com/openssl/openssl/issues/7419
</pre>
</div>
</content>
</entry>
<entry>
<title>Disabled logging alerts to syslog.</title>
<updated>2021-03-24T05:05:07+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2021-03-24T05:05:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=b04832da844d1c9e4ce7f7ff387059fbd07f78d3'/>
<id>b04832da844d1c9e4ce7f7ff387059fbd07f78d3</id>
<content type='text'>
It feels to be causing more harm than good, because syslog() can be blocking,
which is even more critical under resource exhaustion conditions when some
alerts are expected.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It feels to be causing more harm than good, because syslog() can be blocking,
which is even more critical under resource exhaustion conditions when some
alerts are expected.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed building the PHP 5 module with ZTS, broken by dab8544b5440.</title>
<updated>2021-03-15T12:03:32+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2021-03-15T12:03:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=99337728edbc38ac979b0f23805dbe74920a6bc2'/>
<id>99337728edbc38ac979b0f23805dbe74920a6bc2</id>
<content type='text'>
This closes #525 issue on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This closes #525 issue on GitHub.
</pre>
</div>
</content>
</entry>
</feed>
