]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: http: Fix blocked HTTP/1.0 responses when compression is enabled
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 30 Mar 2017 08:54:35 +0000 (10:54 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 31 Mar 2017 12:40:42 +0000 (14:40 +0200)
commit69744d92a308f22936f4854447a85ed4d2b09dec
tree9e6eaf16c8d836d99c72da1798cb7882917751b2
parent814d2703607fd994505ecd8e2e6480e83e20162e
BUG/MEDIUM: http: Fix blocked HTTP/1.0 responses when compression is enabled

When the compression filter is enabled, if a HTTP/1.0 response is received (no
content-length and no transfer-encoding), no data are forwarded to the client
because of a bug and the transaction is blocked indefinitly.

The bug comes from the fact we need to synchronize the end of the request and
the response because of the compression filter. This inhibits the infinite
forwarding of data. But for these responses, the compression is not
activated. So the response body is not analyzed. This leads to a deadlock.

The solution is to enable the analyze of the response body in all cases and
handle this one to enable the infinite forwarding. All other cases should
already by handled.

This fix should be backported to 1.7.
src/proto_http.c