1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

Start adding ticket keys (only key_name for now)

This commit is contained in:
Manuel Pégourié-Gonnard
2013-08-03 13:50:48 +02:00
committed by Paul Bakker
parent aa0d4d1aff
commit 779e42982c
3 changed files with 52 additions and 5 deletions

View File

@ -2972,6 +2972,28 @@ int ssl_session_reset( ssl_context *ssl )
return( 0 );
}
/*
* Allocate and initialize ticket keys
*/
static int ssl_ticket_keys_init( ssl_context *ssl )
{
int ret;
ssl_ticket_keys *tkeys;
if( ssl->ticket_keys != NULL )
return( 0 );
if( ( tkeys = polarssl_malloc( sizeof( ssl_ticket_keys ) ) ) == NULL )
return( POLARSSL_ERR_SSL_MALLOC_FAILED );
if( ( ret = ssl->f_rng( ssl->p_rng, tkeys->key_name, 16 ) ) != 0 )
return( ret );
ssl->ticket_keys = tkeys;
return( 0 );
}
/*
* SSL set accessors
*/
@ -3232,7 +3254,13 @@ int ssl_set_session_tickets( ssl_context *ssl, int use_tickets )
{
ssl->session_tickets = use_tickets;
return( 0 );
if( ssl->endpoint == SSL_IS_CLIENT )
return( 0 );
if( ssl->f_rng == NULL )
return( POLARSSL_ERR_SSL_BAD_INPUT_DATA );
return( ssl_ticket_keys_init( ssl ) );
}
/*
@ -3671,6 +3699,8 @@ void ssl_free( ssl_context *ssl )
polarssl_free( ssl->session );
}
polarssl_free( ssl->ticket_keys );
if ( ssl->hostname != NULL)
{
memset( ssl->hostname, 0, ssl->hostname_len );