diff options
Diffstat (limited to 'roms/skiboot/libstb/crypto/mbedtls/tests/suites/test_suite_ssl.function')
-rw-r--r-- | roms/skiboot/libstb/crypto/mbedtls/tests/suites/test_suite_ssl.function | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/roms/skiboot/libstb/crypto/mbedtls/tests/suites/test_suite_ssl.function b/roms/skiboot/libstb/crypto/mbedtls/tests/suites/test_suite_ssl.function new file mode 100644 index 000000000..326f22d3b --- /dev/null +++ b/roms/skiboot/libstb/crypto/mbedtls/tests/suites/test_suite_ssl.function @@ -0,0 +1,54 @@ +/* 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( data_t * prevs, data_t * new, int ret ) +{ + uint32_t len = 0; + mbedtls_ssl_context ssl; + mbedtls_ssl_config conf; + + 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( len = 0; len < prevs->len; len += 6 ) + { + memcpy( ssl.in_ctr + 2, prevs->x + len, 6 ); + mbedtls_ssl_dtls_replay_update( &ssl ); + } + + /* Check new number */ + memcpy( ssl.in_ctr + 2, new->x, 6 ); + 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 */ |