mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-28 00:21:48 +03:00
Add Character byte reading macros
These cast to an unsigned char rather than a uint8_t like with MBEDTLS_BYTE_x These save alot of space and will improve maintence by replacing the appropriate code with MBEDTLS_CHAR_x Signed-off-by: Joe Subbiani <joe.subbiani@arm.com>
This commit is contained in:
@ -136,18 +136,18 @@ static int ssl_write_hostname_ext( mbedtls_ssl_context *ssl,
|
||||
* } ServerNameList;
|
||||
*
|
||||
*/
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SERVERNAME >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SERVERNAME ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_SERVERNAME );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_SERVERNAME );
|
||||
|
||||
*p++ = (unsigned char)( ( (hostname_len + 5) >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( (hostname_len + 5) ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( hostname_len + 5);
|
||||
*p++ = MBEDTLS_CHAR_0( hostname_len + 5);
|
||||
|
||||
*p++ = (unsigned char)( ( (hostname_len + 3) >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( (hostname_len + 3) ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( hostname_len + 3 );
|
||||
*p++ = MBEDTLS_CHAR_0( hostname_len + 3 );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( hostname_len >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( hostname_len ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME );
|
||||
*p++ = MBEDTLS_CHAR_1( hostname_len );
|
||||
*p++ = MBEDTLS_CHAR_0( hostname_len );
|
||||
|
||||
memcpy( p, ssl->hostname, hostname_len );
|
||||
|
||||
@ -181,14 +181,12 @@ static int ssl_write_renegotiation_ext( mbedtls_ssl_context *ssl,
|
||||
/*
|
||||
* Secure renegotiation
|
||||
*/
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_RENEGOTIATION_INFO >> 8 )
|
||||
& 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_RENEGOTIATION_INFO )
|
||||
& 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_RENEGOTIATION_INFO );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_RENEGOTIATION_INFO );
|
||||
|
||||
*p++ = 0x00;
|
||||
*p++ = ( ssl->verify_data_len + 1 ) & 0xFF;
|
||||
*p++ = ssl->verify_data_len & 0xFF;
|
||||
*p++ = MBEDTLS_CHAR_0( ssl->verify_data_len + 1 );
|
||||
*p++ = MBEDTLS_CHAR_0( ssl->verify_data_len );
|
||||
|
||||
memcpy( p, ssl->own_verify_data, ssl->verify_data_len );
|
||||
|
||||
@ -283,14 +281,14 @@ static int ssl_write_signature_algorithms_ext( mbedtls_ssl_context *ssl,
|
||||
* SignatureAndHashAlgorithm
|
||||
* supported_signature_algorithms<2..2^16-2>;
|
||||
*/
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SIG_ALG >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SIG_ALG ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_SIG_ALG );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_SIG_ALG );
|
||||
|
||||
*p++ = (unsigned char)( ( ( sig_alg_len + 2 ) >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( ( sig_alg_len + 2 ) ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( sig_alg_len + 2 );
|
||||
*p++ = MBEDTLS_CHAR_0( sig_alg_len + 2 );
|
||||
|
||||
*p++ = (unsigned char)( ( sig_alg_len >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( sig_alg_len ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( sig_alg_len );
|
||||
*p++ = MBEDTLS_CHAR_0( sig_alg_len );
|
||||
|
||||
*olen = 6 + sig_alg_len;
|
||||
|
||||
@ -358,16 +356,14 @@ static int ssl_write_supported_elliptic_curves_ext( mbedtls_ssl_context *ssl,
|
||||
elliptic_curve_list[elliptic_curve_len++] = info->tls_id & 0xFF;
|
||||
}
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES >> 8 )
|
||||
& 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES )
|
||||
& 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES );
|
||||
|
||||
*p++ = (unsigned char)( ( ( elliptic_curve_len + 2 ) >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( ( elliptic_curve_len + 2 ) ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( elliptic_curve_len + 2 );
|
||||
*p++ = MBEDTLS_CHAR_0( elliptic_curve_len + 2 );
|
||||
|
||||
*p++ = (unsigned char)( ( ( elliptic_curve_len ) >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( ( elliptic_curve_len ) ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( elliptic_curve_len );
|
||||
*p++ = MBEDTLS_CHAR_0( elliptic_curve_len );
|
||||
|
||||
*olen = 6 + elliptic_curve_len;
|
||||
|
||||
@ -388,10 +384,8 @@ static int ssl_write_supported_point_formats_ext( mbedtls_ssl_context *ssl,
|
||||
( "client hello, adding supported_point_formats extension" ) );
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, 6 );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS >> 8 )
|
||||
& 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS )
|
||||
& 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS );
|
||||
|
||||
*p++ = 0x00;
|
||||
*p++ = 2;
|
||||
@ -427,8 +421,8 @@ static int ssl_write_ecjpake_kkpp_ext( mbedtls_ssl_context *ssl,
|
||||
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, 4 );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_ECJPAKE_KKPP >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_ECJPAKE_KKPP ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_ECJPAKE_KKPP );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_ECJPAKE_KKPP );
|
||||
|
||||
/*
|
||||
* We may need to send ClientHello multiple times for Hello verification.
|
||||
@ -470,8 +464,8 @@ static int ssl_write_ecjpake_kkpp_ext( mbedtls_ssl_context *ssl,
|
||||
memcpy( p + 2, ssl->handshake->ecjpake_cache, kkpp_len );
|
||||
}
|
||||
|
||||
*p++ = (unsigned char)( ( kkpp_len >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( kkpp_len ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( kkpp_len );
|
||||
*p++ = MBEDTLS_CHAR_0( kkpp_len );
|
||||
|
||||
*olen = kkpp_len + 4;
|
||||
|
||||
@ -510,11 +504,11 @@ static int ssl_write_cid_ext( mbedtls_ssl_context *ssl,
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, (unsigned)( ssl->own_cid_len + 5 ) );
|
||||
|
||||
/* Add extension ID + size */
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_CID >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_CID ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_CID );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_CID );
|
||||
ext_len = (size_t) ssl->own_cid_len + 1;
|
||||
*p++ = (unsigned char)( ( ext_len >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( ext_len ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( ext_len );
|
||||
*p++ = MBEDTLS_CHAR_0( ext_len );
|
||||
|
||||
*p++ = (uint8_t) ssl->own_cid_len;
|
||||
memcpy( p, ssl->own_cid, ssl->own_cid_len );
|
||||
@ -543,10 +537,8 @@ static int ssl_write_max_fragment_length_ext( mbedtls_ssl_context *ssl,
|
||||
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, 5 );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH >> 8 )
|
||||
& 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH )
|
||||
& 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH );
|
||||
|
||||
*p++ = 0x00;
|
||||
*p++ = 1;
|
||||
@ -577,8 +569,8 @@ static int ssl_write_encrypt_then_mac_ext( mbedtls_ssl_context *ssl,
|
||||
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, 4 );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC );
|
||||
|
||||
*p++ = 0x00;
|
||||
*p++ = 0x00;
|
||||
@ -607,10 +599,8 @@ static int ssl_write_extended_ms_ext( mbedtls_ssl_context *ssl,
|
||||
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, 4 );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET >> 8 )
|
||||
& 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET )
|
||||
& 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET );
|
||||
|
||||
*p++ = 0x00;
|
||||
*p++ = 0x00;
|
||||
@ -641,11 +631,11 @@ static int ssl_write_session_ticket_ext( mbedtls_ssl_context *ssl,
|
||||
/* The addition is safe here since the ticket length is 16 bit. */
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, 4 + tlen );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SESSION_TICKET >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SESSION_TICKET ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_SESSION_TICKET );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_SESSION_TICKET );
|
||||
|
||||
*p++ = (unsigned char)( ( tlen >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( tlen ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( tlen );
|
||||
*p++ = MBEDTLS_CHAR_0( tlen );
|
||||
|
||||
*olen = 4;
|
||||
|
||||
@ -685,8 +675,8 @@ static int ssl_write_alpn_ext( mbedtls_ssl_context *ssl,
|
||||
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, 6 + alpnlen );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_ALPN >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_ALPN ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_ALPN );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_ALPN );
|
||||
|
||||
/*
|
||||
* opaque ProtocolName<1..2^8-1>;
|
||||
@ -713,12 +703,12 @@ static int ssl_write_alpn_ext( mbedtls_ssl_context *ssl,
|
||||
*olen = p - buf;
|
||||
|
||||
/* List length = olen - 2 (ext_type) - 2 (ext_len) - 2 (list_len) */
|
||||
buf[4] = (unsigned char)( ( ( *olen - 6 ) >> 8 ) & 0xFF );
|
||||
buf[5] = (unsigned char)( ( ( *olen - 6 ) ) & 0xFF );
|
||||
buf[4] = MBEDTLS_CHAR_1( *olen - 6 );
|
||||
buf[5] = MBEDTLS_CHAR_0( *olen - 6 );
|
||||
|
||||
/* Extension length = olen - 2 (ext_type) - 2 (ext_len) */
|
||||
buf[2] = (unsigned char)( ( ( *olen - 4 ) >> 8 ) & 0xFF );
|
||||
buf[3] = (unsigned char)( ( ( *olen - 4 ) ) & 0xFF );
|
||||
buf[2] = MBEDTLS_CHAR_1( *olen - 4 );
|
||||
buf[3] = MBEDTLS_CHAR_0( *olen - 4 );
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
@ -770,12 +760,12 @@ static int ssl_write_use_srtp_ext( mbedtls_ssl_context *ssl,
|
||||
*/
|
||||
MBEDTLS_SSL_CHK_BUF_PTR( p, end, ext_len + 4 );
|
||||
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_USE_SRTP >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_USE_SRTP ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( MBEDTLS_TLS_EXT_USE_SRTP );
|
||||
*p++ = MBEDTLS_CHAR_0( MBEDTLS_TLS_EXT_USE_SRTP );
|
||||
|
||||
|
||||
*p++ = (unsigned char)( ( ( ext_len & 0xFF00 ) >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ext_len & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( ext_len & 0xFF00 );
|
||||
*p++ = MBEDTLS_CHAR_0( ext_len );
|
||||
|
||||
/* protection profile length: 2*(ssl->conf->dtls_srtp_profile_list_len) */
|
||||
/* micro-optimization:
|
||||
@ -786,8 +776,7 @@ static int ssl_write_use_srtp_ext( mbedtls_ssl_context *ssl,
|
||||
* >> 8 ) & 0xFF );
|
||||
*/
|
||||
*p++ = 0;
|
||||
*p++ = (unsigned char)( ( 2 * ssl->conf->dtls_srtp_profile_list_len )
|
||||
& 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_0( 2 * ssl->conf->dtls_srtp_profile_list_len );
|
||||
|
||||
for( protection_profiles_index=0;
|
||||
protection_profiles_index < ssl->conf->dtls_srtp_profile_list_len;
|
||||
@ -799,8 +788,8 @@ static int ssl_write_use_srtp_ext( mbedtls_ssl_context *ssl,
|
||||
{
|
||||
MBEDTLS_SSL_DEBUG_MSG( 3, ( "ssl_write_use_srtp_ext, add profile: %04x",
|
||||
profile_value ) );
|
||||
*p++ = ( ( profile_value >> 8 ) & 0xFF );
|
||||
*p++ = ( profile_value & 0xFF );
|
||||
*p++ = MBEDTLS_BYTE_1( profile_value );
|
||||
*p++ = MBEDTLS_BYTE_0( profile_value );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1334,8 +1323,8 @@ static int ssl_write_client_hello( mbedtls_ssl_context *ssl )
|
||||
{
|
||||
/* No need to check for space here, because the extension
|
||||
* writing functions already took care of that. */
|
||||
*p++ = (unsigned char)( ( ext_len >> 8 ) & 0xFF );
|
||||
*p++ = (unsigned char)( ( ext_len ) & 0xFF );
|
||||
*p++ = MBEDTLS_CHAR_1( ext_len );
|
||||
*p++ = MBEDTLS_CHAR_0( ext_len );
|
||||
p += ext_len;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user