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; }