diff options
Diffstat (limited to '')
-rw-r--r-- | src/quic_frame.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/quic_frame.c b/src/quic_frame.c index 61d2c93..41309db 100644 --- a/src/quic_frame.c +++ b/src/quic_frame.c @@ -13,7 +13,7 @@ #include <haproxy/buf-t.h> #include <haproxy/chunk.h> #include <haproxy/pool.h> -#include <haproxy/quic_conn-t.h> +#include <haproxy/quic_conn.h> #include <haproxy/quic_enc.h> #include <haproxy/quic_frame.h> #include <haproxy/quic_rx-t.h> @@ -1114,7 +1114,13 @@ int qc_parse_frm(struct quic_frame *frm, struct quic_rx_packet *pkt, frm->type = *(*pos)++; if (frm->type >= QUIC_FT_MAX) { + /* RFC 9000 12.4. Frames and Frame Types + * + * An endpoint MUST treat the receipt of a frame of unknown type as a + * connection error of type FRAME_ENCODING_ERROR. + */ TRACE_DEVEL("wrong frame type", QUIC_EV_CONN_PRSFRM, qc, frm); + quic_set_connection_close(qc, quic_err_transport(QC_ERR_FRAME_ENCODING_ERROR)); goto leave; } |