BUG/MINOR: mux-h1: Do not send a last null chunk on body-less answers
HEAD answers should not contain any body data. Currently when a "transfer-encoding: chunked" header is returned, a last null-chunk is added to the answer. Some clients choke on it and fail when trying to reuse the connection. Check that the response should not be body-less before sending the null-chunk. This patch should fix #1932. It must be backported as far as 2.4. (cherry picked from commit 226082d13a0d0b83114e933b3a63916b18f9824b) Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
This commit is contained in:
parent
7dbd951a95
commit
611bfc4356
@ -2355,7 +2355,7 @@ static size_t h1_process_mux(struct h1c *h1c, struct buffer *buf, size_t count)
|
||||
/* EOM flag is set or empty payload (C-L to 0) and it is the last block */
|
||||
if (htx_is_unique_blk(chn_htx, blk) &&
|
||||
((chn_htx->flags & HTX_FL_EOM) || ((h1m->flags & H1_MF_CLEN) && !h1m->curr_len))) {
|
||||
if (h1m->flags & H1_MF_CHNK) {
|
||||
if ((h1m->flags & H1_MF_CHNK) && !(h1s->flags & H1S_F_BODYLESS_RESP)) {
|
||||
if (!chunk_memcat(&tmp, "\r\n0\r\n\r\n", 7))
|
||||
goto full;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user