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);