]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: quic: Missing header protection AES cipher context initialisations (draft-v2)
authorFrédéric Lécaille <flecaille@haproxy.com>
Mon, 29 Aug 2022 14:42:06 +0000 (16:42 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 29 Aug 2022 16:46:40 +0000 (18:46 +0200)
commitc242832af31315315a0c8791af96aad5caa0ec38
tree4e7314986fceaf543f6bf8d63bacfdde64be5737
parentc6fc77404e70d62e8b425568c55dc971cbd516d7
BUG/MINOR: quic: Missing header protection AES cipher context initialisations (draft-v2)

This bug arrived with this commit:
   "MINOR: quic: Add reusable cipher contexts for header protection"

haproxy could crash because of missing cipher contexts initializations for
the header protection and draft-v2 Initial secrets. This was due to the fact
that these initialization both for RX and TX secrets were done outside of
qc_new_isecs(). The role of this function is definitively to initialize these
cipher contexts in addition to the derived secrets. Indeed this function is called
by qc_new_conn() which initializes the connection but also by qc_conn_finalize()
which also calls qc_new_isecs() in case of a different QUIC version was negotiated
by the peers from the one used by the client for its first Initial packet.

This was reported by "v2" QUIC interop test with at least picoquic as client.

Must be backported to 2.6.
include/haproxy/quic_tls.h
src/xprt_quic.c