mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-11 01:26:58 +02:00
When the protocol is changed for a client connection at the stream level (from TCP to H1/H2), there are two cases. The stream may be reused or not. The first case, when the stream is reused is working. The second one is buggy since the conn-stream refactoring and leads to a crash. In this case, the new mux don't reuse the stream. It must be silently aborted. However, its front stream connector is still referencing the connection. So it must be detached. But it must be performed in two stages, to be sure to not loose the context for the upgrade and to be able to rollback on error. So now, before the upgrade, we prepare to detach the stconn and it is finally detached if the upgrade succeeds. There is a trick here. Because we pretend the stconn is detached but its state is preserved. This patch must be backported to 2.6. |
||
---|---|---|
.. | ||
haproxy | ||
import |