]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: http-ana: Don't wait to have an empty buf to switch in TUNNEL state
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 8 Jul 2022 07:22:17 +0000 (09:22 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 8 Jul 2022 14:37:31 +0000 (16:37 +0200)
commit52fc0cbaadf01a91b18465034b58c32188f7606a
tree4af9e816c92608e6710b11a2ca4957e90597e715
parent5966e4064156a10bca3a3051eb0a19b40c1ad0ed
BUG/MEDIUM: http-ana: Don't wait to have an empty buf to switch in TUNNEL state

When we want to establish a tunnel on a side, we wait to have flush all data
from the buffer. At this stage the other side is at least in DONE state. But
there is no real reason to wait. We are already in DONE state on its
side. So all the HTTP message was already forwarded or planned to be
forwarded. Depending on the scheduling if the mux already started to
transfer tunneled data, these data may block the switch in TUNNEL state and
thus block these data infinitly.

This bug exists since the early days of HTX. May it was mandatory but today
it seems useless. But I honestly don't remember why this prerequisite was
added. So be careful during the backports.

This patch should be backported with caution. At least as far as 2.4. For
2.2 and 2.0, it seems to be mandatory too. But a review must be performed.
src/http_ana.c