]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-h2/htx: Always set CS flags before exiting h2_rcv_buf()
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 14 Feb 2019 14:12:14 +0000 (15:12 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 18 Feb 2019 15:25:06 +0000 (16:25 +0100)
commit37070b2b152d5d66c101b4d03ddc5dbc5c0e9f5d
tree980cb6b71fcf81491f69e75d7a0aed90db7b6f0d
parent9efa7b8ba8885ae796de62e079d4fd0ae259c11c
BUG/MEDIUM: mux-h2/htx: Always set CS flags before exiting h2_rcv_buf()

It is especially important when some data are blocked in the RX buf and the
channel buffer is already full. In such case, instead of exiting the function
directly, we need to set right flags on the conn_stream. CS_FL_RCV_MORE and
CS_FL_WANT_ROOM must be set, otherwise, the stream-interface will subscribe to
receive events, thinking it is not blocked.

This bug leads to connection freeze when everything was received with some data
blocked in the RX buf and a channel full.

This patch must be backported to 1.9.
src/mux_h2.c