Deprecate --gfe2_reloadable_flag_quic_reject_invalid_chars_in_field_value.
PiperOrigin-RevId: 410036090
diff --git a/quic/core/qpack/qpack_decoder_test.cc b/quic/core/qpack/qpack_decoder_test.cc
index 8f4b092..fe45397 100644
--- a/quic/core/qpack/qpack_decoder_test.cc
+++ b/quic/core/qpack/qpack_decoder_test.cc
@@ -226,14 +226,9 @@
}
TEST_P(QpackDecoderTest, LineFeedInValue) {
- if (GetQuicReloadableFlag(quic_reject_invalid_chars_in_field_value)) {
- EXPECT_CALL(handler_,
- OnDecodingErrorDetected(QUIC_INVALID_CHARACTER_IN_FIELD_VALUE,
- "Invalid character in field value."));
- } else {
- EXPECT_CALL(handler_, OnHeaderDecoded(Eq("foo"), Eq("ba\nr")));
- EXPECT_CALL(handler_, OnDecodingCompleted());
- }
+ EXPECT_CALL(handler_,
+ OnDecodingErrorDetected(QUIC_INVALID_CHARACTER_IN_FIELD_VALUE,
+ "Invalid character in field value."));
DecodeHeaderBlock(absl::HexStringToBytes("000023666f6f0462610a72"));
}
diff --git a/quic/core/qpack/qpack_progressive_decoder.cc b/quic/core/qpack/qpack_progressive_decoder.cc
index 96a3da5..12ad7f6 100644
--- a/quic/core/qpack/qpack_progressive_decoder.cc
+++ b/quic/core/qpack/qpack_progressive_decoder.cc
@@ -45,13 +45,7 @@
blocked_(false),
decoding_(true),
error_detected_(false),
- cancelled_(false),
- reject_invalid_chars_in_field_value_(
- GetQuicReloadableFlag(quic_reject_invalid_chars_in_field_value)) {
- if (reject_invalid_chars_in_field_value_) {
- QUIC_RELOADABLE_FLAG_COUNT(quic_reject_invalid_chars_in_field_value);
- }
-}
+ cancelled_(false) {}
QpackProgressiveDecoder::~QpackProgressiveDecoder() {
if (blocked_ && !cancelled_) {
@@ -351,7 +345,7 @@
absl::string_view name,
absl::string_view value) {
// Skip test for static table entries as they are all known to be valid.
- if (reject_invalid_chars_in_field_value_ && !value_from_static_table) {
+ if (!value_from_static_table) {
// According to Section 10.3 of
// https://quicwg.org/base-drafts/draft-ietf-quic-http.html,
// "[...] HTTP/3 can transport field values that are not valid. While most
diff --git a/quic/core/qpack/qpack_progressive_decoder.h b/quic/core/qpack/qpack_progressive_decoder.h
index b077ab1..c234b31 100644
--- a/quic/core/qpack/qpack_progressive_decoder.h
+++ b/quic/core/qpack/qpack_progressive_decoder.h
@@ -176,10 +176,6 @@
// True if QpackDecoderHeaderTable has been destroyed
// while decoding is still blocked.
bool cancelled_;
-
- // Latched value of
- // gfe2_reloadable_flag_quic_reject_invalid_chars_in_field_value
- const bool reject_invalid_chars_in_field_value_;
};
} // namespace quic
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index ff051b4..e8aea24 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -23,8 +23,6 @@
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_check_cwnd_limited_before_aggregation_epoch, true)
// If true, 1) NEW_TOKENs sent from a IETF QUIC session will include the cached network parameters proto, 2) A min_rtt received from a validated token will be used to set the initial rtt, 3) Enable bandwidth resumption for IETF QUIC when connection options BWRE or BWMX exists.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_add_cached_network_parameters_to_address_token, false)
-// If true, QPACK decoder rejects CR, LF, and NULL in field (header) values, and causes the stream to be reset with H3_MESSAGE_ERROR.
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_reject_invalid_chars_in_field_value, true)
// If true, QUIC will default enable MTU discovery at server, with a target of 1450 bytes.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_enable_mtu_discovery_at_server, false)
// If true, QUIC won\'t honor the connection option TLPR