mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-09 10:56:12 -04:00
MEDIUM: connections: Really enforce mux protocol requirements
Commit 1b0dfff552 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
1 changed files with 3 additions and 2 deletions
|
|
@ -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…
Reference in a new issue