]> git.kaiwu.me - haproxy.git/commit
BUG/MEDIUM: stconn: Forward shutdown on write timeout only if it is forwardable
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 5 Jan 2024 15:48:40 +0000 (16:48 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 5 Jan 2024 16:28:06 +0000 (17:28 +0100)
commit7eb7ae283557d8467403b9db35605861a0870add
tree22323fcd47a485b5165ff3de6da4f18902335444
parent8df47442d2f866f50f16d62fb05fb8ad02949b7a
BUG/MEDIUM: stconn: Forward shutdown on write timeout only if it is forwardable

The commit b9c87f8082 ("BUG/MEDIUM: stconn/stream: Forward shutdown on write
timeout") introduced a regression. In sc_cond_forward_shut(), the write
timeout is considered too early to forward the shutdown. In fact, it is
always considered, even if the shutdown is not forwardable yet. It is of
course unexpected. It is especially an issue when a write timeout is
encountered on server side during the connection establishment. In this
case, if shutdown is forwarded too early on the client side, the connection
is closed before the 503 error sending.

So the write timeout must indeed be considered to forward the shutdown to
the underlying layer, but only if the shutdown is forwardable. Otherwise, we
should do nothing.

This patch should fix the issue #2404. It must be backported as far as 2.2.
src/stconn.c