]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: mux-quic: Fix handling EOM after in qcs_http_rcv_buf()
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 1 Jul 2026 13:45:10 +0000 (15:45 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 2 Jul 2026 15:03:54 +0000 (17:03 +0200)
commite237b4ff9fa4190f79165b58991e82e3dec77d3a
tree9a7ac37cb36904daf861541f6ac95a497cf6f360
parent9aa081b17e582585881023ae19e5b410c4337db9
BUG/MINOR: mux-quic: Fix handling EOM after in qcs_http_rcv_buf()

In qcs_http_rcv_buf() function, when the buffers cannot be swapped and
htx_xfer() function is called, the way the EOM flag is handled is buggy. The
htx_xfer() function is responsible to tranfer HTX flags from the QCS message
to the CS one. And when it is performed, HTX flags of the original message
are reset.

So, the following test on the EOM flag when the QCS message is empty is
never true. Because of this bug, QC_SF_EOI_SUSPENDED flag is never tested on
this code path and <fin> variable is not set to 1 as expected.

To fix the issue, we must test the EOM flag on the CS message.

This patch must be backported to 3.4.
src/qcm_http.c