]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: quic: late packets of the first key phase are dropped
authorFrederic Lecaille <flecaille@haproxy.com>
Mon, 31 Aug 2026 14:53:48 +0000 (16:53 +0200)
committerFrederic Lecaille <flecaille@haproxy.com>
Mon, 31 Aug 2026 16:33:17 +0000 (18:33 +0200)
commit42f316c3fdcd0316c7eb5ac0c9708e54c76ee89f
tree1c56245d5959255c25bb15efeeb9753abec6ea51
parentb16b2a2af0b8a5c0d4112f4d9f64937b65129d89
BUG/MINOR: quic: late packets of the first key phase are dropped

qc_pkt_decrypt() tests <qc->ku.prv_rx.pn> to know whether the previous key
phase secrets are usable. This number comes from <tls_ctx->rx.pn>, which is
only set on a key phase change and is thus still 0 during the first key phase.
After the first key update the test always fails and every late packet of the
initial key phase is dropped instead of being decrypted with the previous keys.

Test <qc->ku.prv_rx.ctx> instead: it is NULL before the first key update, and
set after it.

This bug was introduced by commit a7d2c0946 ("MINOR: quic: Enable the Key
Update process").

This must be backported as far as 2.6.
src/quic_rx.c