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.
This commit is contained in:
Christopher Faulet 2024-02-29 14:27:45 +01:00
parent e2a44d6c94
commit 573ed242e3

View File

@ -3969,13 +3969,21 @@ out_uri_auth_compat:
int mode = conn_pr_mode_to_proto_mode(curproxy->mode); int mode = conn_pr_mode_to_proto_mode(curproxy->mode);
const struct mux_proto_list *mux_ent; const struct mux_proto_list *mux_ent;
if (!bind_conf->mux_proto) { if (bind_conf->xprt && bind_conf->xprt == xprt_get(XPRT_QUIC)) {
/* No protocol was specified. If we're using QUIC at the transport if (!bind_conf->mux_proto) {
* layer, we'll instantiate it as a mux as well. If QUIC is not /* No protocol was specified. If we're using QUIC at the transport
* compiled in, this will remain NULL. * 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)) */
bind_conf->mux_proto = get_mux_proto(ist("quic")); 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) if (!bind_conf->mux_proto)