BUG/MEDIUM: mux-h2: Don't report an error on shutr if a shutw is pending
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 16 Oct 2023 17:30:02 +0000 (19:30 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 17 Oct 2023 16:51:13 +0000 (18:51 +0200)
commit1fdfa4f9ba047aad76e1c7b4e894edf966f0a724
treeb1d3e6c51b7c1977e2f8dbecc52ad099efa052ce
parentd0b04920d1497e6d953cb1b0be96599b4cf26cd5
BUG/MEDIUM: mux-h2: Don't report an error on shutr if a shutw is pending

If a shutw is blocked because the mux is full or busy, we must defer the
shutr. In this case, the H2 stream is not in H2_SS_CLOSED state because the
shutw is also deferred. If the shutr is performed, this will lead to a
error.

Concretly, when the mux is unblocked, a RST_STREAM is sent while in some
cases, an empty DATA frame with ES flag set could be sent.

This patch should be backported to all stable versions.
src/mux_h2.c