gfe-relnote: In QUIC version T099, implement HANDSHAKE_DONE frame to drive the handshake to confirmation on the client side. Not used in prod yet.
PiperOrigin-RevId: 290948924
Change-Id: Idcbc5c0d573b5db992b65d4971ea12a3d7e87633
diff --git a/quic/core/tls_server_handshaker.cc b/quic/core/tls_server_handshaker.cc
index b22d964..1c95d2b 100644
--- a/quic/core/tls_server_handshaker.cc
+++ b/quic/core/tls_server_handshaker.cc
@@ -120,6 +120,10 @@
}
}
+void TlsServerHandshaker::OnHandshakeDoneReceived() {
+ DCHECK(false);
+}
+
bool TlsServerHandshaker::ShouldSendExpectCTHeader() const {
return false;
}
@@ -143,7 +147,7 @@
HandshakeState TlsServerHandshaker::GetHandshakeState() const {
if (one_rtt_keys_available_) {
- return HANDSHAKE_COMPLETE;
+ return HANDSHAKE_CONFIRMED;
}
if (state_ >= STATE_ENCRYPTION_HANDSHAKE_DATA_PROCESSED) {
return HANDSHAKE_PROCESSED;
@@ -284,9 +288,8 @@
crypto_negotiated_params_->key_exchange_group = SSL_get_curve_id(ssl());
delegate()->SetDefaultEncryptionLevel(ENCRYPTION_FORWARD_SECURE);
- // TODO(fayang): Replace this with DiscardOldKeys(ENCRYPTION_HANDSHAKE) when
- // handshake key discarding settles down.
- delegate()->NeuterHandshakeData();
+ delegate()->DiscardOldEncryptionKey(ENCRYPTION_HANDSHAKE);
+ delegate()->DiscardOldDecryptionKey(ENCRYPTION_HANDSHAKE);
}
ssl_private_key_result_t TlsServerHandshaker::PrivateKeySign(