]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-quic: reject uni stream ID exceeding flow control
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 16 Aug 2022 09:29:08 +0000 (11:29 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 17 Aug 2022 09:05:19 +0000 (11:05 +0200)
commitbf3c208760861ee36590fc4a5a579b8808818bd9
treed2a1254b66fff398c11d7bb7c1afcfe8ad63e6e7
parent26aa399d6b245da3e82e768dd15931263842d7d2
BUG/MEDIUM: mux-quic: reject uni stream ID exceeding flow control

Emit STREAM_LIMIT_ERROR if a client tries to open an unidirectional
stream with an ID greater than the value specified by our flow-control
limit. The code is similar to the bidirectional stream opening.

MAX_STREAMS_UNI emission is not implement for the moment and is left as
a TODO. This should not be too urgent for the moment : in HTTP/3, a
client has only a limited use for unidirectional streams (H3 control
stream + 2 QPACK streams). This is covered by the value provided by
haproxy in transport parameters.

This patch has been tagged with BUG as it should have prevented last
crash reported on github issue #1808 when opening a new unidirectional
streams with an invalid ID. However, it is probably not the main cause
of the bug contrary to the patch
  commit 11a6f4007b908b49ecd3abd5cd10fba177f07c11
  BUG/MINOR: quic: Wrong status returned by qc_pkt_decrypt()

This must be backported up to 2.6.
include/haproxy/mux_quic-t.h
src/mux_quic.c