]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-h1: Handle connection error after a synchronous send
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 8 Jul 2022 13:20:31 +0000 (15:20 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 8 Jul 2022 14:37:31 +0000 (16:37 +0200)
commit372b38f9351b31bd107452d5f3598fc58be32e8a
tree7b95a6b3d76146e376eb41836f82b5053bcaa288
parent52fc0cbaadf01a91b18465034b58c32188f7606a
BUG/MEDIUM: mux-h1: Handle connection error after a synchronous send

Since commit d1480cc8 ("BUG/MEDIUM: stream-int: do not rely on the
connection error once established"), connection errors are not handled
anymore by the stream-connector once established. But it is a problem for
the H1 mux when an error occurred during a synchronous send in
h1_snd_buf(). Because in this case, the connction error is just missed. It
leads to a session leak until a timeout is reached (client or server).

To fix the bug, the connection flags are now checked in h1_snd_buf(). If
there is an error, it is reported to the stconn level by setting SF_FL_ERROR
flags. But only if there is no pending data in the input buffer.

This patch should solve the issue #1774. It must be backported as far as
2.2.
src/mux_h1.c