]> git.kaiwu.me - haproxy.git/commit
BUG/MEDIUM: mux_quic: fix FIN received with an already known offset
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 22 Oct 2026 08:04:23 +0000 (10:04 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 22 Oct 2026 08:11:46 +0000 (10:11 +0200)
commit59f8449e0cf2ef964ee08a596f4a62dd06e05f40
tree433f42de4b5914f52cc8a44e70f57910ad944408
parent0b8c835174881301e9955330d2c06529ca161c23
BUG/MEDIUM: mux_quic: fix FIN received with an already known offset

The following patch improves STREAM FIN handling on received frames by
reducing the invokation of the parser. It requires to detect the case
where FIN is received standalone without any data,

  7dd1eec2b10bd13f05c792ec0e053c19aac952ee
  MINOR: mux-quic: refine reception of standalone STREAM FIN

This introduces an issue when STREAM FIN is received with an already
known offset. In this case, FIN is not considered standalone. However,
as the offset was already handled, parser is skipped and this prevents
closure of the stream Rx channel until its timeout.

Fix this by marking FIN as standalone after skipping already received
offset. Thus, if <len> is reduced to 0 in qcc_recv(), <fin_standalone>
will be set even if it was received with a payload.

This must be backported up to 3.2, which introduced the above patch.
src/mux_quic.c