mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-10-21 16:17:57 +00:00
tls13: Commit to session resume only when we actually do it
Signed-off-by: Ronald Cron <[email protected]>
This commit is contained in:
@@ -1755,6 +1755,11 @@ static int ssl_tls13_parse_client_hello(mbedtls_ssl_context *ssl,
|
|||||||
return MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER;
|
return MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (handshake->key_exchange_mode !=
|
||||||
|
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK) {
|
||||||
|
hrr_required = (no_usable_share_for_key_agreement != 0);
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED)
|
#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED)
|
||||||
if (handshake->key_exchange_mode &
|
if (handshake->key_exchange_mode &
|
||||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL) {
|
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL) {
|
||||||
@@ -1765,17 +1770,12 @@ static int ssl_tls13_parse_client_hello(mbedtls_ssl_context *ssl,
|
|||||||
((unsigned) psk.ciphersuite_info->id),
|
((unsigned) psk.ciphersuite_info->id),
|
||||||
psk.ciphersuite_info->name));
|
psk.ciphersuite_info->name));
|
||||||
|
|
||||||
if (psk.type == MBEDTLS_SSL_TLS1_3_PSK_RESUMPTION) {
|
if (psk.type == MBEDTLS_SSL_TLS1_3_PSK_RESUMPTION && (!hrr_required)) {
|
||||||
handshake->resume = 1;
|
handshake->resume = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (handshake->key_exchange_mode !=
|
|
||||||
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK) {
|
|
||||||
hrr_required = (no_usable_share_for_key_agreement != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
mbedtls_ssl_optimize_checksum(ssl, handshake->ciphersuite_info);
|
mbedtls_ssl_optimize_checksum(ssl, handshake->ciphersuite_info);
|
||||||
|
|
||||||
return hrr_required ? SSL_CLIENT_HELLO_HRR_REQUIRED : SSL_CLIENT_HELLO_OK;
|
return hrr_required ? SSL_CLIENT_HELLO_HRR_REQUIRED : SSL_CLIENT_HELLO_OK;
|
||||||
|
|||||||
Reference in New Issue
Block a user