]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-h2: Reinforce conditions to report an error to app-layer stream
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 9 Sep 2025 13:59:11 +0000 (15:59 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 9 Sep 2025 14:30:54 +0000 (16:30 +0200)
commitb901e56acdf1a89a57e1539dc045f3743b2f73dd
tree274469d12436926292735f07a8f6a5b45bd44a58
parent22e14f7b542750eb896b9049fd141621cac07ce2
BUG/MEDIUM: mux-h2: Reinforce conditions to report an error to app-layer stream

This patch relies on the previous one ("BUG/MEDIUM: mux-h2: Report RST/error to
app-layer stream during 0-copy fwding").

When the end of the connection is detected, so when the H2_CF_END_REACHED
flag is set after the shutdown was received and all incoming data were
processed, if a stream is blocked by the flow control (the stream one or the
connection one), an error must be reported to the app-layer stream.

Otherwise, outgoing data won't be sent and the opposite side will handle
this as a lack of room. So the stream will be blocked until the write
timeout is triggerd. By reporting the error early, the stream can be
immediately closed.

This patch should be backported to 3.2. For older versions, it is probably a
good idea to wait for bug report.
src/mux_h2.c