]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: stream: Forward shutdowns when unhandled errors are caught
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 10 May 2023 14:28:38 +0000 (16:28 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 10 May 2023 14:45:36 +0000 (16:45 +0200)
commitb1368adcc781b3da4fd631566e14513f6e819fa3
tree1b02564e636d327548183ab520f034e0059408c1
parent862588a4b51dc99d6db6557ad7ce5fb9db66c17a
BUG/MEDIUM: stream: Forward shutdowns when unhandled errors are caught

In process_stream(), after request and response analyzers evaluation,
unhandled errors are processed, if any. In this case, depending on the case,
remaining request or response analyzers may be removed, unlesse the last one
about end of filters. However, auto-close is not reenabled in same
time. Thus it is possible to not forward the shutdown for a side to the
other one while no analyzer is there to do so or at least to make evolved
the situation.

In theory, it is thus possible to freeze a stream if no wakeup happens. And
it seems possible because it explain a freeze we've oberseved.

This patch could be backported to every stable versions but only after a
period of observation and if it may match an unexplained bug. It should not
lead to any loop but at worst and eventually to truncated messages.
src/stream.c