<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src, branch release-1.23.2</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Mp4: disabled duplicate atoms.</title>
<updated>2022-10-19T07:53:17+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2022-10-19T07:53:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0d23105373e6d8a720b9826079c077b9b4be919d'/>
<id>0d23105373e6d8a720b9826079c077b9b4be919d</id>
<content type='text'>
Most atoms should not appear more than once in a container.  Previously,
this was not enforced by the module, which could result in worker process
crash, memory corruption and disclosure.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most atoms should not appear more than once in a container.  Previously,
this was not enforced by the module, which could result in worker process
crash, memory corruption and disclosure.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: improved validation of ssl_session_cache and ssl_ocsp_cache.</title>
<updated>2022-10-17T12:24:53+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2022-10-17T12:24:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=35fce42269bf1c84eadef6660021cefa08a960d7'/>
<id>35fce42269bf1c84eadef6660021cefa08a960d7</id>
<content type='text'>
Now it properly detects invalid shared zone configuration with omitted size.
Previously it used to read outside of the buffer boundary.

Found with AddressSanitizer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now it properly detects invalid shared zone configuration with omitted size.
Previously it used to read outside of the buffer boundary.

Found with AddressSanitizer.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: removed cast not needed after 5ffd76a9ccf3.</title>
<updated>2022-10-13T12:18:56+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2022-10-13T12:18:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=5b23fe690f0ddd0fe4af1ed01d7a4df95aa54d10'/>
<id>5b23fe690f0ddd0fe4af1ed01d7a4df95aa54d10</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: workaround for session timeout handling with TLSv1.3.</title>
<updated>2022-10-12T17:14:57+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2022-10-12T17:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=4d61d59ae9ecc8f1a5f0f505bf0310035b0d9ce9'/>
<id>4d61d59ae9ecc8f1a5f0f505bf0310035b0d9ce9</id>
<content type='text'>
OpenSSL with TLSv1.3 updates the session creation time on session
resumption and keeps the session timeout unmodified, making it possible
to maintain the session forever, bypassing client certificate expiration
and revocation.  To make sure session timeouts are actually used, we
now update the session creation time and reduce the session timeout
accordingly.

BoringSSL with TLSv1.3 ignores configured session timeouts and uses a
hardcoded timeout instead, 7 days.  So we update session timeout to
the configured value as soon as a session is created.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OpenSSL with TLSv1.3 updates the session creation time on session
resumption and keeps the session timeout unmodified, making it possible
to maintain the session forever, bypassing client certificate expiration
and revocation.  To make sure session timeouts are actually used, we
now update the session creation time and reduce the session timeout
accordingly.

BoringSSL with TLSv1.3 ignores configured session timeouts and uses a
hardcoded timeout instead, 7 days.  So we update session timeout to
the configured value as soon as a session is created.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: optimized rotation of session ticket keys.</title>
<updated>2022-10-12T17:14:55+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2022-10-12T17:14:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=02314f0c3c70bad88ae3554eb66439a261898f24'/>
<id>02314f0c3c70bad88ae3554eb66439a261898f24</id>
<content type='text'>
Instead of syncing keys with shared memory on each ticket operation,
the code now does this only when the worker is going to change expiration
of the current key, or going to switch to a new key: that is, usually
at most once per second.

To do so without races, the code maintains 3 keys: current, previous,
and next.  If a worker will switch to the next key earlier, other workers
will still be able to decrypt new tickets, since they will be encrypted
with the next key.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of syncing keys with shared memory on each ticket operation,
the code now does this only when the worker is going to change expiration
of the current key, or going to switch to a new key: that is, usually
at most once per second.

To do so without races, the code maintains 3 keys: current, previous,
and next.  If a worker will switch to the next key earlier, other workers
will still be able to decrypt new tickets, since they will be encrypted
with the next key.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: automatic rotation of session ticket keys.</title>
<updated>2022-10-12T17:14:53+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2022-10-12T17:14:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1d572e359a210dcb27e5e073c016c1768c435263'/>
<id>1d572e359a210dcb27e5e073c016c1768c435263</id>
<content type='text'>
As long as ssl_session_cache in shared memory is configured, session ticket
keys are now automatically generated in shared memory, and rotated
periodically.  This can be beneficial from forward secrecy point of view,
and also avoids increased CPU usage after configuration reloads.

This also helps BoringSSL to properly resume sessions in configurations
with multiple worker processes and no ssl_session_ticket_key directives,
as BoringSSL tries to automatically rotate session ticket keys and does
this independently in different worker processes, thus breaking session
resumption between worker processes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As long as ssl_session_cache in shared memory is configured, session ticket
keys are now automatically generated in shared memory, and rotated
periodically.  This can be beneficial from forward secrecy point of view,
and also avoids increased CPU usage after configuration reloads.

This also helps BoringSSL to properly resume sessions in configurations
with multiple worker processes and no ssl_session_ticket_key directives,
as BoringSSL tries to automatically rotate session ticket keys and does
this independently in different worker processes, thus breaking session
resumption between worker processes.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: shorter debug messages about session tickets.</title>
<updated>2022-10-12T17:14:51+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2022-10-12T17:14:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=3b127da11169c63c04d2ea41a79023b030010a1e'/>
<id>3b127da11169c63c04d2ea41a79023b030010a1e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: renamed session ticket key functions and data index.</title>
<updated>2022-10-12T17:14:49+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2022-10-12T17:14:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=2a8e56b1e2addb0fdf9fbd0d33b2c1371409176b'/>
<id>2a8e56b1e2addb0fdf9fbd0d33b2c1371409176b</id>
<content type='text'>
Previously used names are way too long, renamed to simplify writing code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously used names are way too long, renamed to simplify writing code.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: renamed session ticket key type.</title>
<updated>2022-10-12T17:14:47+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2022-10-12T17:14:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=6e5120a01d09478342af1bf37efeaaede7833f86'/>
<id>6e5120a01d09478342af1bf37efeaaede7833f86</id>
<content type='text'>
The ngx_ssl_session_ticket_key_t is way too long, renamed to
ngx_ssl_ticket_key_t to simplify writing code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ngx_ssl_session_ticket_key_t is way too long, renamed to
ngx_ssl_ticket_key_t to simplify writing code.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: style.</title>
<updated>2022-10-12T17:14:45+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2022-10-12T17:14:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=a5b768c5365d1b3b286c9690ef33ae3f54e08321'/>
<id>a5b768c5365d1b3b286c9690ef33ae3f54e08321</id>
<content type='text'>
Runtime OCSP functions separated from configuration ones.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Runtime OCSP functions separated from configuration ones.
</pre>
</div>
</content>
</entry>
</feed>
