1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-30 22:43:08 +03:00

Add ssl_set_client_transport_id()

This commit is contained in:
Manuel Pégourié-Gonnard
2014-07-22 17:32:01 +02:00
committed by Paul Bakker
parent fb2d22371f
commit 43c021874d
3 changed files with 65 additions and 0 deletions

View File

@ -351,6 +351,26 @@ static int ssl_parse_ticket( ssl_context *ssl,
}
#endif /* POLARSSL_SSL_SESSION_TICKETS */
#if defined(POLARSSL_SSL_PROTO_DTLS)
int ssl_set_client_transport_id( ssl_context *ssl,
const unsigned char *info,
size_t ilen )
{
if( ssl->endpoint != SSL_IS_SERVER )
return( POLARSSL_ERR_SSL_BAD_INPUT_DATA );
polarssl_free( ssl->cli_id );
if( ( ssl->cli_id = polarssl_malloc( ilen ) ) == NULL )
return( POLARSSL_ERR_SSL_MALLOC_FAILED );
memcpy( ssl->cli_id, info, ilen );
ssl->cli_id_len = ilen;
return( 0 );
}
#endif /* POLARSSL_SSL_PROTO_DTLS */
#if defined(POLARSSL_SSL_SERVER_NAME_INDICATION)
/*
* Wrapper around f_sni, allowing use of ssl_set_own_cert() but

View File

@ -3749,6 +3749,12 @@ int ssl_session_reset( ssl_context *ssl )
ssl->alpn_chosen = NULL;
#endif
#if defined(POLARSSL_SSL_PROTO_DTLS) && defined(POLARSSL_SSL_SRV_C)
polarssl_free( ssl->cli_id );
ssl->cli_id = NULL;
ssl->cli_id_len = 0;
#endif
if( ( ret = ssl_handshake_init( ssl ) ) != 0 )
return( ret );
@ -5033,6 +5039,10 @@ void ssl_free( ssl_context *ssl )
}
#endif
#if defined(POLARSSL_SSL_PROTO_DTLS) && defined(POLARSSL_SSL_SRV_C)
polarssl_free( ssl->cli_id );
#endif
SSL_DEBUG_MSG( 2, ( "<= free" ) );
/* Actually clear after last debug message */