]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: mux-h1: Handle read0 in rcv_pipe() only when data receipt was tried
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 22 Sep 2023 07:18:40 +0000 (09:18 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 4 Oct 2023 13:34:18 +0000 (15:34 +0200)
commit331241b084a336b754ac2317f3d8a237953131df
treeebd1867931831ff9c7e3b79baf77f1db2b68a92f
parent2225cb660c008b4497647f34d7faa88574b55810
BUG/MINOR: mux-h1: Handle read0 in rcv_pipe() only when data receipt was tried

In rcv_pipe() callback we must be careful to not report the end of stream
too early because some data may still be present in the input buffer. If we
report a EOS here, this will block the subsequent call to rcv_buf() to
process remaining input data. This only happens when we try a last
rcv_pipe() when the xfer length is unknown and all data was already received
in the input buffer. Concretely this happens with a payload larger than a
buffer but lower than 2 buffers.

This patch must be backported as far as 2.7.
src/mux_h1.c