tree 4c8fa279085eb5a1f8bf9e945da6ba40b57ef453
parent f66258237cc5ea48448836c4296c222b325e5dcb
author Christopher Faulet <cfaulet@qualys.com> 1434697258 +0200
committer Willy Tarreau <w@1wt.eu> 1451317776 +0100
encoding latin1

BUG/MINOR: http: Be sure to process all the data received from a server

When the response body is forwarded, if the server closes the input before the
end, an error is thrown. But if the data processing is too slow, all data could
already be received and pending in the input buffer. So this is a bug to stop
processing in this context. The server doesn't really closed the input before
the end.

As an example, this could happen when HAProxy is configured to do compression
offloading. If the server closes the connection explicitly after the response
(keep-alive disabled by the server) and if HAProxy receives the data faster than
they are compressed, then the response could be truncated.

This patch fixes the bug by checking if some pending data remain in the input
buffer before returning an error. If yes, the processing continues.
