<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git, branch release-1.21.0</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>nginx-1.21.0-RELEASE</title>
<updated>2021-05-25T12:28:55+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-05-25T12:28:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ffcf93a6bf0c203c136e9ee9d65b81659ca9f7b6'/>
<id>ffcf93a6bf0c203c136e9ee9d65b81659ca9f7b6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: explicit check for compression pointers in question.</title>
<updated>2021-05-25T12:17:50+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-05-25T12:17:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e860ecce82f1ee9cffb228d29d3ad61375b29aff'/>
<id>e860ecce82f1ee9cffb228d29d3ad61375b29aff</id>
<content type='text'>
Since nginx always uses exactly one entry in the question section of
a DNS query, and never uses compression pointers in this entry, parsing
of a DNS response in ngx_resolver_process_response() does not expect
compression pointers to appear in the question section of the DNS
response.  Indeed, compression pointers in the first name of a DNS response
hardly make sense, do not seem to be allowed by RFC 1035 (which says
"a pointer to a prior occurance of the same name", note "prior"), and
were never observed in practice.

Added an explicit check to ngx_resolver_process_response()'s parsing
of the question section to properly report an error if compression pointers
nevertheless appear in the question section.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since nginx always uses exactly one entry in the question section of
a DNS query, and never uses compression pointers in this entry, parsing
of a DNS response in ngx_resolver_process_response() does not expect
compression pointers to appear in the question section of the DNS
response.  Indeed, compression pointers in the first name of a DNS response
hardly make sense, do not seem to be allowed by RFC 1035 (which says
"a pointer to a prior occurance of the same name", note "prior"), and
were never observed in practice.

Added an explicit check to ngx_resolver_process_response()'s parsing
of the question section to properly report an error if compression pointers
nevertheless appear in the question section.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: simplified ngx_resolver_copy().</title>
<updated>2021-05-25T12:17:45+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-05-25T12:17:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f85d7016949b34119b5f4c53ddbfac4f199b4343'/>
<id>f85d7016949b34119b5f4c53ddbfac4f199b4343</id>
<content type='text'>
Instead of checking on each label if we need to place a dot or not,
now it always adds a dot after a label, and reduces the resulting
length afterwards.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of checking on each label if we need to place a dot or not,
now it always adds a dot after a label, and reduces the resulting
length afterwards.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: reworked ngx_resolver_copy() copy loop.</title>
<updated>2021-05-25T12:17:43+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-05-25T12:17:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f1dd1d50e090b32a765295daea5f167f1077d706'/>
<id>f1dd1d50e090b32a765295daea5f167f1077d706</id>
<content type='text'>
To make the code easier to read, reworked the ngx_resolver_copy()
copy loop to match the one used to calculate length.  No functional
changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To make the code easier to read, reworked the ngx_resolver_copy()
copy loop to match the one used to calculate length.  No functional
changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: fixed label types handling in ngx_resolver_copy().</title>
<updated>2021-05-25T12:17:41+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-05-25T12:17:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=bbd403a7ab3810fe82ecd1d6ebca9fc34d68126a'/>
<id>bbd403a7ab3810fe82ecd1d6ebca9fc34d68126a</id>
<content type='text'>
Previously, anything with any of the two high bits set were interpreted
as compression pointers.  This is incorrect, as RFC 1035 clearly states
that "The 10 and 01 combinations are reserved for future use".  Further,
the 01 combination is actually allocated for EDNS extended label type
(see RFC 2671 and RFC 6891), not really used though.

Fix is to reject unrecognized label types rather than misinterpreting
them as compression pointers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, anything with any of the two high bits set were interpreted
as compression pointers.  This is incorrect, as RFC 1035 clearly states
that "The 10 and 01 combinations are reserved for future use".  Further,
the 01 combination is actually allocated for EDNS extended label type
(see RFC 2671 and RFC 6891), not really used though.

Fix is to reject unrecognized label types rather than misinterpreting
them as compression pointers.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: fixed off-by-one read in ngx_resolver_copy().</title>
<updated>2021-05-25T12:17:38+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-05-25T12:17:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=077a890a76fff4f071776184aed881b5f314c98a'/>
<id>077a890a76fff4f071776184aed881b5f314c98a</id>
<content type='text'>
It is believed to be harmless, and in the worst case it uses some
uninitialized memory as a part of the compression pointer length,
eventually leading to the "name is out of DNS response" error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is believed to be harmless, and in the worst case it uses some
uninitialized memory as a part of the compression pointer length,
eventually leading to the "name is out of DNS response" error.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: fixed off-by-one write in ngx_resolver_copy().</title>
<updated>2021-05-25T12:17:36+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-05-25T12:17:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9f1dcb0c0473641730b871dee984016ff19d2c53'/>
<id>9f1dcb0c0473641730b871dee984016ff19d2c53</id>
<content type='text'>
Reported by Luis Merino, Markus Vervier, Eric Sesterhenn, X41 D-Sec GmbH.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported by Luis Merino, Markus Vervier, Eric Sesterhenn, X41 D-Sec GmbH.
</pre>
</div>
</content>
</entry>
<entry>
<title>Location header escaping in redirects (ticket #882).</title>
<updated>2021-05-24T18:55:20+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2021-05-24T18:55:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=41a241b3ef74dbbe3d82ab2ebbe682919e4a0b90'/>
<id>41a241b3ef74dbbe3d82ab2ebbe682919e4a0b90</id>
<content type='text'>
The header is escaped in redirects based on request URI or
location name (auto redirect).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The header is escaped in redirects based on request URI or
location name (auto redirect).
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed log action when using SSL certificates with variables.</title>
<updated>2021-05-24T15:23:42+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-05-24T15:23:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=52d0ec7d1799cc67452c32052e96b8cdace0c7b7'/>
<id>52d0ec7d1799cc67452c32052e96b8cdace0c7b7</id>
<content type='text'>
When variables are used in ssl_certificate or ssl_certificate_key, a request
is created in the certificate callback to evaluate the variables, and then
freed.  Freeing it, however, updates c-&gt;log-&gt;action to "closing request",
resulting in confusing error messages like "client timed out ... while
closing request" when a client times out during the SSL handshake.

Fix is to restore c-&gt;log-&gt;action after calling ngx_http_free_request().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When variables are used in ssl_certificate or ssl_certificate_key, a request
is created in the certificate callback to evaluate the variables, and then
freed.  Freeing it, however, updates c-&gt;log-&gt;action to "closing request",
resulting in confusing error messages like "client timed out ... while
closing request" when a client times out during the SSL handshake.

Fix is to restore c-&gt;log-&gt;action after calling ngx_http_free_request().
</pre>
</div>
</content>
</entry>
<entry>
<title>Stream: the "fastopen" parameter of the "listen" directive.</title>
<updated>2021-05-20T16:59:16+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2021-05-20T16:59:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ecbe06b9fee57207d84be9ac39d1aa10b2d0fbd8'/>
<id>ecbe06b9fee57207d84be9ac39d1aa10b2d0fbd8</id>
<content type='text'>
Based on a patch by Anbang Wen.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Based on a patch by Anbang Wen.
</pre>
</div>
</content>
</entry>
</feed>
