Always enable session tickets in IETF QUIC
Protected by quic_restart_flag_quic_session_tickets_always_enabled.
PiperOrigin-RevId: 338501945
Change-Id: Ic4c3601efb9764ec3ca1482a9ae5a2ad75144ddc
diff --git a/quic/core/crypto/tls_server_connection.cc b/quic/core/crypto/tls_server_connection.cc
index 1809c9e..9619ee7 100644
--- a/quic/core/crypto/tls_server_connection.cc
+++ b/quic/core/crypto/tls_server_connection.cc
@@ -25,13 +25,19 @@
// We don't actually need the TicketCrypter here, but we need to know
// whether it's set.
if (proof_source->GetTicketCrypter()) {
+ QUIC_RESTART_FLAG_COUNT_N(quic_session_tickets_always_enabled, 1, 3);
SSL_CTX_set_ticket_aead_method(ssl_ctx.get(),
&TlsServerConnection::kSessionTicketMethod);
- if (GetQuicRestartFlag(quic_enable_zero_rtt_for_tls_v2)) {
- SSL_CTX_set_early_data_enabled(ssl_ctx.get(), 1);
- }
- } else {
+ } else if (!GetQuicRestartFlag(quic_session_tickets_always_enabled)) {
+ QUIC_RESTART_FLAG_COUNT_N(quic_session_tickets_always_enabled, 2, 3);
SSL_CTX_set_options(ssl_ctx.get(), SSL_OP_NO_TICKET);
+ } else {
+ QUIC_RESTART_FLAG_COUNT_N(quic_session_tickets_always_enabled, 3, 3);
+ }
+ if (GetQuicRestartFlag(quic_enable_zero_rtt_for_tls_v2) &&
+ (proof_source->GetTicketCrypter() ||
+ GetQuicRestartFlag(quic_session_tickets_always_enabled))) {
+ SSL_CTX_set_early_data_enabled(ssl_ctx.get(), 1);
}
return ssl_ctx;
}