]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: quic-be: missing version negotiation
authorFrederic Lecaille <flecaille@haproxy.com>
Fri, 14 Nov 2025 16:21:53 +0000 (17:21 +0100)
committerFrederic Lecaille <flecaille@haproxy.com>
Fri, 14 Nov 2025 16:37:34 +0000 (17:37 +0100)
commitf0c52f716050df1d2bbc3b3dc7183400c1931ac6
tree3e0f2e14182b42e800028ac7a14ddcca07a4000d
parent0746aa68b896b8b847cbcc238b377da06ff1ed8a
BUG/MINOR: quic-be: missing version negotiation

This bug impacts only the QUIC clients (or backends). The version negotiation
was not supported at all for them. This is an oversight.

Contrary to the QUIC server which choose the negotiated version after having
received the transport parameters (into ClientHello message) the client selects
the negotiated version from the first Initial packet version field. Indeed, the
server transport parameters are inside the ServerHello messages ciphered
into Handshake packets.

This non intrusive patch does not impact the QUIC server implementation.
It only selects the negotiated version from the first Initial packet
received from the server and consequently initializes the TLS cipher context.

Thank you to @InputOutputZ for having reporte this issue in GH #3178.

No need to backport because the QUIC backends support arrives with 3.3.
src/quic_rx.c