]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: mux-quic: change return value of qcs_attach_sc()
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 3 Jan 2025 15:16:45 +0000 (16:16 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 3 Jan 2025 16:19:21 +0000 (17:19 +0100)
commitaf00be8e0f7fe3942fac93ac32bfe7ae7f5b78c9
tree718c43db51032e729a12c70da9acdc752cbbe4b8
parent4f2554903b1449a31bb30097311cb6fa86632338
MINOR: mux-quic: change return value of qcs_attach_sc()

A recent fix was introduced to ensure that a streamdesc instance won't
be attached to an already completed QCS which is eligible to purging.
This was performed by skipping application protocol decoding if a QCS is
in such a state. Here is the patch responsible for this change.
  caf60ac696a29799631a76beb16d0072f65eef12
  BUG/MEDIUM: mux-quic: do not attach on already closed stream

However, this is too restrictive, in particular for unidirection stream
where no streamdesc is never attached. To fix this behavior, first
qcs_attach_sc() API has been modified. Instead of returning a streamdesc
instance, it returns either 0 on success or a negative error code.

There should be no functional changes with this patch. It is only to be
able to extend qcs_attach_sc() with the possibility of skipping
streamdesc instantiation while still keeping a success return value.

This should be backported wherever the above patch has been merged. For
the record, it was scheduled for immediate backport on 3.1, plus merging
on older releases up to 2.8 after a period of observation.
include/haproxy/mux_quic.h
src/h3.c
src/hq_interop.c
src/mux_quic.c