From: Christopher Faulet Date: Mon, 8 Feb 2021 08:34:35 +0000 (+0100) Subject: BUG/MINOR: mux-h1: Don't emit extra CRLF for empty chunked messages X-Git-Tag: v2.4-dev8~103 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=3d6e0e3e0421358303f1380d8c3fd062b509b921;p=haproxy-2.5.git BUG/MINOR: mux-h1: Don't emit extra CRLF for empty chunked messages Because of a buggy tests when processing the EOH HTX block, an extra CRLF is added for empty chunked messages. This bug was introduced by the commit d1ac2b90c ("MAJOR: htx: Remove the EOM block type and use HTX_FL_EOM instead"). This fix is specific for 2.4. No backport needed. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index 3837f7a..a480d42 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -2082,8 +2082,10 @@ static size_t h1_process_output(struct h1c *h1c, struct buffer *buf, size_t coun else { /* EOM flag is set and it is the last block */ if (htx_is_unique_blk(chn_htx, blk) && (chn_htx->flags & HTX_FL_EOM)) { - if ((h1m->flags & H1_MF_CHNK) && !chunk_memcat(&tmp, "\r\n0\r\n\r\n", 7)) - goto full; + if (h1m->flags & H1_MF_CHNK) { + if (!chunk_memcat(&tmp, "\r\n0\r\n\r\n", 7)) + goto full; + } else if (!chunk_memcat(&tmp, "\r\n", 2)) goto full; goto done;