fix various issues
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c
index c50b202..89a718b 100644
--- a/library/ssl_tls13_server.c
+++ b/library/ssl_tls13_server.c
@@ -128,8 +128,6 @@
return( SSL_TLS1_3_OFFERED_PSK_MATCH );
}
- /* Add session ticket here */
-
return( SSL_TLS1_3_OFFERED_PSK_NOT_MATCH );
}
@@ -242,9 +240,10 @@
identity_len = MBEDTLS_GET_UINT16_BE( p, 0 );
p += 2;
identity = p;
- p += identity_len;
- p += 4; // skip obfuscated_ticket_age
- MBEDTLS_SSL_CHK_BUF_READ_PTR( identity, identities_end, identity_len );
+ MBEDTLS_SSL_CHK_BUF_READ_PTR( identity,
+ identities_end,
+ identity_len + 4 );
+ p += identity_len + 4;
if( identity_matched == SSL_TLS1_3_OFFERED_PSK_MATCH )
continue;
@@ -258,8 +257,8 @@
if( identity_matched != SSL_TLS1_3_OFFERED_PSK_MATCH )
{
MBEDTLS_SSL_PEND_FATAL_ALERT(
- MBEDTLS_SSL_ALERT_LEVEL_FATAL,
- MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY );
+ MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY,
+ MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY );
return( MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY );
}
@@ -298,7 +297,7 @@
if( status != PSA_SUCCESS)
{
ret = psa_ssl_status_to_mbedtls( status );
- goto exit_failue;
+ goto exit_failure;
}
#else
psk = ssl->handshake->psk;
@@ -310,9 +309,9 @@
uint8_t binder_len;
const unsigned char *binder;
- MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 1 );
+ MBEDTLS_SSL_CHK_BUF_READ_PTR( p, binders_end, 1 );
binder_len = *p++;
- MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, binder_len );
+ MBEDTLS_SSL_CHK_BUF_READ_PTR( p, binders_end, binder_len );
binder = p;
p += binder_len;
@@ -326,10 +325,10 @@
MBEDTLS_SSL_DEBUG_RET( 1,
"ssl_tls13_offered_psks_check_binder_match" , binder_matched );
MBEDTLS_SSL_PEND_FATAL_ALERT(
- MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE,
+ MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR,
MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE );
ret = binder_matched;
- goto exit_failue;
+ goto exit_failure;
}
}
@@ -341,7 +340,7 @@
MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE,
MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE );
ret = MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE;
- goto exit_failue;
+ goto exit_failure;
}
if( p != binders_end )
@@ -350,7 +349,7 @@
MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR,
MBEDTLS_ERR_SSL_DECODE_ERROR );
ret = MBEDTLS_ERR_SSL_DECODE_ERROR;
- goto exit_failue;
+ goto exit_failure;
}
/* Update the handshake transcript with the binder list. */
@@ -359,7 +358,7 @@
(size_t)( p - identities_end ) );
ret = 0;
-exit_failue:
+exit_failure:
#if defined(MBEDTLS_USE_PSA_CRYPTO)
mbedtls_free( (void *)psk );
#endif