BUG/MINOR: http-check: Don't set HTX_SL_F_BODYLESS flag with a log-format body

When the HTTP request of a health-check is forged, we must not pretend there
is no payload, by setting HTX_SL_F_BODYLESS, if a log-format body was
configured.

Indeed, a test on the body length was used but it is only valid for a plain
string. For A log-format string, a list is used. Note it an bug with no
consequence for now.

This patch must be backported as far as 2.2.

(cherry picked from commit 0506d9de512291ed2526654800b98a2317a67b6d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit dd931360c79520aef02394a8027e67cea975b4a2)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit e28170bfcc885e3bcea98314d22236b3781309e7)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit efeaaa5a2d90c1bd06d5d533862d5f8fbfdbd7c8)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/tcpcheck.c b/src/tcpcheck.c
index 6bfb601..3a15f5c 100644
--- a/src/tcpcheck.c
+++ b/src/tcpcheck.c
@@ -1415,7 +1415,7 @@
 		    (istlen(vsn) == 8 && (*(vsn.ptr+5) > '1' || (*(vsn.ptr+5) == '1' && *(vsn.ptr+7) >= '1'))))
 			slflags |= HTX_SL_F_VER_11;
 		slflags |= (HTX_SL_F_XFER_LEN|HTX_SL_F_CLEN);
-		if (!isttest(send->http.body))
+		if (!(send->http.flags & TCPCHK_SND_HTTP_FL_BODY_FMT) && !isttest(send->http.body))
 			slflags |= HTX_SL_F_BODYLESS;
 
 		htx = htx_from_buf(&check->bo);