From: Amaury Denoyelle Date: Mon, 22 Nov 2021 14:22:48 +0000 (+0100) Subject: MINOR: quic: do not reject PADDING followed by other frames X-Git-Tag: v2.6-dev1~372 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cb318a80e402d227f7e20ea8019bb6321eadbc24;p=thirdparty%2Fhaproxy.git MINOR: quic: do not reject PADDING followed by other frames It is valid for a QUIC packet to contain a PADDING frame followed by one or several other frames. quic_parse_padding_frame() does not require change as it detect properly the end of the frame with the first non-null byte. This allow to use quic-go implementation which uses a PADDING-CRYPTO as the first handshake packet. --- diff --git a/src/xprt_quic.c b/src/xprt_quic.c index a13208214e..19c6958d37 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -1998,10 +1998,6 @@ static int qc_parse_pkt_frms(struct quic_rx_packet *pkt, struct ssl_sock_ctx *ct switch (frm.type) { case QUIC_FT_PADDING: - if (pos != end) { - TRACE_DEVEL("wrong frame", QUIC_EV_CONN_PRSHPKT, ctx->conn, pkt); - goto err; - } break; case QUIC_FT_PING: break;