haproxy/reg-tests/connection
Christopher Faulet da93802ffc BUG/MEDIUM: mux-h1: Don't release H1 stream upgraded from TCP on error
When an error occurred during the request parsing, the H1 multiplexer is
responsible to sent a response to the client and to release the H1 stream
and the H1 connection. In HTTP mode, it is not an issue because at this
stage the H1 connection is in embryonic state. Thus it can be released
immediately.

However, it is a problem if the connection was first upgraded from a TCP
connection. In this case, a stream-connector is attached. The H1 stream is
not orphan. Thus it must not be released at this stage. It must be detached
first. Otherwise a BUG_ON() is triggered in h1s_destroy().

So now, the H1S is destroyed on early errors but only if the H1C is in
embryonic state.

This patch may be related to #1966. It must be backported to 2.7.
2022-12-15 09:51:31 +01:00
..
cli_src_dst.vtc
common.pem
dispatch.vtc
http_reuse_aggressive.vtc
http_reuse_always.vtc
http_reuse_be_transparent.vtc
http_reuse_conn_hash.vtc
http_reuse_dispatch.vtc
http_reuse_never.vtc
http_reuse_safe.vtc
proxy_protocol_random_fail.vtc
proxy_protocol_send_unique_id_alpn.vtc
proxy_protocol_send_unique_id.vtc
proxy_protocol_tlv_validation.vtc
tcp_to_http_upgrade.vtc BUG/MEDIUM: mux-h1: Don't release H1 stream upgraded from TCP on error 2022-12-15 09:51:31 +01:00