]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: mux-h1: Be sure to set CS_FL_WANT_ROOM when EOM can't be added
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 6 Dec 2019 14:59:05 +0000 (15:59 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 9 Dec 2019 08:30:50 +0000 (09:30 +0100)
commit7aae858001f99dd4a80e3f533284cda5702d501a
treefd7873ed971d8cb34c5c01bbe1fdd83b974b173d
parenta45a8b5171d6fdf5176493d6fb6388dad72a6d86
BUG/MINOR: mux-h1: Be sure to set CS_FL_WANT_ROOM when EOM can't be added

During the message parsing, when the HTX buffer is full and only the HTX EOM
block cannot be added, it is important to notify the conn-stream that some
processing must still be done but it is blocked because there is not enough room
in the buffer. The way to do so is to set the CS_FL_WANT_ROOM flag on the
conn-stream. Otherwise, because all data are received and consumed, the mux is
not called anymore to add this last block, leaving the message unfinished from
the HAProxy point of view. The only way to unblock it is to receive a shutdown
for reads or to hit a timeout.

This patch must be backported to 2.1 and 2.0. The 1.9 does not seem to be
affected.
src/mux_h1.c