mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
Since the commit f2b02cfd9 ("MAJOR: http-ana: Review error handling during HTTP payload forwarding"), during the payload forwarding, we are analyzing a side, we stop to test the opposite side. It means when the HTTP request forwarding analyzer is called, we no longer check the response side and vice versa. Unfortunately, since then, the HTTP tunneling is broken after a protocol upgrade. On the response is switch in TUNNEL mode. The request remains in DONE state. As a consequence, data received from the server are forwarded to the client but not data received from the client. To fix the bug, when both sides are in DONE state, both are switched in same time in TUNNEL mode if it was requested. It is performed in the same way in http_end_request() and http_end_response(). This patch should fix the issue #2125. It is 2.8-specific. No backport needed.