mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 12:41:00 +02:00
MEDIUM: connections: Really enforce mux protocol requirements
Commit 1b0dfff552713274b95c81594b153104e215ec81 attempted to make it so the mux would expect a QUIC-like protocol or not, however it only made that we would not instantiate a non-QUIC mux on a QUIC protocol, but not that we tried to instance a QUIC mux on a non-QUIC protocol, so fix that.
This commit is contained in:
parent
052feec33f
commit
2eefd489c2
@ -616,10 +616,11 @@ static inline const struct mux_proto_list *conn_get_best_mux_entry(
|
||||
struct mux_proto_list *fallback = NULL;
|
||||
|
||||
list_for_each_entry(item, &mux_proto_list.list, list) {
|
||||
if (!(item->side & proto_side) || !(item->mode & proto_mode) || (proto_is_quic && !(item->mux->flags & MX_FL_FRAMED)))
|
||||
if (!(item->side & proto_side) || !(item->mode & proto_mode) || ((proto_is_quic != 0) != ((item->mux->flags & MX_FL_FRAMED) != 0)))
|
||||
continue;
|
||||
if (istlen(mux_proto) && isteq(mux_proto, item->token))
|
||||
if (istlen(mux_proto) && isteq(mux_proto, item->token)) {
|
||||
return item;
|
||||
}
|
||||
else if (!istlen(item->token)) {
|
||||
if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
|
||||
fallback = item;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user