From 8bf8fda49b953e8e9f978e596a1a9a3eb07fc97c Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 28 Apr 2020 09:10:19 +0200 Subject: [PATCH] MINOR: checks: Support HTTP/2 version (without '.0') for http-check send rules The version is partially parsed to set the flag HTX_SL_F_VER_11 on the HTX message. But exactly 8 chars is expected. So if "HTTP/2" is specified, the flag is not set. Thus, the version parsing has been updated to handle "HTTP/2" and "HTTP/2.0" the same way. --- src/checks.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/checks.c b/src/checks.c index 36aa71883..0b934b663 100644 --- a/src/checks.c +++ b/src/checks.c @@ -1916,8 +1916,8 @@ static enum tcpcheck_eval_ret tcpcheck_eval_send(struct check *check, struct tcp uri = (isttest(send->http.uri) ? send->http.uri : ist("/")); // TODO: handle uri_fmt vsn = (isttest(send->http.vsn) ? send->http.vsn : ist("HTTP/1.0")); - if (istlen(vsn) == 8 && - (*(vsn.ptr+5) > '1' || (*(vsn.ptr+5) == '1' && *(vsn.ptr+7) >= '1'))) + if ((istlen(vsn) == 6 && *(vsn.ptr+5) == '2') || + (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))