<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/core, branch release-1.25.1</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Version bump.</title>
<updated>2023-05-29T11:03:31+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2023-05-29T11:03:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=fddcc30e999e56a9838a5ed818469afcd244f395'/>
<id>fddcc30e999e56a9838a5ed818469afcd244f395</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merged with the quic branch.</title>
<updated>2023-05-19T17:46:36+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2023-05-19T17:46:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=4b0266174814e6cf60a275321121dbaab084ee64'/>
<id>4b0266174814e6cf60a275321121dbaab084ee64</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common tree insert function for QUIC and UDP connections.</title>
<updated>2023-05-14T08:30:11+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2023-05-14T08:30:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0a3c79614521d7612b63eff4e09c25ed219fb65b'/>
<id>0a3c79614521d7612b63eff4e09c25ed219fb65b</id>
<content type='text'>
Previously, ngx_udp_rbtree_insert_value() was used for plain UDP and
ngx_quic_rbtree_insert_value() was used for QUIC.  Because of this it was
impossible to initialize connection tree in ngx_create_listening() since
this function is not aware what kind of listening it creates.

Now ngx_udp_rbtree_insert_value() is used for both QUIC and UDP.  To make
is possible, a generic key field is added to ngx_udp_connection_t.  It keeps
client address for UDP and connection ID for QUIC.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, ngx_udp_rbtree_insert_value() was used for plain UDP and
ngx_quic_rbtree_insert_value() was used for QUIC.  Because of this it was
impossible to initialize connection tree in ngx_create_listening() since
this function is not aware what kind of listening it creates.

Now ngx_udp_rbtree_insert_value() is used for both QUIC and UDP.  To make
is possible, a generic key field is added to ngx_udp_connection_t.  It keeps
client address for UDP and connection ID for QUIC.
</pre>
</div>
</content>
</entry>
<entry>
<title>QUIC: disabled datagram fragmentation.</title>
<updated>2023-05-06T12:23:27+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2023-05-06T12:23:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1465a34067b927963b311136bf15a79981cb9d6e'/>
<id>1465a34067b927963b311136bf15a79981cb9d6e</id>
<content type='text'>
As per RFC 9000, Section 14:

  UDP datagrams MUST NOT be fragmented at the IP layer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per RFC 9000, Section 14:

  UDP datagrams MUST NOT be fragmented at the IP layer.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed segfault if regex studies list allocation fails.</title>
<updated>2023-04-18T03:28:46+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2023-04-18T03:28:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=25c546ac37ba622b93c1a7075bd7eb447bac17b2'/>
<id>25c546ac37ba622b93c1a7075bd7eb447bac17b2</id>
<content type='text'>
The rcf-&gt;studies list is unconditionally accessed by ngx_regex_cleanup(),
and this used to cause NULL pointer dereference if allocation
failed.  Fix is to set cleanup handler only when allocation succeeds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The rcf-&gt;studies list is unconditionally accessed by ngx_regex_cleanup(),
and this used to cause NULL pointer dereference if allocation
failed.  Fix is to set cleanup handler only when allocation succeeds.
</pre>
</div>
</content>
</entry>
<entry>
<title>Version bump.</title>
<updated>2023-04-17T10:06:43+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2023-04-17T10:06:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c2f2b313a7f6912820eb17a97b8faded0e1d8079'/>
<id>c2f2b313a7f6912820eb17a97b8faded0e1d8079</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merged with the default branch.</title>
<updated>2023-03-29T07:14:25+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2023-03-29T07:14:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e8fbc967470b39513248cd961ccccf7a032831ea'/>
<id>e8fbc967470b39513248cd961ccccf7a032831ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Syslog: introduced error log handler.</title>
<updated>2023-03-10T04:43:50+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2023-03-10T04:43:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=11ed95bb53210c322c16bb0897f0cb3b5726ed57'/>
<id>11ed95bb53210c322c16bb0897f0cb3b5726ed57</id>
<content type='text'>
This ensures that errors which happen during logging to syslog are logged
with proper context, such as "while logging to syslog" and the server name.

Prodded by Safar Safarly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ensures that errors which happen during logging to syslog are logged
with proper context, such as "while logging to syslog" and the server name.

Prodded by Safar Safarly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Syslog: removed usage of ngx_cycle-&gt;log and ngx_cycle-&gt;hostname.</title>
<updated>2023-03-10T04:43:40+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2023-03-10T04:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=853912986d9568b049ecb5499b6af987cb13cb14'/>
<id>853912986d9568b049ecb5499b6af987cb13cb14</id>
<content type='text'>
During initial startup the ngx_cycle-&gt;hostname is not available, and
previously this resulted in incorrect logging.  Instead, hostname from the
configuration being parsed is now preserved in the syslog peer structure
and then used during logging.

Similarly, ngx_cycle-&gt;log might not match the configuration where the
syslog peer is defined if the configuration is not yet fully applied,
and previously this resulted in unexpected logging of syslog errors
and debug information.  Instead, cf-&gt;cycle-&gt;new_log is now referenced
in the syslog peer structure and used for logging, similarly to how it
is done in other modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During initial startup the ngx_cycle-&gt;hostname is not available, and
previously this resulted in incorrect logging.  Instead, hostname from the
configuration being parsed is now preserved in the syslog peer structure
and then used during logging.

Similarly, ngx_cycle-&gt;log might not match the configuration where the
syslog peer is defined if the configuration is not yet fully applied,
and previously this resulted in unexpected logging of syslog errors
and debug information.  Instead, cf-&gt;cycle-&gt;new_log is now referenced
in the syslog peer structure and used for logging, similarly to how it
is done in other modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: stricter UTF-8 handling in ngx_utf8_decode().</title>
<updated>2023-02-22T23:09:50+00:00</updated>
<author>
<name>Yugo Horie</name>
<email>u5.horie@gmail.com</email>
</author>
<published>2023-02-22T23:09:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=2c5fccd4693c0a68e1c72d65e016ba83e861120e'/>
<id>2c5fccd4693c0a68e1c72d65e016ba83e861120e</id>
<content type='text'>
An UTF-8 octet sequence cannot start with a 11111xxx byte (above 0xf8),
see https://datatracker.ietf.org/doc/html/rfc3629#section-3.  Previously,
such bytes were accepted by ngx_utf8_decode() and misinterpreted as 11110xxx
bytes (as in a 4-byte sequence).  While unlikely, this can potentially cause
issues.

Fix is to explicitly reject such bytes in ngx_utf8_decode().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An UTF-8 octet sequence cannot start with a 11111xxx byte (above 0xf8),
see https://datatracker.ietf.org/doc/html/rfc3629#section-3.  Previously,
such bytes were accepted by ngx_utf8_decode() and misinterpreted as 11110xxx
bytes (as in a 4-byte sequence).  While unlikely, this can potentially cause
issues.

Fix is to explicitly reject such bytes in ngx_utf8_decode().
</pre>
</div>
</content>
</entry>
</feed>
