<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git, branch release-1.3.9</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>nginx-1.3.9-RELEASE</title>
<updated>2012-11-27T13:55:34+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-27T13:55:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ea235785cd3caec4cf50c61a514fbed3c21f7c6e'/>
<id>ea235785cd3caec4cf50c61a514fbed3c21f7c6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Gunzip: added missing ngx_http_clear_etag().</title>
<updated>2012-11-26T21:30:45+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-26T21:30:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0c563970bea58a0af9a0df3bdc2518eb65199bd3'/>
<id>0c563970bea58a0af9a0df3bdc2518eb65199bd3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: fixed ngx_write_chain_to_file() with IOV_MAX reached.</title>
<updated>2012-11-26T21:19:57+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-26T21:19:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1469b5145142ba2096e7c3467e867e8bf67cab25'/>
<id>1469b5145142ba2096e7c3467e867e8bf67cab25</id>
<content type='text'>
Catched by dav_chunked.t on Solaris.  In released versions this might
potentially result in corruption of complex protocol responses if they
were written to disk and there were more distinct buffers than IOV_MAX
in a single write.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catched by dav_chunked.t on Solaris.  In released versions this might
potentially result in corruption of complex protocol responses if they
were written to disk and there were more distinct buffers than IOV_MAX
in a single write.
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: block write events while reading body.</title>
<updated>2012-11-26T18:01:49+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-26T18:01:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e769544a7dc54e224fa0ef681c36ede12f65d74b'/>
<id>e769544a7dc54e224fa0ef681c36ede12f65d74b</id>
<content type='text'>
If write events are not blocked, an extra write event might happen for
various reasons (e.g. as a result of a http pipelining), resulting in
incorrect body being passed to a post handler.

The problem manifested itself with the dav module only, as this is
the only module which reads the body from a content phase handler (in
contrast to exclusive content handlers like proxy).  Additionally, dav
module used to dump core in such situations due to ticket #238.

See reports here:

http://mailman.nginx.org/pipermail/nginx-devel/2012-November/002981.html
http://serverfault.com/questions/449195/nginx-webdav-server-with-auth-request
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If write events are not blocked, an extra write event might happen for
various reasons (e.g. as a result of a http pipelining), resulting in
incorrect body being passed to a post handler.

The problem manifested itself with the dav module only, as this is
the only module which reads the body from a content phase handler (in
contrast to exclusive content handlers like proxy).  Additionally, dav
module used to dump core in such situations due to ticket #238.

See reports here:

http://mailman.nginx.org/pipermail/nginx-devel/2012-November/002981.html
http://serverfault.com/questions/449195/nginx-webdav-server-with-auth-request
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: error checking fixes, negative rb-&gt;rest handling.</title>
<updated>2012-11-26T18:01:08+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-26T18:01:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=aa955a20970580925122a7d599e32ff3e68a87bd'/>
<id>aa955a20970580925122a7d599e32ff3e68a87bd</id>
<content type='text'>
Negative rb-&gt;rest can't happen with current code, but it's good to have
it handled anyway.

Found by Coverity (CID 744846, 744847, 744848).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Negative rb-&gt;rest can't happen with current code, but it's good to have
it handled anyway.

Found by Coverity (CID 744846, 744847, 744848).
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: improved handling of incorrect chunked request body.</title>
<updated>2012-11-26T18:00:14+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-26T18:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c4a4a6a5d8f5f110d2f8203052dc1861aedb061f'/>
<id>c4a4a6a5d8f5f110d2f8203052dc1861aedb061f</id>
<content type='text'>
While discarding chunked request body in some cases after detecting
request body corruption no error was returned, while it was possible
to correctly return 400 Bad Request.  If error is detected too late,
make sure to properly close connection.

Additionally, in ngx_http_special_response_handler() don't return body
of 500 Internal Server Error to a client if ngx_http_discard_request_body()
fails, but disable keepalive and continue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While discarding chunked request body in some cases after detecting
request body corruption no error was returned, while it was possible
to correctly return 400 Bad Request.  If error is detected too late,
make sure to properly close connection.

Additionally, in ngx_http_special_response_handler() don't return body
of 500 Internal Server Error to a client if ngx_http_discard_request_body()
fails, but disable keepalive and continue.
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: fixed discard of chunked request body.</title>
<updated>2012-11-26T17:59:30+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-26T17:59:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=61feb90d74b9373a9089a09bbbb8c04629672d4f'/>
<id>61feb90d74b9373a9089a09bbbb8c04629672d4f</id>
<content type='text'>
Even if there is no preread data, make sure to always call
ngx_http_discard_request_body_filter() in case of chunked request
body to initialize r-&gt;headers_in.content_length_n for later use.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Even if there is no preread data, make sure to always call
ngx_http_discard_request_body_filter() in case of chunked request
body to initialize r-&gt;headers_in.content_length_n for later use.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: don't reuse shared memory zone that changed ownership (ticket #210).</title>
<updated>2012-11-23T12:43:58+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2012-11-23T12:43:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=a94a101c79a4d6d14eaffb210d2e7d0afb3de7b0'/>
<id>a94a101c79a4d6d14eaffb210d2e7d0afb3de7b0</id>
<content type='text'>
nginx doesn't allow the same shared memory zone to be used for different
purposes, but failed to check this on reconfiguration.  If a shared memory
zone was used for another purpose in the new configuration, nginx attempted
to reuse it and crashed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nginx doesn't allow the same shared memory zone to be used for different
purposes, but failed to check this on reconfiguration.  If a shared memory
zone was used for another purpose in the new configuration, nginx attempted
to reuse it and crashed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed location of debug message in ngx_shmtx_lock().</title>
<updated>2012-11-21T14:23:26+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2012-11-21T14:23:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9f385870f663ff48a511e07e63e85d28737c3384'/>
<id>9f385870f663ff48a511e07e63e85d28737c3384</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: unbreak build without debug.</title>
<updated>2012-11-21T01:40:11+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-21T01:40:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=542b60a35a26b42fb24be70816d5502db7b6eaa0'/>
<id>542b60a35a26b42fb24be70816d5502db7b6eaa0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
