haproxy/reg-tests/http-messaging
Amaury Denoyelle 0df043608f BUG/MEDIUM: mux-h2: reject upgrade if no RFC8441 support
The RFC8441 was not respected by haproxy in regards with server support
for Extended CONNECT. The Extended CONNECT method was used to convert an
Upgrade header stream even if no SETTINGS_ENABLE_CONNECT_PROTOCOL was
received, which is forbidden by the RFC8441. In this case, the behavior
of the http/2 server is unspecified.

Fix this by flagging the connection on receiption of the RFC8441
settings SETTINGS_ENABLE_CONNECT_PROTOCOL. Extended CONNECT is thus only
be used if the flag is present. In the other case, the stream is
immediatly closed as there is no way to handle it in http/2. It results
in a http/1.1 502 or http/2 RESET_STREAM to the client side.

The protocol-upgrade regtest has been extended to test that haproxy does
not emit Extended CONNECT on servers without RFC8441 support.

It must be backported up to 2.4.
2021-11-03 16:24:48 +01:00
..
h1_to_h1.vtc REGTESTS: Remove REQUIRE_VERSION=1.6 from all tests 2021-06-11 19:21:28 +02:00
h2_desync_attacks.vtc REGTESTS: add a test to prevent h2 desync attacks 2021-08-17 10:22:20 +02:00
h2_to_h1.vtc CLEANUP: reg-tests: Remove obsolete no-htx parameter for reg-tests 2021-06-04 15:41:21 +02:00
http_abortonclose.vtc REGTESTS: abortonclose: after retries, 503 is expected, not close 2021-08-20 11:12:47 +02:00
http_bodyless_response.vtc CLEANUP: reg-tests: Remove obsolete no-htx parameter for reg-tests 2021-06-04 15:41:21 +02:00
http_msg_full_on_eom.vtc REGTESTS: Don't run http_msg_full_on_eom script on the 2.4 anymore 2021-01-28 16:37:14 +01:00
http_request_buffer.vtc CLEANUP: assorted typo fixes in the code and comments 2021-10-18 07:26:19 +02:00
http_transfer_encoding.vtc REGTESTS: Add script to validate T-E header parsing 2021-09-28 16:43:07 +02:00
http_wait_for_body.vtc CLEANUP: reg-tests: Remove obsolete no-htx parameter for reg-tests 2021-06-04 15:41:21 +02:00
protocol_upgrade.vtc BUG/MEDIUM: mux-h2: reject upgrade if no RFC8441 support 2021-11-03 16:24:48 +01:00
scheme_based_normalize.vtc REGTESTS: Use feature cmd for 2.5+ tests 2021-08-25 21:38:38 +02:00
websocket.vtc CLEANUP: reg-tests: Remove obsolete no-htx parameter for reg-tests 2021-06-04 15:41:21 +02:00