Deprecate quic_framer_uses_undecryptable_upcall
gfe-relnote: deprecate gfe2_restart_flag_quic_framer_uses_undecryptable_upcall
PiperOrigin-RevId: 273643327
Change-Id: I70939b5f6cfc79799ea25166c0cf23a174c86f00
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index d4376cd..7d29b86 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -1723,8 +1723,6 @@
<< EncryptionLevelToString(decryption_level)
<< " while connection is at encryption level "
<< EncryptionLevelToString(encryption_level_);
- DCHECK(GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall));
- QUIC_RESTART_FLAG_COUNT_N(quic_framer_uses_undecryptable_upcall, 1, 7);
DCHECK(EncryptionLevelIsValid(decryption_level));
if (encryption_level_ != ENCRYPTION_FORWARD_SECURE) {
++stats_.undecryptable_packets_received_before_handshake_complete;
@@ -1817,20 +1815,6 @@
if (!framer_.ProcessPacket(packet)) {
// If we are unable to decrypt this packet, it might be
// because the CHLO or SHLO packet was lost.
- if (framer_.error() == QUIC_DECRYPTION_FAILURE &&
- !GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
- if (encryption_level_ != ENCRYPTION_FORWARD_SECURE) {
- ++stats_.undecryptable_packets_received_before_handshake_complete;
- }
- if (encryption_level_ != ENCRYPTION_FORWARD_SECURE &&
- undecryptable_packets_.size() < max_undecryptable_packets_) {
- QueueUndecryptablePacket(packet);
- } else if (debug_visitor_ != nullptr) {
- debug_visitor_->OnUndecryptablePacket();
- }
- } else if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
- QUIC_RESTART_FLAG_COUNT_N(quic_framer_uses_undecryptable_upcall, 2, 7);
- }
QUIC_DVLOG(1) << ENDPOINT
<< "Unable to process packet. Last packet processed: "
<< last_header_.packet_number;
@@ -2817,8 +2801,6 @@
void QuicConnection::QueueUndecryptablePacket(
const QuicEncryptedPacket& packet) {
- if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
- QUIC_RESTART_FLAG_COUNT_N(quic_framer_uses_undecryptable_upcall, 3, 7);
for (const auto& saved_packet : undecryptable_packets_) {
if (packet.data() == saved_packet->data() &&
packet.length() == saved_packet->length()) {
@@ -2826,7 +2808,6 @@
return;
}
}
- }
QUIC_DVLOG(1) << ENDPOINT << "Queueing undecryptable packet.";
undecryptable_packets_.push_back(packet.Clone());
}
@@ -2899,20 +2880,6 @@
} else {
// If we are unable to decrypt this packet, it might be
// because the CHLO or SHLO packet was lost.
- if (framer_.error() == QUIC_DECRYPTION_FAILURE &&
- !GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
- if (encryption_level_ != ENCRYPTION_FORWARD_SECURE) {
- ++stats_.undecryptable_packets_received_before_handshake_complete;
- }
- if (encryption_level_ != ENCRYPTION_FORWARD_SECURE &&
- undecryptable_packets_.size() < max_undecryptable_packets_) {
- QueueUndecryptablePacket(*packet);
- } else if (debug_visitor_ != nullptr) {
- debug_visitor_->OnUndecryptablePacket();
- }
- } else if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
- QUIC_RESTART_FLAG_COUNT_N(quic_framer_uses_undecryptable_upcall, 4, 7);
- }
}
}
if (processed) {
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index 17898a4..402135b 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -1699,16 +1699,12 @@
return true;
}
if (hp_removal_failed) {
- if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
- QUIC_RESTART_FLAG_COUNT_N(quic_framer_uses_undecryptable_upcall, 5,
- 7);
const EncryptionLevel decryption_level = GetEncryptionLevel(*header);
const bool has_decryption_key =
decrypter_[decryption_level] != nullptr;
visitor_->OnUndecryptablePacket(
QuicEncryptedPacket(encrypted_reader->FullPayload()),
decryption_level, has_decryption_key);
- }
set_detailed_error("Unable to decrypt header protection.");
return RaiseError(QUIC_DECRYPTION_FAILURE);
}
@@ -1767,15 +1763,12 @@
visitor_->OnAuthenticatedIetfStatelessResetPacket(packet);
return true;
}
- if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
- QUIC_RESTART_FLAG_COUNT_N(quic_framer_uses_undecryptable_upcall, 6, 7);
const EncryptionLevel decryption_level = GetEncryptionLevel(*header);
const bool has_decryption_key = version_.KnowsWhichDecrypterToUse() &&
decrypter_[decryption_level] != nullptr;
visitor_->OnUndecryptablePacket(
QuicEncryptedPacket(encrypted_reader->FullPayload()),
decryption_level, has_decryption_key);
- }
set_detailed_error("Unable to decrypt payload.");
RecordDroppedPacketReason(DroppedPacketReason::DECRYPTION_FAILURE);
return RaiseError(QUIC_DECRYPTION_FAILURE);
@@ -1857,8 +1850,6 @@
EncryptionLevel decrypted_level;
if (!DecryptPayload(encrypted, associated_data, *header, decrypted_buffer,
buffer_length, &decrypted_length, &decrypted_level)) {
- if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
- QUIC_RESTART_FLAG_COUNT_N(quic_framer_uses_undecryptable_upcall, 7, 7);
const EncryptionLevel decryption_level = decrypter_level_;
// This version uses trial decryption so we always report to our visitor
// that we are not certain we have the correct decryption key.
@@ -1866,7 +1857,6 @@
visitor_->OnUndecryptablePacket(
QuicEncryptedPacket(encrypted_reader->FullPayload()),
decryption_level, has_decryption_key);
- }
RecordDroppedPacketReason(DroppedPacketReason::DECRYPTION_FAILURE);
set_detailed_error("Unable to decrypt payload.");
return RaiseError(QUIC_DECRYPTION_FAILURE);
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc
index c7e67fc..14de6e9 100644
--- a/quic/core/quic_framer_test.cc
+++ b/quic/core/quic_framer_test.cc
@@ -12191,7 +12191,6 @@
EXPECT_FALSE(
framer_.ProcessPacket(QuicEncryptedPacket(AsChars(p), p_length, false)));
EXPECT_EQ(QUIC_DECRYPTION_FAILURE, framer_.error());
- if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
ASSERT_EQ(1u, visitor_.undecryptable_packets_.size());
ASSERT_EQ(1u, visitor_.undecryptable_decryption_levels_.size());
ASSERT_EQ(1u, visitor_.undecryptable_has_decryption_keys_.size());
@@ -12203,11 +12202,6 @@
visitor_.undecryptable_decryption_levels_[0]);
}
EXPECT_FALSE(visitor_.undecryptable_has_decryption_keys_[0]);
- } else {
- EXPECT_EQ(0u, visitor_.undecryptable_packets_.size());
- EXPECT_EQ(0u, visitor_.undecryptable_decryption_levels_.size());
- EXPECT_EQ(0u, visitor_.undecryptable_has_decryption_keys_.size());
- }
}
TEST_P(QuicFramerTest, UndecryptablePacketWithDecrypter) {
@@ -12299,7 +12293,6 @@
EXPECT_FALSE(
framer_.ProcessPacket(QuicEncryptedPacket(AsChars(p), p_length, false)));
EXPECT_EQ(QUIC_DECRYPTION_FAILURE, framer_.error());
- if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
ASSERT_EQ(1u, visitor_.undecryptable_packets_.size());
ASSERT_EQ(1u, visitor_.undecryptable_decryption_levels_.size());
ASSERT_EQ(1u, visitor_.undecryptable_has_decryption_keys_.size());
@@ -12312,11 +12305,6 @@
}
EXPECT_EQ(framer_.version().KnowsWhichDecrypterToUse(),
visitor_.undecryptable_has_decryption_keys_[0]);
- } else {
- EXPECT_EQ(0u, visitor_.undecryptable_packets_.size());
- EXPECT_EQ(0u, visitor_.undecryptable_decryption_levels_.size());
- EXPECT_EQ(0u, visitor_.undecryptable_has_decryption_keys_.size());
- }
}
TEST_P(QuicFramerTest, UndecryptableCoalescedPacket) {
@@ -12469,7 +12457,6 @@
EXPECT_EQ(QUIC_DECRYPTION_FAILURE, framer_.error());
- if (GetQuicRestartFlag(quic_framer_uses_undecryptable_upcall)) {
ASSERT_EQ(1u, visitor_.undecryptable_packets_.size());
ASSERT_EQ(1u, visitor_.undecryptable_decryption_levels_.size());
ASSERT_EQ(1u, visitor_.undecryptable_has_decryption_keys_.size());
@@ -12482,11 +12469,6 @@
EXPECT_EQ(ENCRYPTION_HANDSHAKE,
visitor_.undecryptable_decryption_levels_[0]);
EXPECT_TRUE(visitor_.undecryptable_has_decryption_keys_[0]);
- } else {
- EXPECT_EQ(0u, visitor_.undecryptable_packets_.size());
- EXPECT_EQ(0u, visitor_.undecryptable_decryption_levels_.size());
- EXPECT_EQ(0u, visitor_.undecryptable_has_decryption_keys_.size());
- }
// Make sure the second coalesced packet is parsed correctly.
ASSERT_EQ(visitor_.coalesced_packets_.size(), 1u);