]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: quic: rearm packet on packet received even non ack-eliciting
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 14 Oct 2026 13:40:56 +0000 (15:40 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 15 Oct 2026 12:24:19 +0000 (14:24 +0200)
commitbb516ea002db198ff70052c16e3d374fd047e2e0
tree896a3d0938c57cea8fa2bda8d95c70573f98ab74
parent5c1a2975dfe92490f8bdfa8fb5d684af7aba0493
BUG/MINOR: quic: rearm packet on packet received even non ack-eliciting

QUIC idle timeout must be refreshed for each valid packet received.
Previously, this was only performed for ack-eliciting packets. In case
the client only emit non ack-eliciting frames, the connection would be
closed despite being still active.

Fix idle timeout mechanism by calling qc_idle_timer_rearm() on every
packets, outside of QUIC_FL_RX_PACKET_ACK_ELICITING flag. As previously,
in case of an ack-eliciting packet, both idle and ack expire are
refreshed, but the latter will be queued as it is smaller.

This issue was detected with SSE running on top of an HTTP/3 connection,
with the server pushing updates and the client emitting only ACKs. This
should fix github issue #3534.

This must be backported up to 2.6, after a period of observation.
src/quic_rx.c