BUG/MEDIUM: mux-quic: Create sedesc in same time of the QUIC stream
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 23 May 2024 08:45:28 +0000 (10:45 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 23 May 2024 09:18:06 +0000 (11:18 +0200)
commit086e51017e7731ee9820b882fe6e8cc5f0dd5352
tree91ea79632c42981c267bc21c9fab0623dc783730
parent4a968d9d274a24e5d00bd3c03dd22fe2563b13af
BUG/MEDIUM: mux-quic: Create sedesc in same time of the QUIC stream

Recent changes to save abort reason revealed an issue during the QUIC stream
creation. Indeed, by design, when a mux stream is created, it must always
have a valid stream-endpoint descriptor and it must remain valid till the
mux stream destruction. On frontend side, it is the multiplexer
responsibility to create it and set it as orphan. On the backend side, the
sedesc is provided by the upper layer. It is the sedesc of the back
stream-connector.

For the QUIC multiplexer, the stream-endpoint descriptor was only created
when the stream-connector was created and attached on it. It is unexpected
and some bugs may be introduced because there is no valid sedesc on a QUIC
stream. And a recent bug was introduced for this reason.

This patch must be backported as far as 2.6.
src/mux_quic.c