]> git.kaiwu.me - haproxy.git/commit
MEDIUM: quic/mux-quic: adjust app-ops install
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 3 Mar 2026 08:47:29 +0000 (09:47 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 3 Mar 2026 15:22:57 +0000 (16:22 +0100)
commit940e1820f6f3138f3d03a6e4167059b3772f18cc
tree7eabf17c44c9edab332ef1c9a0f915d389d1614c
parent9c7cf1c68490610283811a0ef9aeec6accc6546d
MEDIUM: quic/mux-quic: adjust app-ops install

This patch reworks the installation of app-ops layer by QUIC MUX.
Previously, app_ops field was stored directly into the quic_conn
structure. Then the MUX reused it directly during its qmux_init().

This patch removes app_ops field from quic_conn and replaces it with a
copy of the negotiated ALPN. By using quic_alpn_to_app_ops(), it ensures
it remains compatible with a known application layer.

On the MUX layer, qcc_install_app_ops() now uses the standard
conn_get_alpn() to retrieve the ALPN from the transport layer. This is
done via the newly defined <get_alpn> QUIC xprt callback.

This new architecture should be cleaner as it better highlights the
responsibility of each layers in the ALPN/app negotiation.
include/haproxy/mux_quic-t.h
include/haproxy/mux_quic.h
include/haproxy/quic_conn-t.h
include/haproxy/quic_conn.h
src/h3.c
src/hq_interop.c
src/mux_quic.c
src/quic_conn.c
src/quic_ssl.c
src/ssl_sock.c
src/xprt_quic.c