gfe-relnote: In QUIC, actually remove encrypters when discarding old encryption keys with TLS handshake. Protected by blocked gfe2_reloadable_flag_quic_enable_version_t* flags.
PiperOrigin-RevId: 294442019
Change-Id: I1513cece5c74341ddbfb7b0debe01b6aad480a2f
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index aea4663..f9d186d 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -1374,7 +1374,6 @@
void QuicSession::DiscardOldDecryptionKey(EncryptionLevel level) {
if (!connection()->version().KnowsWhichDecrypterToUse()) {
- // TODO(fayang): actually discard keys.
return;
}
connection()->RemoveDecrypter(level);
@@ -1383,7 +1382,9 @@
void QuicSession::DiscardOldEncryptionKey(EncryptionLevel level) {
QUIC_DVLOG(1) << ENDPOINT << "Discard keys of "
<< EncryptionLevelToString(level);
- // TODO(fayang): actually discard keys.
+ if (connection()->version().handshake_protocol == PROTOCOL_TLS1_3) {
+ connection()->RemoveEncrypter(level);
+ }
switch (level) {
case ENCRYPTION_INITIAL:
NeuterUnencryptedData();