<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/http, branch release-1.3.9</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<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>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>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>
<entry>
<title>Request body: chunked transfer encoding support.</title>
<updated>2012-11-21T01:08:11+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-21T01:08:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=5fc85439d0c6d55ff74ebba55d54d9c4e0bc6044'/>
<id>5fc85439d0c6d55ff74ebba55d54d9c4e0bc6044</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: recalculate size of a request body in scgi module.</title>
<updated>2012-11-21T01:06:53+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-21T01:06:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d60b8d10f0d39510008d8f5017ee2bf259a488db'/>
<id>d60b8d10f0d39510008d8f5017ee2bf259a488db</id>
<content type='text'>
This allows to handle requests with chunked body by scgi module, and
also simplifies handling of various request body modifications.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to handle requests with chunked body by scgi module, and
also simplifies handling of various request body modifications.
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: $content_length variable to honor real body size.</title>
<updated>2012-11-21T01:05:08+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-21T01:05:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0ce5a3aa1898305db9cf33070a3b9eaec06a7021'/>
<id>0ce5a3aa1898305db9cf33070a3b9eaec06a7021</id>
<content type='text'>
This allows to handle requests with chunked body by fastcgi and uwsgi
modules, and also simplifies handling of various request body modifications.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to handle requests with chunked body by fastcgi and uwsgi
modules, and also simplifies handling of various request body modifications.
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: always use calculated size of a request body in proxy.</title>
<updated>2012-11-21T01:03:48+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-11-21T01:03:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9a483c8373e6c5fcdf5354f1698343c99f45d0e8'/>
<id>9a483c8373e6c5fcdf5354f1698343c99f45d0e8</id>
<content type='text'>
This allows to handle requests with chunked body, and also simplifies
handling of various request body modifications.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to handle requests with chunked body, and also simplifies
handling of various request body modifications.
</pre>
</div>
</content>
</entry>
</feed>
