From: Christopher Faulet Date: Mon, 8 Mar 2021 14:32:03 +0000 (+0100) Subject: MINOR: mux-h1: Don't perform implicit HTTP/2 upgrade if not supported by mux X-Git-Tag: v2.4-dev15~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=143e9e5888f71cc572117ad6c7d2ce7d15328e2f;p=thirdparty%2Fhaproxy.git MINOR: mux-h1: Don't perform implicit HTTP/2 upgrade if not supported by mux For now this tests is useless, but if the H1 muliplexer is flagged to explicitly not support the upgrades to HTTP/2, an error is returned. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index 656c0a1bce..13110de926 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -2665,7 +2665,8 @@ static int h1_process(struct h1c * h1c) /* First of all handle H1 to H2 upgrade (no need to create the H1 stream) */ if (!(h1c->flags & H1C_F_WAIT_NEXT_REQ) && /* First request */ - !(h1c->px->options2 & PR_O2_NO_H2_UPGRADE)) { /* H2 upgrade supported by the proxy */ + !(h1c->px->options2 & PR_O2_NO_H2_UPGRADE) && /* H2 upgrade supported by the proxy */ + !(conn->mux->flags & MX_FL_NO_UPG)) { /* the current mux supports upgrades */ /* Try to match H2 preface before parsing the request headers. */ if (b_isteq(&h1c->ibuf, 0, b_data(&h1c->ibuf), ist(H2_CONN_PREFACE)) > 0) { h1c->flags |= H1C_F_UPG_H2C;