diff --git a/tests/suites/test_suite_ssl.function b/tests/suites/test_suite_ssl.function index 0b03beb7e..549e8dee1 100644 --- a/tests/suites/test_suite_ssl.function +++ b/tests/suites/test_suite_ssl.function @@ -20,6 +20,7 @@ void test_callback_buffer_sanity() unsigned char input[MSGLEN]; unsigned char output[MSGLEN]; + USE_PSA_INIT(); memset(input, 0, sizeof(input)); /* Make sure calling put and get on NULL buffer results in error. */ @@ -72,8 +73,8 @@ void test_callback_buffer_sanity() exit: - mbedtls_test_ssl_buffer_free(&buf); + USE_PSA_DONE(); } /* END_CASE */ @@ -107,6 +108,7 @@ void test_callback_buffer(int size, int put1, int put1_ret, size_t output_len; size_t i, j, written, read; + USE_PSA_INIT(); mbedtls_test_ssl_buffer_init(&buf); TEST_ASSERT(mbedtls_test_ssl_buffer_setup(&buf, size) == 0); @@ -182,10 +184,10 @@ void test_callback_buffer(int size, int put1, int put1_ret, } exit: - mbedtls_free(input); mbedtls_free(output); mbedtls_test_ssl_buffer_free(&buf); + USE_PSA_DONE(); } /* END_CASE */ @@ -202,6 +204,7 @@ void ssl_mock_sanity() unsigned char received[MSGLEN] = { 0 }; mbedtls_test_mock_socket socket; + USE_PSA_INIT(); mbedtls_test_mock_socket_init(&socket); TEST_ASSERT(mbedtls_test_mock_tcp_send_b(&socket, message, MSGLEN) < 0); mbedtls_test_mock_socket_close(&socket); @@ -217,8 +220,8 @@ void ssl_mock_sanity() mbedtls_test_mock_socket_close(&socket); exit: - mbedtls_test_mock_socket_close(&socket); + USE_PSA_DONE(); } /* END_CASE */ @@ -242,6 +245,7 @@ void ssl_mock_tcp(int blocking) mbedtls_ssl_recv_t *recv; unsigned i; + USE_PSA_INIT(); if (blocking == 0) { send = mbedtls_test_mock_tcp_send_nb; recv = mbedtls_test_mock_tcp_recv_nb; @@ -309,9 +313,9 @@ void ssl_mock_tcp(int blocking) TEST_ASSERT(memcmp(message, received, MSGLEN) == 0); exit: - mbedtls_test_mock_socket_close(&client); mbedtls_test_mock_socket_close(&server); + USE_PSA_DONE(); } /* END_CASE */ @@ -339,6 +343,7 @@ void ssl_mock_tcp_interleaving(int blocking) mbedtls_ssl_send_t *send; mbedtls_ssl_recv_t *recv; + USE_PSA_INIT(); if (blocking == 0) { send = mbedtls_test_mock_tcp_send_nb; recv = mbedtls_test_mock_tcp_recv_nb; @@ -437,9 +442,9 @@ void ssl_mock_tcp_interleaving(int blocking) } exit: - mbedtls_test_mock_socket_close(&client); mbedtls_test_mock_socket_close(&server); + USE_PSA_DONE(); } /* END_CASE */ @@ -448,6 +453,7 @@ void ssl_message_queue_sanity() { mbedtls_test_ssl_message_queue queue; + USE_PSA_INIT(); /* Trying to push/pull to an empty queue */ TEST_ASSERT(mbedtls_test_ssl_message_queue_push_info(NULL, 1) == MBEDTLS_TEST_ERROR_ARG_NULL); @@ -460,6 +466,7 @@ void ssl_message_queue_sanity() exit: mbedtls_test_ssl_message_queue_free(&queue); + USE_PSA_DONE(); } /* END_CASE */ @@ -468,6 +475,7 @@ void ssl_message_queue_basic() { mbedtls_test_ssl_message_queue queue; + USE_PSA_INIT(); TEST_ASSERT(mbedtls_test_ssl_message_queue_setup(&queue, 3) == 0); /* Sanity test - 3 pushes and 3 pops with sufficient space */ @@ -487,6 +495,7 @@ void ssl_message_queue_basic() exit: mbedtls_test_ssl_message_queue_free(&queue); + USE_PSA_DONE(); } /* END_CASE */ @@ -495,6 +504,7 @@ void ssl_message_queue_overflow_underflow() { mbedtls_test_ssl_message_queue queue; + USE_PSA_INIT(); TEST_ASSERT(mbedtls_test_ssl_message_queue_setup(&queue, 3) == 0); /* 4 pushes (last one with an error), 4 pops (last one with an error) */ @@ -513,6 +523,7 @@ void ssl_message_queue_overflow_underflow() exit: mbedtls_test_ssl_message_queue_free(&queue); + USE_PSA_DONE(); } /* END_CASE */ @@ -521,6 +532,7 @@ void ssl_message_queue_interleaved() { mbedtls_test_ssl_message_queue queue; + USE_PSA_INIT(); TEST_ASSERT(mbedtls_test_ssl_message_queue_setup(&queue, 3) == 0); /* Interleaved test - [2 pushes, 1 pop] twice, and then two pops @@ -547,6 +559,7 @@ void ssl_message_queue_interleaved() exit: mbedtls_test_ssl_message_queue_free(&queue); + USE_PSA_DONE(); } /* END_CASE */ @@ -557,6 +570,7 @@ void ssl_message_queue_insufficient_buffer() size_t message_len = 10; size_t buffer_len = 5; + USE_PSA_INIT(); TEST_ASSERT(mbedtls_test_ssl_message_queue_setup(&queue, 1) == 0); /* Popping without a sufficient buffer */ @@ -566,6 +580,7 @@ void ssl_message_queue_insufficient_buffer() == (int) buffer_len); exit: mbedtls_test_ssl_message_queue_free(&queue); + USE_PSA_DONE(); } /* END_CASE */ @@ -580,6 +595,7 @@ void ssl_message_mock_uninitialized() mbedtls_test_message_socket_init(&server_context); mbedtls_test_message_socket_init(&client_context); + USE_PSA_INIT(); /* Send with a NULL context */ TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(NULL, message, MSGLEN) == MBEDTLS_TEST_ERROR_CONTEXT_ERROR); @@ -618,6 +634,7 @@ void ssl_message_mock_uninitialized() exit: mbedtls_test_message_socket_close(&server_context); mbedtls_test_message_socket_close(&client_context); + USE_PSA_DONE(); } /* END_CASE */ @@ -630,6 +647,8 @@ void ssl_message_mock_basic() unsigned i; mbedtls_test_ssl_message_queue server_queue, client_queue; mbedtls_test_message_socket_context server_context, client_context; + + USE_PSA_INIT(); mbedtls_test_message_socket_init(&server_context); mbedtls_test_message_socket_init(&client_context); @@ -677,6 +696,7 @@ void ssl_message_mock_basic() exit: mbedtls_test_message_socket_close(&server_context); mbedtls_test_message_socket_close(&client_context); + USE_PSA_DONE(); } /* END_CASE */ @@ -689,6 +709,8 @@ void ssl_message_mock_queue_overflow_underflow() unsigned i; mbedtls_test_ssl_message_queue server_queue, client_queue; mbedtls_test_message_socket_context server_context, client_context; + + USE_PSA_INIT(); mbedtls_test_message_socket_init(&server_context); mbedtls_test_message_socket_init(&client_context); @@ -741,6 +763,7 @@ void ssl_message_mock_queue_overflow_underflow() exit: mbedtls_test_message_socket_close(&server_context); mbedtls_test_message_socket_close(&client_context); + USE_PSA_DONE(); } /* END_CASE */ @@ -753,6 +776,8 @@ void ssl_message_mock_socket_overflow() unsigned i; mbedtls_test_ssl_message_queue server_queue, client_queue; mbedtls_test_message_socket_context server_context, client_context; + + USE_PSA_INIT(); mbedtls_test_message_socket_init(&server_context); mbedtls_test_message_socket_init(&client_context); @@ -793,6 +818,7 @@ void ssl_message_mock_socket_overflow() exit: mbedtls_test_message_socket_close(&server_context); mbedtls_test_message_socket_close(&client_context); + USE_PSA_DONE(); } /* END_CASE */ @@ -805,6 +831,8 @@ void ssl_message_mock_truncated() unsigned i; mbedtls_test_ssl_message_queue server_queue, client_queue; mbedtls_test_message_socket_context server_context, client_context; + + USE_PSA_INIT(); mbedtls_test_message_socket_init(&server_context); mbedtls_test_message_socket_init(&client_context); @@ -857,6 +885,7 @@ void ssl_message_mock_truncated() exit: mbedtls_test_message_socket_close(&server_context); mbedtls_test_message_socket_close(&client_context); + USE_PSA_DONE(); } /* END_CASE */ @@ -869,6 +898,8 @@ void ssl_message_mock_socket_read_error() unsigned i; mbedtls_test_ssl_message_queue server_queue, client_queue; mbedtls_test_message_socket_context server_context, client_context; + + USE_PSA_INIT(); mbedtls_test_message_socket_init(&server_context); mbedtls_test_message_socket_init(&client_context); @@ -915,6 +946,7 @@ void ssl_message_mock_socket_read_error() exit: mbedtls_test_message_socket_close(&server_context); mbedtls_test_message_socket_close(&client_context); + USE_PSA_DONE(); } /* END_CASE */ @@ -927,6 +959,8 @@ void ssl_message_mock_interleaved_one_way() unsigned i; mbedtls_test_ssl_message_queue server_queue, client_queue; mbedtls_test_message_socket_context server_context, client_context; + + USE_PSA_INIT(); mbedtls_test_message_socket_init(&server_context); mbedtls_test_message_socket_init(&client_context); @@ -975,6 +1009,7 @@ void ssl_message_mock_interleaved_one_way() exit: mbedtls_test_message_socket_close(&server_context); mbedtls_test_message_socket_close(&client_context); + USE_PSA_DONE(); } /* END_CASE */ @@ -987,6 +1022,8 @@ void ssl_message_mock_interleaved_two_ways() unsigned i; mbedtls_test_ssl_message_queue server_queue, client_queue; mbedtls_test_message_socket_context server_context, client_context; + + USE_PSA_INIT(); mbedtls_test_message_socket_init(&server_context); mbedtls_test_message_socket_init(&client_context); @@ -1062,6 +1099,7 @@ void ssl_message_mock_interleaved_two_ways() exit: mbedtls_test_message_socket_close(&server_context); mbedtls_test_message_socket_close(&client_context); + USE_PSA_DONE(); } /* END_CASE */ @@ -1074,6 +1112,7 @@ void ssl_dtls_replay(data_t *prevs, data_t *new, int ret) mbedtls_ssl_init(&ssl); mbedtls_ssl_config_init(&conf); + USE_PSA_INIT(); TEST_ASSERT(mbedtls_ssl_config_defaults(&conf, MBEDTLS_SSL_IS_CLIENT, @@ -1091,8 +1130,10 @@ void ssl_dtls_replay(data_t *prevs, data_t *new, int ret) memcpy(ssl.in_ctr + 2, new->x, 6); TEST_ASSERT(mbedtls_ssl_dtls_replay_check(&ssl) == ret); +exit: mbedtls_ssl_free(&ssl); mbedtls_ssl_config_free(&conf); + USE_PSA_DONE(); } /* END_CASE */ @@ -1100,12 +1141,16 @@ void ssl_dtls_replay(data_t *prevs, data_t *new, int ret) void ssl_set_hostname_twice(char *hostname0, char *hostname1) { mbedtls_ssl_context ssl; + + USE_PSA_INIT(); mbedtls_ssl_init(&ssl); TEST_ASSERT(mbedtls_ssl_set_hostname(&ssl, hostname0) == 0); TEST_ASSERT(mbedtls_ssl_set_hostname(&ssl, hostname1) == 0); +exit: mbedtls_ssl_free(&ssl); + USE_PSA_DONE(); } /* END_CASE */ @@ -1130,6 +1175,8 @@ void ssl_crypt_record(int cipher_type, int hash_id, mbedtls_record rec, rec_backup; mbedtls_ssl_init(&ssl); + USE_PSA_INIT(); + mbedtls_ssl_transform_init(&t0); mbedtls_ssl_transform_init(&t1); TEST_ASSERT(mbedtls_test_ssl_build_transforms(&t0, &t1, cipher_type, hash_id, @@ -1230,8 +1277,8 @@ exit: mbedtls_ssl_free(&ssl); mbedtls_ssl_transform_free(&t0); mbedtls_ssl_transform_free(&t1); - mbedtls_free(buf); + USE_PSA_DONE(); } /* END_CASE */ @@ -1279,6 +1326,7 @@ void ssl_crypt_record_small(int cipher_type, int hash_id, * already seen a successful test. */ mbedtls_ssl_init(&ssl); + USE_PSA_INIT(); mbedtls_ssl_transform_init(&t0); mbedtls_ssl_transform_init(&t1); TEST_ASSERT(mbedtls_test_ssl_build_transforms(&t0, &t1, cipher_type, hash_id, @@ -1390,8 +1438,8 @@ exit: mbedtls_ssl_free(&ssl); mbedtls_ssl_transform_free(&t0); mbedtls_ssl_transform_free(&t1); - mbedtls_free(buf); + USE_PSA_DONE(); } /* END_CASE */ @@ -1429,6 +1477,7 @@ void ssl_decrypt_non_etm_cbc(int cipher_type, int hash_id, int trunc_hmac, const unsigned char pad_max_len = 255; /* Per the standard */ mbedtls_ssl_init(&ssl); + USE_PSA_INIT(); mbedtls_ssl_transform_init(&t0); mbedtls_ssl_transform_init(&t1); @@ -1601,6 +1650,7 @@ exit: mbedtls_ssl_transform_free(&t1); mbedtls_free(buf); mbedtls_free(buf_save); + USE_PSA_DONE(); } /* END_CASE */ @@ -1788,7 +1838,7 @@ void ssl_serialize_session_save_load(int ticket_len, char *crt_file) /* * Test that a save-load pair is the identity */ - + USE_PSA_INIT(); mbedtls_ssl_session_init(&original); mbedtls_ssl_session_init(&restored); @@ -1875,6 +1925,7 @@ exit: mbedtls_ssl_session_free(&original); mbedtls_ssl_session_free(&restored); mbedtls_free(buf); + USE_PSA_DONE(); } /* END_CASE */ @@ -1888,7 +1939,7 @@ void ssl_serialize_session_load_save(int ticket_len, char *crt_file) /* * Test that a load-save pair is the identity */ - + USE_PSA_INIT(); mbedtls_ssl_session_init(&session); /* Prepare a dummy session to work on */ @@ -1926,6 +1977,7 @@ exit: mbedtls_ssl_session_free(&session); mbedtls_free(buf1); mbedtls_free(buf2); + USE_PSA_DONE(); } /* END_CASE */ @@ -1939,7 +1991,7 @@ void ssl_serialize_session_save_buf_size(int ticket_len, char *crt_file) /* * Test that session_save() fails cleanly on small buffers */ - + USE_PSA_INIT(); mbedtls_ssl_session_init(&session); /* Prepare dummy session and get serialized size */ @@ -1962,6 +2014,7 @@ void ssl_serialize_session_save_buf_size(int ticket_len, char *crt_file) exit: mbedtls_ssl_session_free(&session); mbedtls_free(buf); + USE_PSA_DONE(); } /* END_CASE */ @@ -1975,7 +2028,7 @@ void ssl_serialize_session_load_buf_size(int ticket_len, char *crt_file) /* * Test that session_load() fails cleanly on small buffers */ - + USE_PSA_INIT(); mbedtls_ssl_session_init(&session); /* Prepare serialized session data */ @@ -2004,6 +2057,7 @@ exit: mbedtls_ssl_session_free(&session); mbedtls_free(good_buf); mbedtls_free(bad_buf); + USE_PSA_DONE(); } /* END_CASE */ @@ -2023,6 +2077,7 @@ void ssl_session_serialize_version_check(int corrupt_major, corrupt_config == 1, corrupt_config == 1 }; + USE_PSA_INIT(); mbedtls_ssl_session_init(&session); /* Infer length of serialized session. */ @@ -2065,7 +2120,7 @@ void ssl_session_serialize_version_check(int corrupt_major, *byte ^= corrupted_bit; } } - + USE_PSA_DONE(); } /* END_CASE */ @@ -2076,6 +2131,7 @@ void mbedtls_endpoint_sanity(int endpoint_type) mbedtls_test_ssl_endpoint ep; int ret = -1; + USE_PSA_INIT(); ret = mbedtls_test_ssl_endpoint_init(NULL, endpoint_type, MBEDTLS_PK_RSA, NULL, NULL, NULL, NULL); TEST_ASSERT(MBEDTLS_ERR_SSL_BAD_INPUT_DATA == ret); @@ -2089,6 +2145,7 @@ void mbedtls_endpoint_sanity(int endpoint_type) exit: mbedtls_test_ssl_endpoint_free(&ep, NULL); + USE_PSA_DONE(); } /* END_CASE */ @@ -2099,6 +2156,7 @@ void move_handshake_to_state(int endpoint_type, int state, int need_pass) mbedtls_test_ssl_endpoint base_ep, second_ep; int ret = -1; + USE_PSA_INIT(); mbedtls_platform_zeroize(&base_ep, sizeof(base_ep)); mbedtls_platform_zeroize(&second_ep, sizeof(second_ep)); @@ -2133,6 +2191,7 @@ void move_handshake_to_state(int endpoint_type, int state, int need_pass) exit: mbedtls_test_ssl_endpoint_free(&base_ep, NULL); mbedtls_test_ssl_endpoint_free(&second_ep, NULL); + USE_PSA_DONE(); } /* END_CASE */ @@ -2329,9 +2388,10 @@ void resize_buffers(int mfl, int renegotiation, int legacy_renegotiation, /* BEGIN_CASE depends_on:MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED:MBEDTLS_CERTS_C:!MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_CONTEXT_SERIALIZATION:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C:MBEDTLS_SHA256_C:MBEDTLS_CAN_HANDLE_RSA_TEST_KEY */ void resize_buffers_serialize_mfl(int mfl) { + USE_PSA_INIT(); test_resize_buffers(mfl, 0, MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION, 1, 1, (char *) ""); - + USE_PSA_DONE(); /* The goto below is used to avoid an "unused label" warning.*/ goto exit; } @@ -2341,8 +2401,9 @@ void resize_buffers_serialize_mfl(int mfl) void resize_buffers_renegotiate_mfl(int mfl, int legacy_renegotiation, char *cipher) { + USE_PSA_INIT(); test_resize_buffers(mfl, 1, legacy_renegotiation, 0, 1, cipher); - + USE_PSA_DONE(); /* The goto below is used to avoid an "unused label" warning.*/ goto exit; } @@ -2422,6 +2483,7 @@ void cookie_parsing(data_t *cookie, int exp_ret) size_t len; mbedtls_ssl_init(&ssl); + USE_PSA_INIT(); mbedtls_ssl_config_init(&conf); TEST_EQUAL(mbedtls_ssl_config_defaults(&conf, MBEDTLS_SSL_IS_SERVER, MBEDTLS_SSL_TRANSPORT_DATAGRAM, @@ -2437,7 +2499,9 @@ void cookie_parsing(data_t *cookie, int exp_ret) &len), exp_ret); +exit: mbedtls_ssl_free(&ssl); mbedtls_ssl_config_free(&conf); + USE_PSA_DONE(); } /* END_CASE */