From 0506d9de512291ed2526654800b98a2317a67b6d Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 28 Feb 2023 18:44:14 +0100 Subject: [PATCH] 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. --- src/tcpcheck.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tcpcheck.c b/src/tcpcheck.c index bfe3a2c63..07d16aa5d 100644 --- a/src/tcpcheck.c +++ b/src/tcpcheck.c @@ -1412,7 +1412,7 @@ enum tcpcheck_eval_ret tcpcheck_eval_send(struct check *check, struct tcpcheck_r (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);