From 143e9e5888f71cc572117ad6c7d2ce7d15328e2f Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 8 Mar 2021 15:32:03 +0100 Subject: [PATCH] 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. --- src/mux_h1.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mux_h1.c b/src/mux_h1.c index 656c0a1bc..13110de92 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; -- 2.47.3