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>
(cherry picked from commit 611bfc4356544a44a1fc11024eee3eac4de1293d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 01740c1794ed9b1dfdc90d7e03e3214cc81c16bc)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/mux_h1.c b/src/mux_h1.c
index 9bb3d3a..f407492 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -2133,7 +2133,7 @@
 					/* 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;
 						}