Deprecate --gfe2_reloadable_flag_quic_reject_unexpected_ietf_frame_types.
PiperOrigin-RevId: 370529891
Change-Id: I3daa714827bdf950a67291fe3fb92791b57fc635
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index 256c1ee..4f80a30 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -1199,8 +1199,7 @@
EncryptionLevel level) {
QuicPacketHeader header = ConstructPacketHeader(number, level);
QuicFrames frames;
- if (GetQuicReloadableFlag(quic_reject_unexpected_ietf_frame_types) &&
- VersionHasIetfQuicFrames(version().transport_version) &&
+ if (VersionHasIetfQuicFrames(version().transport_version) &&
(level == ENCRYPTION_INITIAL || level == ENCRYPTION_HANDSHAKE)) {
frames.push_back(QuicFrame(QuicPingFrame()));
frames.push_back(QuicFrame(QuicPaddingFrame(100)));
@@ -2853,8 +2852,7 @@
TEST_P(QuicConnectionTest, RejectUnencryptedStreamData) {
// EXPECT_QUIC_BUG tests are expensive so only run one instance of them.
if (!IsDefaultTestConfiguration() ||
- (GetQuicReloadableFlag(quic_reject_unexpected_ietf_frame_types) &&
- VersionHasIetfQuicFrames(version().transport_version))) {
+ VersionHasIetfQuicFrames(version().transport_version)) {
return;
}
@@ -7790,8 +7788,7 @@
EXPECT_CALL(visitor_,
OnConnectionClosed(_, ConnectionCloseSource::FROM_SELF));
ForceProcessFramePacket(QuicFrame(frame1_));
- if (GetQuicReloadableFlag(quic_reject_unexpected_ietf_frame_types) &&
- VersionHasIetfQuicFrames(version().transport_version)) {
+ if (VersionHasIetfQuicFrames(version().transport_version)) {
// INITIAL packet should not contain STREAM frame.
TestConnectionCloseQuicErrorCode(IETF_QUIC_PROTOCOL_VIOLATION);
} else {
@@ -7813,8 +7810,7 @@
EXPECT_CALL(visitor_,
OnConnectionClosed(_, ConnectionCloseSource::FROM_SELF));
ForceProcessFramePacket(QuicFrame(frame1_));
- if (GetQuicReloadableFlag(quic_reject_unexpected_ietf_frame_types) &&
- VersionHasIetfQuicFrames(version().transport_version)) {
+ if (VersionHasIetfQuicFrames(version().transport_version)) {
// INITIAL packet should not contain STREAM frame.
TestConnectionCloseQuicErrorCode(IETF_QUIC_PROTOCOL_VIOLATION);
} else {
@@ -11165,8 +11161,7 @@
std::make_unique<TaggingEncrypter>(0x01));
connection_.SetDefaultEncryptionLevel(ENCRYPTION_HANDSHAKE);
// Verify all ENCRYPTION_HANDSHAKE packets get processed.
- if (!GetQuicReloadableFlag(quic_reject_unexpected_ietf_frame_types) ||
- !VersionHasIetfQuicFrames(version().transport_version)) {
+ if (!VersionHasIetfQuicFrames(version().transport_version)) {
EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(6);
}
connection_.GetProcessUndecryptablePacketsAlarm()->Fire();
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 374000a..4c2fcd1 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -54,7 +54,6 @@
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_ignore_old_priority_update_frame, true)
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_pass_path_response_to_validator, false)
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_preempt_stream_data_with_handshake_packet, true)
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_reject_unexpected_ietf_frame_types, true)
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_require_handshake_confirmation, false)
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_send_path_response2, true)
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_send_timestamps, false)
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index db420b2..401100a 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -3232,20 +3232,14 @@
set_detailed_error("Unable to read frame type.");
return RaiseError(QUIC_INVALID_FRAME_DATA);
}
- if (reject_unexpected_ietf_frame_types_) {
- QUIC_RELOADABLE_FLAG_COUNT_N(quic_reject_unexpected_ietf_frame_types, 1,
- 2);
- if (!IsIetfFrameTypeExpectedForEncryptionLevel(frame_type,
- decrypted_level)) {
- QUIC_RELOADABLE_FLAG_COUNT_N(quic_reject_unexpected_ietf_frame_types, 2,
- 2);
- set_detailed_error(absl::StrCat(
- "IETF frame type ",
- QuicIetfFrameTypeString(static_cast<QuicIetfFrameType>(frame_type)),
- " is unexpected at encryption level ",
- EncryptionLevelToString(decrypted_level)));
- return RaiseError(IETF_QUIC_PROTOCOL_VIOLATION);
- }
+ if (!IsIetfFrameTypeExpectedForEncryptionLevel(frame_type,
+ decrypted_level)) {
+ set_detailed_error(absl::StrCat(
+ "IETF frame type ",
+ QuicIetfFrameTypeString(static_cast<QuicIetfFrameType>(frame_type)),
+ " is unexpected at encryption level ",
+ EncryptionLevelToString(decrypted_level)));
+ return RaiseError(IETF_QUIC_PROTOCOL_VIOLATION);
}
current_received_frame_type_ = frame_type;
diff --git a/quic/core/quic_framer.h b/quic/core/quic_framer.h
index e27c7f0..68eba79 100644
--- a/quic/core/quic_framer.h
+++ b/quic/core/quic_framer.h
@@ -1174,9 +1174,6 @@
// Indicates whether received RETRY packets should be dropped.
bool drop_incoming_retry_packets_ = false;
- bool reject_unexpected_ietf_frame_types_ =
- GetQuicReloadableFlag(quic_reject_unexpected_ietf_frame_types);
-
// Indicates whether source connection ID should be synthesized when read
// short header packet.
const bool do_not_synthesize_source_cid_for_short_header_ =
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc
index 3b5f090..4bb3b85 100644
--- a/quic/core/quic_framer_test.cc
+++ b/quic/core/quic_framer_test.cc
@@ -15261,8 +15261,7 @@
}
TEST_P(QuicFramerTest, ErrorWhenUnexpectedFrameTypeEncountered) {
- if (!GetQuicReloadableFlag(quic_reject_unexpected_ietf_frame_types) ||
- !VersionHasIetfQuicFrames(framer_.transport_version()) ||
+ if (!VersionHasIetfQuicFrames(framer_.transport_version()) ||
!QuicVersionHasLongHeaderLengths(framer_.transport_version()) ||
!framer_.version().HasLongHeaderLengths()) {
return;