]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: stconn: Block zero-copy forwarding if EOS/ERROR on consumer side
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 11 Dec 2023 12:56:15 +0000 (13:56 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 13 Dec 2023 15:45:29 +0000 (16:45 +0100)
commit2421c6fa7db5b06109a88bffa411c8ba8f948384
tree53352edc19fafab0f3e67a205d4a84b649076011
parentdd58dff1e64fa382d368958469506c296454fde6
BUG/MEDIUM: stconn: Block zero-copy forwarding if EOS/ERROR on consumer side

When the producer side (h1 for now) negociates with the consumer side to
perform a zero-copy forwarding, we now consider the consumer side as blocked
if it is closed and this was reported to the SE via a end-of-stream or a
(pending) error.

It is performed before calling ->nego_ff callback function, in se_nego_ff().
This way, all consumer are concerned automatically. The aim of this patch is
to fix an issue with the QUIC mux. Indeed, it is unexpected to send a frame
on an closed stream. This triggers a BUG_ON(). Other muxes are not affected
but it remains useless to try to send data if the stream is closed.

This patch should fix the issue #2372. It must be backported to 2.9.
include/haproxy/stconn.h