|  | /* BEGIN_HEADER */ | 
|  | #include <mbedtls/ssl.h> | 
|  | #include <mbedtls/ssl_internal.h> | 
|  | /* END_HEADER */ | 
|  |  | 
|  | /* BEGIN_DEPENDENCIES | 
|  | * depends_on:MBEDTLS_SSL_TLS_C | 
|  | * END_DEPENDENCIES | 
|  | */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SSL_DTLS_ANTI_REPLAY */ | 
|  | void ssl_dtls_replay( char *prevs, char *new, int ret ) | 
|  | { | 
|  | mbedtls_ssl_context ssl; | 
|  | mbedtls_ssl_config conf; | 
|  | char *end_prevs = prevs + strlen( prevs ) + 1; | 
|  |  | 
|  | mbedtls_ssl_init( &ssl ); | 
|  | mbedtls_ssl_config_init( &conf ); | 
|  |  | 
|  | TEST_ASSERT( mbedtls_ssl_config_defaults( &conf, | 
|  | MBEDTLS_SSL_IS_CLIENT, | 
|  | MBEDTLS_SSL_TRANSPORT_DATAGRAM, | 
|  | MBEDTLS_SSL_PRESET_DEFAULT ) == 0 ); | 
|  | TEST_ASSERT( mbedtls_ssl_setup( &ssl, &conf ) == 0 ); | 
|  |  | 
|  | /* Read previous record numbers */ | 
|  | for( ; end_prevs - prevs >= 13; prevs += 13 ) | 
|  | { | 
|  | prevs[12] = '\0'; | 
|  | unhexify( ssl.in_ctr + 2, prevs ); | 
|  | mbedtls_ssl_dtls_replay_update( &ssl ); | 
|  | } | 
|  |  | 
|  | /* Check new number */ | 
|  | unhexify( ssl.in_ctr + 2, new ); | 
|  | TEST_ASSERT( mbedtls_ssl_dtls_replay_check( &ssl ) == ret ); | 
|  |  | 
|  | mbedtls_ssl_free( &ssl ); | 
|  | mbedtls_ssl_config_free( &conf ); | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C */ | 
|  | void ssl_set_hostname_twice( char *hostname0, char *hostname1 ) | 
|  | { | 
|  | mbedtls_ssl_context ssl; | 
|  | mbedtls_ssl_init( &ssl ); | 
|  |  | 
|  | TEST_ASSERT( mbedtls_ssl_set_hostname( &ssl, hostname0 ) == 0 ); | 
|  | TEST_ASSERT( mbedtls_ssl_set_hostname( &ssl, hostname1 ) == 0 ); | 
|  |  | 
|  | mbedtls_ssl_free( &ssl ); | 
|  | } | 
|  | /* END_CASE */ |