From: Willy Tarreau Date: Mon, 30 Oct 2017 12:52:01 +0000 (+0100) Subject: MINOR: h2: properly reject PUSH_PROMISE frames coming from the client X-Git-Tag: v1.8-rc1~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c661986a824251b4f6854c2e9facb4b723cff28;p=thirdparty%2Fhaproxy.git MINOR: h2: properly reject PUSH_PROMISE frames coming from the client These ones deserve a connection error as per 5.1. --- diff --git a/src/mux_h2.c b/src/mux_h2.c index 22340d43fd..bae6847ead 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -1698,7 +1698,13 @@ static void h2_process_demux(struct h2c *h2c) ret = h2c_handle_goaway(h2c); break; - /* FIXME: implement all supported frame types here */ + case H2_FT_PUSH_PROMISE: + /* not permitted here, RFC7540#5.1 */ + h2c_error(h2c, H2_ERR_PROTOCOL_ERROR); + h2c->st0 = H2_SS_ERROR; + break; + + /* implement all extra frame types here */ default: /* drop frames that we ignore. They may be larger than * the buffer so we drain all of their contents until