Commit f2b152c
committed
MEDIUM: ssl: allow h3/QMux negotiation without explicit proto
Implements automatic selection of QMux MUX if "h3" ALPN has been
negotiated on top of TCP/SSL.
The first part of this change is to define "alpn" member of
mux_proto_list. This is necessary so that conn_get_best_mux_entry() can
select it when "h3" has been chosen. As a side-effect, this also
automatically sets a default ALPN to "h3" for bind lines with "proto
qmux".
The most important change is to adapt the SSL layer. On handshake
completion, the eligible MUX is retrieved via conn_select_mux_fe/be()
functions. If xprt_qmux is required by it, MUX init is delayed and QMux
handshake is started first.
This last change is necessary as connection flags CO_FL_QMUX_RECV/SEND
are only set if "proto qmux" is explicitely set. In case xprt_qmux is
activated via pure ALPN negotiation, these flags are also set on
xprt_qmux_init(). This is mandatory to ensure emission/reception of QMux
transport parameters will be performed as expected.1 parent e30bcfe commit f2b152c
3 files changed
Lines changed: 18 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4814 | 4814 | | |
4815 | 4815 | | |
4816 | 4816 | | |
4817 | | - | |
| 4817 | + | |
4818 | 4818 | | |
4819 | 4819 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6962 | 6962 | | |
6963 | 6963 | | |
6964 | 6964 | | |
| 6965 | + | |
6965 | 6966 | | |
6966 | 6967 | | |
6967 | 6968 | | |
6968 | | - | |
| 6969 | + | |
| 6970 | + | |
| 6971 | + | |
| 6972 | + | |
| 6973 | + | |
6969 | 6974 | | |
6970 | 6975 | | |
6971 | 6976 | | |
| |||
6983 | 6988 | | |
6984 | 6989 | | |
6985 | 6990 | | |
6986 | | - | |
| 6991 | + | |
| 6992 | + | |
| 6993 | + | |
| 6994 | + | |
| 6995 | + | |
6987 | 6996 | | |
| 6997 | + | |
6988 | 6998 | | |
6989 | 6999 | | |
6990 | 7000 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
303 | 308 | | |
304 | 309 | | |
305 | 310 | | |
| |||
0 commit comments