]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: mux_quic: prevent RS/SS on unistream with hq-interop
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 8 Oct 2026 12:54:26 +0000 (14:54 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 16 Oct 2026 08:03:35 +0000 (10:03 +0200)
commitbd1582842f004530b2dc0eebb0d3f594f5fea5cb
tree2347d064af153fa03a0ba1d30d05e25e87afeac7
parentaf8d79f2a6dad02ade9584a1190fbef1f771675a
BUG/MINOR: mux_quic: prevent RS/SS on unistream with hq-interop

When app layer has been shut, qcs_new() will immediately abort a new
stream via attach callback.

App proto hq-interop does not define shutdown callback. In this case, it
is expected that the app layer won't reject a new stream during attach.
MUX QUIC is thus responsible to shut the stream itself using
RESET_STREAM + STOP_SENDING.

This causes a protocol violation if the opened stream is unidirectional.
On RESET_STREAM emission, the peer may close the connection on fatal
error, aborting any possibly still active transfers. Fix this by
ensuring only STOP_SENDING is emitted in this case.

In practice, this bug is not encountered today as it only impacts
hq-interop protocol, and uni streams are not used in this case.

This must be backported to 3.4.
src/mux_quic.c