You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BUG/MINOR: quic: fix malformed probing packet building
This bug arrived with this commit:
cdfceb1 MINOR: quic: refactor qc_prep_pkts() loop
which prevented haproxy from sending PING only packets/datagrams (some
packets/datagrams with only PING frame as ack-eliciting frames inside).
Such packets/datagrams are useful in rare cases during retransmissions
when one wants to probe the peer without exceeding the anti-amplification
limit.
Modify the condition passed to qc_build_pkt() to add padding to the current
datagram. One does not want to do that when probing the peer because
qc_build_pkt() calls qc_do_build_pkt() which supports this case: if
<probe> is true (probing required), qc_do_build_pkt() handle the
case where some padding must be added to a PING only packet/datagram.
This is the case when probing with an empty <frms> frame list of
ack-eliciting frame without exceeding the anti-amplification limit
from qc_dgrams_retransmit().
Add some comments to qc_build_pkt() and qc_do_build_pkt() to clarify this
as this code is easy to break!
Thank you for @Tristan971 for having reported this issue in GH #2709.
Must be backported to 3.0.
0 commit comments