]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: h3: use stream error when needed instead of connection
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 9 Dec 2022 14:01:31 +0000 (15:01 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 22 Dec 2022 15:47:24 +0000 (16:47 +0100)
commit2fe93ab2d74bb242c4aec07436dedb288bfbb961
tree6d7f822ad78c6c6011de9650a1e19bf37996ccff
parent663e872e3a5c8726eb7df41acf54f15037aaa8c1
MINOR: h3: use stream error when needed instead of connection

Use a stream error when possible instead of always closing the whole
connection. This requires a new field <err> in h3s structure.

Change slightly the decoding loop to facilitate error propagation. It
will be interrupted as soon as <h3s.err> or <h3c.err> is non null. In
the later case, a CONNECTION_CLOSE is requested through
qcc_emit_cc_app().

For stream error, H3 layer uses qcc_abort_stream_read() coupled with
qcc_reset_stream(). This is in conformance with RFC 9114 which
recommends to use STOP_SENDING + RESET_STREAM emission on stream error.

This commit is part of implementing H3 errors at the stream level.

This should be backported up to 2.7.
src/h3.c