gfe-relnote: Close the connection if a STOP_WAITING frame is received in v44 or above. Protected by gfe2_reloadable_flag_quic_do_not_accept_stop_waiting.
PiperOrigin-RevId: 246399630
Change-Id: I9a810abb4d409f114f3e565ae6c5a37551073f6c
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index 67d32e3..3553628 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -21,6 +21,7 @@
#include "net/third_party/quiche/src/quic/core/quic_constants.h"
#include "net/third_party/quiche/src/quic/core/quic_data_reader.h"
#include "net/third_party/quiche/src/quic/core/quic_data_writer.h"
+#include "net/third_party/quiche/src/quic/core/quic_error_codes.h"
#include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h"
#include "net/third_party/quiche/src/quic/core/quic_stream_frame_data_producer.h"
#include "net/third_party/quiche/src/quic/core/quic_types.h"
@@ -2731,6 +2732,12 @@
}
case STOP_WAITING_FRAME: {
+ if (GetQuicReloadableFlag(quic_do_not_accept_stop_waiting) &&
+ version_.transport_version >= QUIC_VERSION_44) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_do_not_accept_stop_waiting);
+ set_detailed_error("STOP WAITING not supported in version 44+.");
+ return RaiseError(QUIC_INVALID_STOP_WAITING_DATA);
+ }
QuicStopWaitingFrame stop_waiting_frame;
if (!ProcessStopWaitingFrame(reader, header, &stop_waiting_frame)) {
return RaiseError(QUIC_INVALID_STOP_WAITING_DATA);