]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: quic: use proper error code on missing CID in TPs
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 6 May 2025 14:45:23 +0000 (16:45 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 7 May 2025 13:20:06 +0000 (15:20 +0200)
commitdf6bd4909e8dfa64337662a78adc39ca702c1dc7
tree12de7eac2c4c49f9d82a4dae27a6001d1d37d5e5
parent294bf26c06404e35edd4ad3381ccb26e835bd7a1
BUG/MINOR: quic: use proper error code on missing CID in TPs

Handle missing received transport parameter value
initial_source_connection_id / original_destination_connection_id.
Previously, such case would result in an error reported via
quic_transport_params_store(), which triggers a TLS alert converted as
expected as a CONNECTION_CLOSE. The issue is that the error code
reported in the frame was incorrect.

Fix this by returning QUIC_TP_DEC_ERR_INVAL for such conditions. This is
directly handled via quic_transport_params_store() which set the proper
TRANSPORT_PARAMETER_ERROR code for the CONNECTION_CLOSE. However, no
error is reported so the SSL handshake is properly terminated without a
TLS alert. This is enough to ensure that the CONNECTION_CLOSE frame will
be emitted as expected.

This should be backported up to 2.6. Note that is relies on previous
patch "MINOR: quic: extend return value on TP parsing".
src/quic_tp.c