tls13: set key exchange mode in ticket_flags on client/server
Set the ticket_flags when:
- server: preparing NST (new session ticket) message
- client: postprocessing NST message
Clear the ticket_flags when:
- server: preparing NST message
- client: parsing NST message
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com>
diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c
index 980c225..f951813 100644
--- a/library/ssl_tls13_server.c
+++ b/library/ssl_tls13_server.c
@@ -2604,6 +2604,13 @@
session->start = mbedtls_time(NULL);
#endif
+ /* Set ticket_flags depends on the advertised psk key exchange mode */
+ mbedtls_ssl_tls13_session_clear_ticket_flags(session,
+ MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK);
+ mbedtls_ssl_tls13_session_set_ticket_flags(session,
+ ssl->handshake->tls13_kex_modes);
+ MBEDTLS_SSL_DEBUG_TICKET_FLAGS(4, session->ticket_flags);
+
/* Generate ticket_age_add */
if ((ret = ssl->conf->f_rng(ssl->conf->p_rng,
(unsigned char *) &session->ticket_age_add,