MEDIUM: mux-h2: Close streams when processing data for an aborted tunnel
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 22 Jan 2021 11:13:15 +0000 (12:13 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 28 Jan 2021 15:37:14 +0000 (16:37 +0100)
commit91b21dc8d89ca050e033603de16782454665bcfa
treea3d5a487be3a2f13333924f99345c0a1cab1e9d8
parentf95f87650f5154382fe9c23b80d74175459e7726
MEDIUM: mux-h2: Close streams when processing data for an aborted tunnel

In the previous patch ("MEDIUM: mux-h2: Block client data on server side
waiting tunnel establishment"), we added a way to block client data for not
fully established tunnel on the server side. This one closes the stream with
an ERR_CANCEL erorr if there are some pending tunneled data while the tunnel
was aborted. This may happen on the client side if a non-empty DATA frame or
an empty DATA frame without the ES flag is received. This may also happen on
the server side if there is a DATA htx block. However in this last case, we
first wait the response is fully forwarded.

This patch contributes to fix the tunnel mode between the H1 and the H2
muxes.
src/mux_h2.c