From: Amaury Denoyelle Date: Tue, 9 Sep 2025 08:46:47 +0000 (+0200) Subject: BUG/MINOR: check: ensure checks are compatible with QUIC servers X-Git-Tag: v3.3-dev9~183 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cd3027a7ee3bc8ab386a1cd28291905cf8b22234;p=thirdparty%2Fhaproxy.git BUG/MINOR: check: ensure checks are compatible with QUIC servers Previously, checks were only performed on TCP. However, QUIC is now supported on backend. Prior to this patch, check activation for QUIC servers would result in a crash. To ensure compatibility between QUIC servers and checks, adjust protocol_lookup() performed during check connect step. Instead of using a hardcoded PROTO_TYPE_STREAM, the value is now derived from server settings. This does not need to be backported. --- diff --git a/src/tcpcheck.c b/src/tcpcheck.c index ce82ea507..0e7930dfc 100644 --- a/src/tcpcheck.c +++ b/src/tcpcheck.c @@ -1399,7 +1399,9 @@ enum tcpcheck_eval_ret tcpcheck_eval_connect(struct check *check, struct tcpchec *conn->dst = (is_addr(&connect->addr) ? connect->addr : (is_addr(&check->addr) ? check->addr : s->addr)); - proto = protocol_lookup(conn->dst->ss_family, PROTO_TYPE_STREAM, 0); + proto = s ? + protocol_lookup(conn->dst->ss_family, s->addr_type.proto_type, s->alt_proto) : + protocol_lookup(conn->dst->ss_family, PROTO_TYPE_STREAM, 0); port = 0; if (connect->port)