]> git.kaiwu.me - nginx.git/commit
Request body: block write events while reading body.
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 26 Nov 2012 18:01:49 +0000 (18:01 +0000)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 26 Nov 2012 18:01:49 +0000 (18:01 +0000)
commite769544a7dc54e224fa0ef681c36ede12f65d74b
treef6e98213b077da1c03df15d044a4256a05828ce0
parentaa955a20970580925122a7d599e32ff3e68a87bd
Request body: block write events while reading body.

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
src/http/ngx_http_request_body.c