]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-h1: Close client H1C on EOS when there is no output data
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 29 Nov 2022 16:16:30 +0000 (17:16 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 29 Nov 2022 16:25:02 +0000 (17:25 +0100)
commit061a098c5c2b559a2b208d9c67145d98400ada2d
treeb48ccd0663af0d9d39530e57f27c6b712942bf44
parent5a63e72840b4dfba52eff8f4e01041f7232f6a3d
BUG/MEDIUM: mux-h1: Close client H1C on EOS when there is no output data

If the client closes the connection while there is no pending outgoing data,
the H1 connection must be released. However, it was switched to CLOSING
state instead. Thus the client connection was closed on client timeout.

It is side effect of the commif d1b573059a ("MINOR: mux-h1: Avoid useless
call to h1_send() if no error is sent"). Before, the extra call to h1_send()
was able to fix the H1C state.

To fix the bug and make switch to close state (CLOSING or CLOSED) less
errorprone, h1_close() helper function is systematically used.

It is a 2.7-specific bug. No backport needed.
src/mux_h1.c