mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-16 08:24:42 +00:00
BUG/MEDIUM: http: remove content-length form responses with bad transfer-encoding
The spec mandates that content-length must be removed from messages if Transfer-Encoding is present, not just for valid ones. This must be backported to 1.5 and 1.4.
This commit is contained in:
parent
34dfc60571
commit
b4d0c03aee
@ -6235,12 +6235,11 @@ int http_wait_for_response(struct stream *s, struct channel *rep, int an_bit)
|
||||
|
||||
/* Chunked responses must have their content-length removed */
|
||||
ctx.idx = 0;
|
||||
if (msg->flags & HTTP_MSGF_TE_CHNK) {
|
||||
if (use_close_only || (msg->flags & HTTP_MSGF_TE_CHNK)) {
|
||||
while (http_find_header2("Content-Length", 14, rep->buf->p, &txn->hdr_idx, &ctx))
|
||||
http_remove_header2(msg, &txn->hdr_idx, &ctx);
|
||||
}
|
||||
else while (!use_close_only &&
|
||||
http_find_header2("Content-Length", 14, rep->buf->p, &txn->hdr_idx, &ctx)) {
|
||||
else while (http_find_header2("Content-Length", 14, rep->buf->p, &txn->hdr_idx, &ctx)) {
|
||||
signed long long cl;
|
||||
|
||||
if (!ctx.vlen) {
|
||||
|
Loading…
Reference in New Issue
Block a user