diff --git a/library/ssl_misc.h b/library/ssl_misc.h index a99bb33439..9444c29c2c 100644 --- a/library/ssl_misc.h +++ b/library/ssl_misc.h @@ -2779,6 +2779,12 @@ static inline unsigned int mbedtls_ssl_session_get_ticket_flags( (flags & MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK); } +static inline unsigned int mbedtls_ssl_session_check_ticket_flags( + mbedtls_ssl_session *session, unsigned int flags) +{ + return mbedtls_ssl_session_get_ticket_flags(session, flags) == 0; +} + static inline void mbedtls_ssl_session_set_ticket_flags( mbedtls_ssl_session *session, unsigned int flags) { diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c index 87eaa192fb..2561239a01 100644 --- a/library/ssl_tls13_server.c +++ b/library/ssl_tls13_server.c @@ -998,7 +998,7 @@ static int ssl_tls13_ticket_permission_check(mbedtls_ssl_context *ssl, { #if defined(MBEDTLS_SSL_SESSION_TICKETS) if (ssl->handshake->resume) { - if (!mbedtls_ssl_session_get_ticket_flags( + if (mbedtls_ssl_session_check_ticket_flags( ssl->session_negotiate, kex_mode)) { return 0; }