summaryrefslogtreecommitdiffstats
path: root/src/quic_frame.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:20:30 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:20:30 +0000
commitddfc40eabdbc59a607b568e946fb116dcd3439fd (patch)
treeb3253de65399448dbbf12e5b65d2da56c53d3af6 /src/quic_frame.c
parentAdding upstream version 2.9.6. (diff)
downloadhaproxy-ddfc40eabdbc59a607b568e946fb116dcd3439fd.tar.xz
haproxy-ddfc40eabdbc59a607b568e946fb116dcd3439fd.zip
Adding upstream version 2.9.7.upstream/2.9.7
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/quic_frame.c')
-rw-r--r--src/quic_frame.c8
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;
}