BUG/MEDIUM: filters: Forward all filtered data at the end of http filtering
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 16 Nov 2020 09:10:38 +0000 (10:10 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 18 Nov 2020 12:54:49 +0000 (13:54 +0100)
commitb1411cd7ad2f07754c3b2f6eb5fd36701decc2f8
tree84b980c8fdf2c133bb867b3ae4edccc1f0961e95
parenteaedb767a7b2fbe2de2603b46ecdd6a89034318f
BUG/MEDIUM: filters: Forward all filtered data at the end of http filtering

When http filtering ends, if there are some filtered data not forwarded yet, we
forward them, in flt_http_end(). Most of time, this doesn't happen, except when
a tunnel is established using a CONNECT. In this case, there is not EOM on the
request and there is no body. Thus the headers are never forwarded, blocking the
stream.

This patch must be backported as far as 2.0. Prior versions don't suffer of this
bug because there is no HTX support. On the 2.0, the change is only applicable
on HTX streams. A special test must be performed to make sure.

(cherry picked from commit 22fca1f2c84334096e38d78ffc674be19c3e0292)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 44ba5dbe6ee29b7c37630bca57a2f2c1fd1daa35)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 4986f0fbc882c132a174464c7a12314ca9f48846)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
src/filters.c