]> git.kaiwu.me - nginx.git/commit
HTTP/2: fixed timers left after request body reading.
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 6 Sep 2021 11:54:48 +0000 (14:54 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 6 Sep 2021 11:54:48 +0000 (14:54 +0300)
commit584a30b4d51302755c5600892fc293b1586985f7
tree4659b773e84120daed4b5dc4fc3e2982ab39252f
parent27fb6cdb9f7aa9d6258251d565b199e2a15f5286
HTTP/2: fixed timers left after request body reading.

Following rb->filter_need_buffering changes, request body reading is
only finished after the filter chain is called and rb->last_saved is set.
As such, with r->request_body_no_buffering, timer on fc->read is no
longer removed when the last part of the body is received, potentially
resulting in incorrect behaviour.

The fix is to call ngx_http_v2_process_request_body() from the
ngx_http_v2_read_unbuffered_request_body() function instead of
directly calling ngx_http_v2_filter_request_body(), so the timer
is properly removed.
src/http/v2/ngx_http_v2.c