Update code base on comments

Remove state MBEDTLS_SSL_CLIENT_CCS_AFTER_CLIENT_HELLO cause no early data
Change code styles and comments
Fix cookie write issues

Signed-off-by: XiaokangQian <xiaokang.qian@arm.com>
This commit is contained in:
XiaokangQian 2022-02-07 08:32:16 +00:00
parent 0b64eedba8
commit 233397ef88
2 changed files with 10 additions and 16 deletions

View File

@ -645,7 +645,6 @@ typedef enum
#if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE) #if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE)
MBEDTLS_SSL_CLIENT_CCS_AFTER_SERVER_FINISHED, MBEDTLS_SSL_CLIENT_CCS_AFTER_SERVER_FINISHED,
MBEDTLS_SSL_CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO, MBEDTLS_SSL_CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO,
MBEDTLS_SSL_CLIENT_CCS_AFTER_CLIENT_HELLO,
#endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ #endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */
#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
} }

View File

@ -689,9 +689,9 @@ static int ssl_tls13_parse_cookie_ext( mbedtls_ssl_context *ssl,
} }
static int ssl_tls13_write_cookie_ext( mbedtls_ssl_context *ssl, static int ssl_tls13_write_cookie_ext( mbedtls_ssl_context *ssl,
unsigned char* buf, unsigned char *buf,
unsigned char* end, unsigned char *end,
size_t* olen ) size_t *olen )
{ {
unsigned char *p = buf; unsigned char *p = buf;
@ -707,20 +707,14 @@ static int ssl_tls13_write_cookie_ext( mbedtls_ssl_context *ssl,
ssl->handshake->verify_cookie, ssl->handshake->verify_cookie,
ssl->handshake->verify_cookie_len ); ssl->handshake->verify_cookie_len );
MBEDTLS_SSL_CHK_BUF_PTR( p, end, 2 ); MBEDTLS_SSL_CHK_BUF_PTR( p, end, ssl->handshake->verify_cookie_len + 6 );
p += 2;
MBEDTLS_SSL_CHK_BUF_PTR( p, end, ssl->handshake->verify_cookie_len + 4 );
MBEDTLS_SSL_DEBUG_MSG( 3, ( "client hello, adding cookie extension" ) ); MBEDTLS_SSL_DEBUG_MSG( 3, ( "client hello, adding cookie extension" ) );
/* Extension Type */
MBEDTLS_PUT_UINT16_BE( MBEDTLS_TLS_EXT_COOKIE, p, 0 ); MBEDTLS_PUT_UINT16_BE( MBEDTLS_TLS_EXT_COOKIE, p, 0 );
MBEDTLS_PUT_UINT16_BE( ssl->handshake->verify_cookie_len + 2, p, 2 );
/* Extension Length */ MBEDTLS_PUT_UINT16_BE( ssl->handshake->verify_cookie_len, p, 4 );
MBEDTLS_PUT_UINT16_BE( ssl->handshake->verify_cookie_len + 2, p, 0 ); p += 6;
/* Cookie Length */
MBEDTLS_PUT_UINT16_BE( ssl->handshake->verify_cookie_len, p, 0 );
/* Cookie */ /* Cookie */
memcpy( p, ssl->handshake->verify_cookie, ssl->handshake->verify_cookie_len ); memcpy( p, ssl->handshake->verify_cookie, ssl->handshake->verify_cookie_len );
@ -915,8 +909,9 @@ static int ssl_tls13_write_client_hello_body( mbedtls_ssl_context *ssl,
p += output_len; p += output_len;
#endif /* MBEDTLS_SSL_ALPN */ #endif /* MBEDTLS_SSL_ALPN */
/* For TLS / DTLS 1.3 we need to support the use of cookies /* Echo the cookie if the server provided one in its preceding
* ( if the server provided them ) */ * HelloRetryRequest message.
*/
ret = ssl_tls13_write_cookie_ext( ssl, p, end, &output_len ); ret = ssl_tls13_write_cookie_ext( ssl, p, end, &output_len );
if( ret != 0 ) if( ret != 0 )
return( ret ); return( ret );