From 9c23c72d9997465205b62e061f317e8845e7dbb0 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 29 Jan 2025 21:40:18 +0900 Subject: [PATCH] The minimum length of a valid QUIC packet is 21 --- src/shrpx_quic_connection_handler.cc | 2 +- src/shrpx_quic_listener.cc | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/shrpx_quic_connection_handler.cc b/src/shrpx_quic_connection_handler.cc index 062228fd..8de8b257 100644 --- a/src/shrpx_quic_connection_handler.cc +++ b/src/shrpx_quic_connection_handler.cc @@ -334,7 +334,7 @@ int QUICConnectionHandler::handle_packet(const UpstreamAddr *faddr, return 0; } - if (data.size() >= SHRPX_QUIC_SCIDLEN + 22) { + if (data.size() >= SHRPX_QUIC_SCIDLEN + 21) { send_stateless_reset(faddr, data.size(), {vc.dcid, vc.dcidlen}, remote_addr, local_addr); } diff --git a/src/shrpx_quic_listener.cc b/src/shrpx_quic_listener.cc index 7f89792d..80dfd512 100644 --- a/src/shrpx_quic_listener.cc +++ b/src/shrpx_quic_listener.cc @@ -74,8 +74,8 @@ void QUICListener::on_read() { return; } - // Packets less than 22 bytes never be a valid QUIC packet. - if (nread < 22) { + // Packets less than 21 bytes never be a valid QUIC packet. + if (nread < 21) { ++pktcnt; continue; @@ -121,8 +121,8 @@ void QUICListener::on_read() { << " bytes"; } - // Packets less than 22 bytes never be a valid QUIC packet. - if (datalen < 22) { + // Packets less than 21 bytes never be a valid QUIC packet. + if (datalen < 21) { break; }