return 1;
if (!s->new_session && s->session != NULL
- && s->session->ext.tick != NULL) {
+ && s->session->ext.tick != NULL
+ && s->session->ssl_version != TLS1_3_VERSION) {
ticklen = s->session->ext.ticklen;
} else if (s->session && s->ext.session_ticket != NULL
&& s->ext.session_ticket->data != NULL) {
s->session->ext.tick_identity = TLSEXT_PSK_BAD_IDENTITY;
/*
- * If this is a new session then we have nothing to resume so don't add
- * this extension.
+ * If this is an incompatible or new session then we have nothing to resume
+ * so don't add this extension.
*/
- if (s->session->ext.ticklen == 0)
+ if (s->session->ssl_version != TLS1_3_VERSION
+ || s->session->ext.ticklen == 0)
return 1;
/*
int tls_use_ticket(SSL *s)
{
- if ((s->options & SSL_OP_NO_TICKET) || SSL_IS_TLS13(s))
+ if ((s->options & SSL_OP_NO_TICKET))
return 0;
return ssl_security(s, SSL_SECOP_TICKET, 0, 0, NULL);
}