]> git.kaiwu.me - haproxy.git/commit
MINOR: mux_quic: handle incomplete QMux record read
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 23 Apr 2026 13:38:06 +0000 (15:38 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 24 Apr 2026 08:39:17 +0000 (10:39 +0200)
commitcc395357029ea5227a0c41ca626aa1789cc73050
tree416fd8984b3b44c24213582648381bdc37cdad94
parent61e839c07ee81dd082d492a9d1e2faffb34655f0
MINOR: mux_quic: handle incomplete QMux record read

QMux implements a record layer which is used to encapsulate QUIC frames.

This patch implements reception of an incomplete record in
qcc_qstrm_recv(). BUG_ON() failures are removed and now reading will
continue until the whole record is received or a fatal error occurs.

Several adjustments were made in the logic for read operation.
Previously, read syscall was only performed if either data buffer was
empty or current record was incomplete. An extra condition is added to
perform read if there is data in the buffer but not enough to decode a
record header. Another change is that buffer realign is also performed
in this latter case and if buffer wrapping position has been reached.
src/mux_quic_qstrm.c