BUG/MAJOR: http: compression still has defects on chunked responses

The compression state machine happens to start work it cannot undo if
there's no more data in the input buffer, and has trouble accounting
for it. Fixing it requires more than a few lines, as the confusion is
in part caused by the way the pointers to the various places in the
message are handled internally. So as a temporary fix, let's disable
compression on chunk-encoded responses. This will give us more time
to perform the required changes.
This commit is contained in:
Willy Tarreau 2013-04-09 08:13:58 +02:00
parent 04b3a19709
commit 667c2a3d2a

View File

@ -2073,6 +2073,10 @@ int select_compression_response_header(struct session *s, struct buffer *res)
if (!(msg->flags & HTTP_MSGF_TE_CHNK) && msg->body_len == 0)
goto fail;
/* TEMPORARY WORKAROUND: do not compress if response is chunked !!!!!! */
if (msg->flags & HTTP_MSGF_TE_CHNK)
goto fail;
/* content is already compressed */
ctx.idx = 0;
if (http_find_header2("Content-Encoding", 16, res->p, &txn->hdr_idx, &ctx))