From: Christopher Faulet Date: Thu, 29 Feb 2024 13:27:45 +0000 (+0100) Subject: BUG/MINOR: config/quic: Alert about PROXY protocol use on a QUIC listener X-Git-Tag: v3.0-dev5~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=573ed242e3ce5d80b84805ad9367cfe1ac6fb6ac;p=thirdparty%2Fhaproxy.git BUG/MINOR: config/quic: Alert about PROXY protocol use on a QUIC listener PROXY procotol is not supported on QUIC for now. Thus return an error during configuration parsing if 'accept-proxy' option is used for a QUIC listener. This patch should fix the issue #2186. It should be backport as far as 2.6. --- diff --git a/src/cfgparse.c b/src/cfgparse.c index 17ddf8246b..4d4d12cd9a 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -3969,13 +3969,21 @@ out_uri_auth_compat: int mode = conn_pr_mode_to_proto_mode(curproxy->mode); const struct mux_proto_list *mux_ent; - if (!bind_conf->mux_proto) { - /* No protocol was specified. If we're using QUIC at the transport - * layer, we'll instantiate it as a mux as well. If QUIC is not - * compiled in, this will remain NULL. - */ - if (bind_conf->xprt && bind_conf->xprt == xprt_get(XPRT_QUIC)) + if (bind_conf->xprt && bind_conf->xprt == xprt_get(XPRT_QUIC)) { + if (!bind_conf->mux_proto) { + /* No protocol was specified. If we're using QUIC at the transport + * layer, we'll instantiate it as a mux as well. If QUIC is not + * compiled in, this will remain NULL. + */ bind_conf->mux_proto = get_mux_proto(ist("quic")); + } + if (bind_conf->options & BC_O_ACC_PROXY) { + ha_alert("Binding [%s:%d] for %s %s: QUIC protocol does not support PROXY protocol yet." + " 'accept-proxy' option cannot be used with a QUIC listener.\n", + bind_conf->file, bind_conf->line, + proxy_type_str(curproxy), curproxy->id); + cfgerr++; + } } if (!bind_conf->mux_proto)