]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: quic: fix ACK_ECN parsing after optional ack ranges master
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 12 Nov 2026 17:48:14 +0000 (18:48 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 12 Nov 2026 18:10:42 +0000 (19:10 +0100)
commit4578f3f5a0e07abfd72124171434f8bea7d09228
tree883054248123c40d5f63c670b2e19a24880239e8
parent7bd09e9060e5b4e519dd7fb545670d864171e40f
BUG/MINOR: quic: fix ACK_ECN parsing after optional ack ranges

QUIC acknowledgements are conveyed in ACK and ACK_ECN frame types. The
latter shares a similar structure, but also contains 3 varints at the
end related to explicit congestion notification.

The following patch differentiates ACK and ACK_ECN to ensure the latter
is correctly parsed.

  7aa839296de9e6d330c6a952ae2197aa49db1c66
  BUG/MEDIUM: quic: fix ACK ECN frame parsing

However, ACK_ECN frame parsing is incorrect if the optional ack range
field is present. This patch fixes it by restoring a common parsing
function for ACK and ACK_ECN, which extracts only the first fields prior
to the optional ack ranges. ECN fields are now parsed later, at the end
of qc_parse_ack_frm(), after the optional ack ranges.

This must be backported up to 2.6.
src/quic_frame.c
src/quic_rx.c