mirror of
https://github.com/cuberite/polarssl.git
synced 2025-09-10 07:36:28 -04:00
Rewrap the lines to fit code standard in test_suite_ssl.function
As the typedef statements and functions are renamed in commit abfdcd8 and commit c463849 respectively. This commit aims to align code lines to fit code standard and improve code readability. Signed-off-by: Yanray Wang <yanray.wang@arm.com>
This commit is contained in:
parent
c463849598
commit
862ef862fd
@ -25,8 +25,8 @@ enum {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* This function can be passed to mbedtls to receive output logs from it. In
|
* This function can be passed to mbedtls to receive output logs from it. In
|
||||||
* this case, it will count the instances of a mbedtls_test_ssl_log_pattern in the received
|
* this case, it will count the instances of a mbedtls_test_ssl_log_pattern
|
||||||
* logged messages.
|
* in the received logged messages.
|
||||||
*/
|
*/
|
||||||
void mbedtls_test_ssl_log_analyzer(void *ctx, int level,
|
void mbedtls_test_ssl_log_analyzer(void *ctx, int level,
|
||||||
const char *file, int line,
|
const char *file, int line,
|
||||||
@ -45,7 +45,8 @@ void mbedtls_test_ssl_log_analyzer(void *ctx, int level,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void mbedtls_test_init_handshake_options(mbedtls_test_handshake_test_options *opts)
|
void mbedtls_test_init_handshake_options(
|
||||||
|
mbedtls_test_handshake_test_options *opts)
|
||||||
{
|
{
|
||||||
opts->cipher = "";
|
opts->cipher = "";
|
||||||
opts->client_min_version = TEST_SSL_MINOR_VERSION_NONE;
|
opts->client_min_version = TEST_SSL_MINOR_VERSION_NONE;
|
||||||
@ -83,9 +84,11 @@ void mbedtls_test_ssl_buffer_init(mbedtls_test_ssl_buffer *buf)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Sets up \p buf. After calling this function it is safe to call
|
* Sets up \p buf. After calling this function it is safe to call
|
||||||
* `mbedtls_test_ssl_buffer_put()` and `mbedtls_test_ssl_buffer_get()` on \p buf.
|
* `mbedtls_test_ssl_buffer_put()` and `mbedtls_test_ssl_buffer_get()`
|
||||||
|
* on \p buf.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_ssl_buffer_setup(mbedtls_test_ssl_buffer *buf, size_t capacity)
|
int mbedtls_test_ssl_buffer_setup(mbedtls_test_ssl_buffer *buf,
|
||||||
|
size_t capacity)
|
||||||
{
|
{
|
||||||
buf->buffer = (unsigned char *) mbedtls_calloc(capacity,
|
buf->buffer = (unsigned char *) mbedtls_calloc(capacity,
|
||||||
sizeof(unsigned char));
|
sizeof(unsigned char));
|
||||||
@ -222,8 +225,8 @@ int mbedtls_test_ssl_buffer_get(mbedtls_test_ssl_buffer *buf,
|
|||||||
* \retval 0, if a metadata queue of a given length can be allocated.
|
* \retval 0, if a metadata queue of a given length can be allocated.
|
||||||
* \retval MBEDTLS_ERR_SSL_ALLOC_FAILED, if allocation failed.
|
* \retval MBEDTLS_ERR_SSL_ALLOC_FAILED, if allocation failed.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_ssl_message_queue_setup(mbedtls_test_ssl_message_queue *queue,
|
int mbedtls_test_ssl_message_queue_setup(
|
||||||
size_t capacity)
|
mbedtls_test_ssl_message_queue *queue, size_t capacity)
|
||||||
{
|
{
|
||||||
queue->messages = (size_t *) mbedtls_calloc(capacity, sizeof(size_t));
|
queue->messages = (size_t *) mbedtls_calloc(capacity, sizeof(size_t));
|
||||||
if (NULL == queue->messages) {
|
if (NULL == queue->messages) {
|
||||||
@ -237,7 +240,8 @@ int mbedtls_test_ssl_message_queue_setup(mbedtls_test_ssl_message_queue *queue,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void mbedtls_test_ssl_message_queue_free(mbedtls_test_ssl_message_queue *queue)
|
void mbedtls_test_ssl_message_queue_free(
|
||||||
|
mbedtls_test_ssl_message_queue *queue)
|
||||||
{
|
{
|
||||||
if (queue == NULL) {
|
if (queue == NULL) {
|
||||||
return;
|
return;
|
||||||
@ -258,8 +262,8 @@ void mbedtls_test_ssl_message_queue_free(mbedtls_test_ssl_message_queue *queue)
|
|||||||
* \retval MBEDTLS_ERR_SSL_WANT_WRITE, if the queue is full.
|
* \retval MBEDTLS_ERR_SSL_WANT_WRITE, if the queue is full.
|
||||||
* \retval \p len, if the push was successful.
|
* \retval \p len, if the push was successful.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_ssl_message_queue_push_info(mbedtls_test_ssl_message_queue *queue,
|
int mbedtls_test_ssl_message_queue_push_info(
|
||||||
size_t len)
|
mbedtls_test_ssl_message_queue *queue, size_t len)
|
||||||
{
|
{
|
||||||
int place;
|
int place;
|
||||||
if (queue == NULL) {
|
if (queue == NULL) {
|
||||||
@ -286,8 +290,8 @@ int mbedtls_test_ssl_message_queue_push_info(mbedtls_test_ssl_message_queue *que
|
|||||||
* \retval message length, if the pop was successful, up to the given
|
* \retval message length, if the pop was successful, up to the given
|
||||||
\p buf_len.
|
\p buf_len.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_ssl_message_queue_pop_info(mbedtls_test_ssl_message_queue *queue,
|
int mbedtls_test_ssl_message_queue_pop_info(
|
||||||
size_t buf_len)
|
mbedtls_test_ssl_message_queue *queue, size_t buf_len)
|
||||||
{
|
{
|
||||||
size_t message_length;
|
size_t message_length;
|
||||||
if (queue == NULL) {
|
if (queue == NULL) {
|
||||||
@ -396,7 +400,8 @@ int mbedtls_test_mock_socket_connect(mbedtls_test_mock_socket *peer1,
|
|||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
peer1->output =
|
peer1->output =
|
||||||
(mbedtls_test_ssl_buffer *) mbedtls_calloc(1, sizeof(mbedtls_test_ssl_buffer));
|
(mbedtls_test_ssl_buffer *) mbedtls_calloc(
|
||||||
|
1, sizeof(mbedtls_test_ssl_buffer));
|
||||||
if (peer1->output == NULL) {
|
if (peer1->output == NULL) {
|
||||||
ret = MBEDTLS_ERR_SSL_ALLOC_FAILED;
|
ret = MBEDTLS_ERR_SSL_ALLOC_FAILED;
|
||||||
goto exit;
|
goto exit;
|
||||||
@ -407,7 +412,8 @@ int mbedtls_test_mock_socket_connect(mbedtls_test_mock_socket *peer1,
|
|||||||
}
|
}
|
||||||
|
|
||||||
peer2->output =
|
peer2->output =
|
||||||
(mbedtls_test_ssl_buffer *) mbedtls_calloc(1, sizeof(mbedtls_test_ssl_buffer));
|
(mbedtls_test_ssl_buffer *) mbedtls_calloc(
|
||||||
|
1, sizeof(mbedtls_test_ssl_buffer));
|
||||||
if (peer2->output == NULL) {
|
if (peer2->output == NULL) {
|
||||||
ret = MBEDTLS_ERR_SSL_ALLOC_FAILED;
|
ret = MBEDTLS_ERR_SSL_ALLOC_FAILED;
|
||||||
goto exit;
|
goto exit;
|
||||||
@ -439,7 +445,8 @@ exit:
|
|||||||
* Callbacks for simulating blocking I/O over connection-oriented transport.
|
* Callbacks for simulating blocking I/O over connection-oriented transport.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int mbedtls_test_mock_tcp_send_b(void *ctx, const unsigned char *buf, size_t len)
|
int mbedtls_test_mock_tcp_send_b(void *ctx,
|
||||||
|
const unsigned char *buf, size_t len)
|
||||||
{
|
{
|
||||||
mbedtls_test_mock_socket *socket = (mbedtls_test_mock_socket *) ctx;
|
mbedtls_test_mock_socket *socket = (mbedtls_test_mock_socket *) ctx;
|
||||||
|
|
||||||
@ -465,7 +472,8 @@ int mbedtls_test_mock_tcp_recv_b(void *ctx, unsigned char *buf, size_t len)
|
|||||||
* Callbacks for simulating non-blocking I/O over connection-oriented transport.
|
* Callbacks for simulating non-blocking I/O over connection-oriented transport.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int mbedtls_test_mock_tcp_send_nb(void *ctx, const unsigned char *buf, size_t len)
|
int mbedtls_test_mock_tcp_send_nb(void *ctx,
|
||||||
|
const unsigned char *buf, size_t len)
|
||||||
{
|
{
|
||||||
mbedtls_test_mock_socket *socket = (mbedtls_test_mock_socket *) ctx;
|
mbedtls_test_mock_socket *socket = (mbedtls_test_mock_socket *) ctx;
|
||||||
|
|
||||||
@ -495,7 +503,8 @@ int mbedtls_test_mock_tcp_recv_nb(void *ctx, unsigned char *buf, size_t len)
|
|||||||
return mbedtls_test_ssl_buffer_get(socket->input, buf, len);
|
return mbedtls_test_ssl_buffer_get(socket->input, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mbedtls_test_message_socket_init(mbedtls_test_message_socket_context *ctx)
|
void mbedtls_test_message_socket_init(
|
||||||
|
mbedtls_test_message_socket_context *ctx)
|
||||||
{
|
{
|
||||||
ctx->queue_input = NULL;
|
ctx->queue_input = NULL;
|
||||||
ctx->queue_output = NULL;
|
ctx->queue_output = NULL;
|
||||||
@ -511,7 +520,8 @@ void mbedtls_test_message_socket_init(mbedtls_test_message_socket_context *ctx)
|
|||||||
* \retval MBEDTLS_ERR_SSL_ALLOC_FAILED, if allocation of a message
|
* \retval MBEDTLS_ERR_SSL_ALLOC_FAILED, if allocation of a message
|
||||||
* queue failed.
|
* queue failed.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_message_socket_setup(mbedtls_test_ssl_message_queue *queue_input,
|
int mbedtls_test_message_socket_setup(
|
||||||
|
mbedtls_test_ssl_message_queue *queue_input,
|
||||||
mbedtls_test_ssl_message_queue *queue_output,
|
mbedtls_test_ssl_message_queue *queue_output,
|
||||||
size_t queue_capacity,
|
size_t queue_capacity,
|
||||||
mbedtls_test_mock_socket *socket,
|
mbedtls_test_mock_socket *socket,
|
||||||
@ -533,7 +543,8 @@ int mbedtls_test_message_socket_setup(mbedtls_test_ssl_message_queue *queue_inpu
|
|||||||
* Close a given message socket context, along with the socket itself. Free the
|
* Close a given message socket context, along with the socket itself. Free the
|
||||||
* memory allocated by the input queue.
|
* memory allocated by the input queue.
|
||||||
*/
|
*/
|
||||||
void mbedtls_test_message_socket_close(mbedtls_test_message_socket_context *ctx)
|
void mbedtls_test_message_socket_close(
|
||||||
|
mbedtls_test_message_socket_context *ctx)
|
||||||
{
|
{
|
||||||
if (ctx == NULL) {
|
if (ctx == NULL) {
|
||||||
return;
|
return;
|
||||||
@ -550,17 +561,20 @@ void mbedtls_test_message_socket_close(mbedtls_test_message_socket_context *ctx)
|
|||||||
* \retval \p len, if everything succeeds.
|
* \retval \p len, if everything succeeds.
|
||||||
* \retval MBEDTLS_TEST_ERROR_CONTEXT_ERROR, if any of the needed context
|
* \retval MBEDTLS_TEST_ERROR_CONTEXT_ERROR, if any of the needed context
|
||||||
* elements or the context itself is null.
|
* elements or the context itself is null.
|
||||||
* \retval MBEDTLS_TEST_ERROR_SEND_FAILED if mbedtls_test_mock_tcp_send_b failed.
|
* \retval MBEDTLS_TEST_ERROR_SEND_FAILED if
|
||||||
|
* mbedtls_test_mock_tcp_send_b failed.
|
||||||
* \retval MBEDTLS_ERR_SSL_WANT_WRITE, if the output queue is full.
|
* \retval MBEDTLS_ERR_SSL_WANT_WRITE, if the output queue is full.
|
||||||
*
|
*
|
||||||
* This function will also return any error from
|
* This function will also return any error from
|
||||||
* mbedtls_test_ssl_message_queue_push_info.
|
* mbedtls_test_ssl_message_queue_push_info.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_mock_tcp_send_msg(void *ctx, const unsigned char *buf, size_t len)
|
int mbedtls_test_mock_tcp_send_msg(void *ctx,
|
||||||
|
const unsigned char *buf, size_t len)
|
||||||
{
|
{
|
||||||
mbedtls_test_ssl_message_queue *queue;
|
mbedtls_test_ssl_message_queue *queue;
|
||||||
mbedtls_test_mock_socket *socket;
|
mbedtls_test_mock_socket *socket;
|
||||||
mbedtls_test_message_socket_context *context = (mbedtls_test_message_socket_context *) ctx;
|
mbedtls_test_message_socket_context *context =
|
||||||
|
(mbedtls_test_message_socket_context *) ctx;
|
||||||
|
|
||||||
if (context == NULL || context->socket == NULL
|
if (context == NULL || context->socket == NULL
|
||||||
|| context->queue_output == NULL) {
|
|| context->queue_output == NULL) {
|
||||||
@ -588,16 +602,20 @@ int mbedtls_test_mock_tcp_send_msg(void *ctx, const unsigned char *buf, size_t l
|
|||||||
* \retval message length, if everything succeeds.
|
* \retval message length, if everything succeeds.
|
||||||
* \retval MBEDTLS_TEST_ERROR_CONTEXT_ERROR, if any of the needed context
|
* \retval MBEDTLS_TEST_ERROR_CONTEXT_ERROR, if any of the needed context
|
||||||
* elements or the context itself is null.
|
* elements or the context itself is null.
|
||||||
* \retval MBEDTLS_TEST_ERROR_RECV_FAILED if mbedtls_test_mock_tcp_recv_b failed.
|
* \retval MBEDTLS_TEST_ERROR_RECV_FAILED if
|
||||||
|
* mbedtls_test_mock_tcp_recv_b failed.
|
||||||
*
|
*
|
||||||
* This function will also return any error other than
|
* This function will also return any error other than
|
||||||
* MBEDTLS_TEST_ERROR_MESSAGE_TRUNCATED from mbedtls_test_message_queue_peek_info.
|
* MBEDTLS_TEST_ERROR_MESSAGE_TRUNCATED from
|
||||||
|
* mbedtls_test_message_queue_peek_info.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_mock_tcp_recv_msg(void *ctx, unsigned char *buf, size_t buf_len)
|
int mbedtls_test_mock_tcp_recv_msg(void *ctx,
|
||||||
|
unsigned char *buf, size_t buf_len)
|
||||||
{
|
{
|
||||||
mbedtls_test_ssl_message_queue *queue;
|
mbedtls_test_ssl_message_queue *queue;
|
||||||
mbedtls_test_mock_socket *socket;
|
mbedtls_test_mock_socket *socket;
|
||||||
mbedtls_test_message_socket_context *context = (mbedtls_test_message_socket_context *) ctx;
|
mbedtls_test_message_socket_context *context =
|
||||||
|
(mbedtls_test_message_socket_context *) ctx;
|
||||||
size_t drop_len = 0;
|
size_t drop_len = 0;
|
||||||
size_t msg_len;
|
size_t msg_len;
|
||||||
int ret;
|
int ret;
|
||||||
@ -629,7 +647,8 @@ int mbedtls_test_mock_tcp_recv_msg(void *ctx, unsigned char *buf, size_t buf_len
|
|||||||
|
|
||||||
if (ret == MBEDTLS_TEST_ERROR_MESSAGE_TRUNCATED) {
|
if (ret == MBEDTLS_TEST_ERROR_MESSAGE_TRUNCATED) {
|
||||||
/* Drop the remaining part of the message */
|
/* Drop the remaining part of the message */
|
||||||
if (mbedtls_test_mock_tcp_recv_b(socket, NULL, drop_len) != (int) drop_len) {
|
if (mbedtls_test_mock_tcp_recv_b(socket, NULL, drop_len) !=
|
||||||
|
(int) drop_len) {
|
||||||
/* Inconsistent state - part of the message was read,
|
/* Inconsistent state - part of the message was read,
|
||||||
* and a part couldn't. Not much we can do here, but it should not
|
* and a part couldn't. Not much we can do here, but it should not
|
||||||
* happen in test environment, unless forced manually. */
|
* happen in test environment, unless forced manually. */
|
||||||
@ -682,7 +701,8 @@ void mbedtls_endpoint_certificate_free(mbedtls_test_ssl_endpoint *ep)
|
|||||||
*
|
*
|
||||||
* \retval 0 on success, otherwise error code.
|
* \retval 0 on success, otherwise error code.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_ssl_endpoint_certificate_init(mbedtls_test_ssl_endpoint *ep, int pk_alg)
|
int mbedtls_test_ssl_endpoint_certificate_init(mbedtls_test_ssl_endpoint *ep,
|
||||||
|
int pk_alg)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
@ -773,8 +793,9 @@ exit:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initializes \p ep structure. It is important to call `mbedtls_test_ssl_endpoint_free()`
|
* Initializes \p ep structure. It is important to call
|
||||||
* after calling this function even if it fails.
|
* `mbedtls_test_ssl_endpoint_free()` after calling this function
|
||||||
|
* even if it fails.
|
||||||
*
|
*
|
||||||
* \p endpoint_type must be set as MBEDTLS_SSL_IS_SERVER or
|
* \p endpoint_type must be set as MBEDTLS_SSL_IS_SERVER or
|
||||||
* MBEDTLS_SSL_IS_CLIENT.
|
* MBEDTLS_SSL_IS_CLIENT.
|
||||||
@ -786,7 +807,8 @@ exit:
|
|||||||
*
|
*
|
||||||
* \retval 0 on success, otherwise error code.
|
* \retval 0 on success, otherwise error code.
|
||||||
*/
|
*/
|
||||||
int mbedtls_test_ssl_endpoint_init(mbedtls_test_ssl_endpoint *ep, int endpoint_type, int pk_alg,
|
int mbedtls_test_ssl_endpoint_init(
|
||||||
|
mbedtls_test_ssl_endpoint *ep, int endpoint_type, int pk_alg,
|
||||||
mbedtls_test_message_socket_context *dtls_context,
|
mbedtls_test_message_socket_context *dtls_context,
|
||||||
mbedtls_test_ssl_message_queue *input_queue,
|
mbedtls_test_ssl_message_queue *input_queue,
|
||||||
mbedtls_test_ssl_message_queue *output_queue,
|
mbedtls_test_ssl_message_queue *output_queue,
|
||||||
@ -873,7 +895,8 @@ exit:
|
|||||||
/*
|
/*
|
||||||
* Deinitializes endpoint represented by \p ep.
|
* Deinitializes endpoint represented by \p ep.
|
||||||
*/
|
*/
|
||||||
void mbedtls_test_ssl_endpoint_free(mbedtls_test_ssl_endpoint *ep,
|
void mbedtls_test_ssl_endpoint_free(
|
||||||
|
mbedtls_test_ssl_endpoint *ep,
|
||||||
mbedtls_test_message_socket_context *context)
|
mbedtls_test_message_socket_context *context)
|
||||||
{
|
{
|
||||||
mbedtls_endpoint_certificate_free(ep);
|
mbedtls_endpoint_certificate_free(ep);
|
||||||
@ -939,8 +962,9 @@ int mbedtls_test_move_handshake_to_state(mbedtls_ssl_context *ssl,
|
|||||||
/*
|
/*
|
||||||
* Write application data. Increase write counter if necessary.
|
* Write application data. Increase write counter if necessary.
|
||||||
*/
|
*/
|
||||||
int mbedtls_ssl_write_fragment(mbedtls_ssl_context *ssl, unsigned char *buf,
|
int mbedtls_ssl_write_fragment(mbedtls_ssl_context *ssl,
|
||||||
int buf_len, int *written,
|
unsigned char *buf, int buf_len,
|
||||||
|
int *written,
|
||||||
const int expected_fragments)
|
const int expected_fragments)
|
||||||
{
|
{
|
||||||
/* Verify that calling mbedtls_ssl_write with a NULL buffer and zero length is
|
/* Verify that calling mbedtls_ssl_write with a NULL buffer and zero length is
|
||||||
@ -983,9 +1007,10 @@ exit:
|
|||||||
/*
|
/*
|
||||||
* Read application data and increase read counter and fragments counter if necessary.
|
* Read application data and increase read counter and fragments counter if necessary.
|
||||||
*/
|
*/
|
||||||
int mbedtls_ssl_read_fragment(mbedtls_ssl_context *ssl, unsigned char *buf,
|
int mbedtls_ssl_read_fragment(mbedtls_ssl_context *ssl,
|
||||||
int buf_len, int *read,
|
unsigned char *buf, int buf_len,
|
||||||
int *fragments, const int expected_fragments)
|
int *read, int *fragments,
|
||||||
|
const int expected_fragments)
|
||||||
{
|
{
|
||||||
/* Verify that calling mbedtls_ssl_write with a NULL buffer and zero length is
|
/* Verify that calling mbedtls_ssl_write with a NULL buffer and zero length is
|
||||||
* a valid no-op for TLS connections. */
|
* a valid no-op for TLS connections. */
|
||||||
@ -1079,7 +1104,7 @@ int psk_dummy_callback(void *p_info, mbedtls_ssl_context *ssl,
|
|||||||
#define SSL_CID_LEN_MIN MBEDTLS_SSL_CID_OUT_LEN_MAX
|
#define SSL_CID_LEN_MIN MBEDTLS_SSL_CID_OUT_LEN_MAX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int mbedtls_test_ssl_build_transforms(mbedtls_ssl_transform *t_in,
|
int mbedtls_test_ssl_build_transforms(mbedtls_ssl_transform *t_in,
|
||||||
mbedtls_ssl_transform *t_out,
|
mbedtls_ssl_transform *t_out,
|
||||||
int cipher_type, int hash_id,
|
int cipher_type, int hash_id,
|
||||||
int etm, int tag_mode, int ver,
|
int etm, int tag_mode, int ver,
|
||||||
@ -1330,7 +1355,7 @@ cleanup:
|
|||||||
* Populate a session structure for serialization tests.
|
* Populate a session structure for serialization tests.
|
||||||
* Choose dummy values, mostly non-0 to distinguish from the init default.
|
* Choose dummy values, mostly non-0 to distinguish from the init default.
|
||||||
*/
|
*/
|
||||||
static int mbedtls_test_ssl_populate_session(mbedtls_ssl_session *session,
|
int mbedtls_test_ssl_populate_session(mbedtls_ssl_session *session,
|
||||||
int ticket_len,
|
int ticket_len,
|
||||||
const char *crt_file)
|
const char *crt_file)
|
||||||
{
|
{
|
||||||
@ -1558,7 +1583,8 @@ int exchange_data(mbedtls_ssl_context *ssl_1,
|
|||||||
defined(MBEDTLS_CERTS_C) && \
|
defined(MBEDTLS_CERTS_C) && \
|
||||||
defined(MBEDTLS_ENTROPY_C) && \
|
defined(MBEDTLS_ENTROPY_C) && \
|
||||||
defined(MBEDTLS_CTR_DRBG_C)
|
defined(MBEDTLS_CTR_DRBG_C)
|
||||||
void mbedtls_test_ssl_perform_handshake(mbedtls_test_handshake_test_options *options)
|
void mbedtls_test_ssl_perform_handshake(
|
||||||
|
mbedtls_test_handshake_test_options *options)
|
||||||
{
|
{
|
||||||
/* forced_ciphersuite needs to last until the end of the handshake */
|
/* forced_ciphersuite needs to last until the end of the handshake */
|
||||||
int forced_ciphersuite[2];
|
int forced_ciphersuite[2];
|
||||||
@ -1590,8 +1616,10 @@ void mbedtls_test_ssl_perform_handshake(mbedtls_test_handshake_test_options *opt
|
|||||||
|
|
||||||
/* Client side */
|
/* Client side */
|
||||||
if (options->dtls != 0) {
|
if (options->dtls != 0) {
|
||||||
TEST_ASSERT(mbedtls_test_ssl_endpoint_init(&client, MBEDTLS_SSL_IS_CLIENT,
|
TEST_ASSERT(mbedtls_test_ssl_endpoint_init(&client,
|
||||||
options->pk_alg, &client_context,
|
MBEDTLS_SSL_IS_CLIENT,
|
||||||
|
options->pk_alg,
|
||||||
|
&client_context,
|
||||||
&client_queue,
|
&client_queue,
|
||||||
&server_queue, NULL) == 0);
|
&server_queue, NULL) == 0);
|
||||||
#if defined(MBEDTLS_TIMING_C)
|
#if defined(MBEDTLS_TIMING_C)
|
||||||
@ -1600,7 +1628,8 @@ void mbedtls_test_ssl_perform_handshake(mbedtls_test_handshake_test_options *opt
|
|||||||
mbedtls_timing_get_delay);
|
mbedtls_timing_get_delay);
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
TEST_ASSERT(mbedtls_test_ssl_endpoint_init(&client, MBEDTLS_SSL_IS_CLIENT,
|
TEST_ASSERT(mbedtls_test_ssl_endpoint_init(&client,
|
||||||
|
MBEDTLS_SSL_IS_CLIENT,
|
||||||
options->pk_alg, NULL, NULL,
|
options->pk_alg, NULL, NULL,
|
||||||
NULL, NULL) == 0);
|
NULL, NULL) == 0);
|
||||||
}
|
}
|
||||||
@ -1629,8 +1658,10 @@ void mbedtls_test_ssl_perform_handshake(mbedtls_test_handshake_test_options *opt
|
|||||||
|
|
||||||
/* Server side */
|
/* Server side */
|
||||||
if (options->dtls != 0) {
|
if (options->dtls != 0) {
|
||||||
TEST_ASSERT(mbedtls_test_ssl_endpoint_init(&server, MBEDTLS_SSL_IS_SERVER,
|
TEST_ASSERT(mbedtls_test_ssl_endpoint_init(&server,
|
||||||
options->pk_alg, &server_context,
|
MBEDTLS_SSL_IS_SERVER,
|
||||||
|
options->pk_alg,
|
||||||
|
&server_context,
|
||||||
&server_queue,
|
&server_queue,
|
||||||
&client_queue, NULL) == 0);
|
&client_queue, NULL) == 0);
|
||||||
#if defined(MBEDTLS_TIMING_C)
|
#if defined(MBEDTLS_TIMING_C)
|
||||||
@ -1639,7 +1670,8 @@ void mbedtls_test_ssl_perform_handshake(mbedtls_test_handshake_test_options *opt
|
|||||||
mbedtls_timing_get_delay);
|
mbedtls_timing_get_delay);
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
TEST_ASSERT(mbedtls_test_ssl_endpoint_init(&server, MBEDTLS_SSL_IS_SERVER,
|
TEST_ASSERT(mbedtls_test_ssl_endpoint_init(&server,
|
||||||
|
MBEDTLS_SSL_IS_SERVER,
|
||||||
options->pk_alg, NULL, NULL,
|
options->pk_alg, NULL, NULL,
|
||||||
NULL, NULL) == 0);
|
NULL, NULL) == 0);
|
||||||
}
|
}
|
||||||
@ -1720,9 +1752,8 @@ void mbedtls_test_ssl_perform_handshake(mbedtls_test_handshake_test_options *opt
|
|||||||
expected_handshake_result = MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION;
|
expected_handshake_result = MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_move_handshake_to_state(&(client.ssl),
|
TEST_ASSERT(mbedtls_test_move_handshake_to_state(
|
||||||
&(server.ssl),
|
&(client.ssl), &(server.ssl), MBEDTLS_SSL_HANDSHAKE_OVER)
|
||||||
MBEDTLS_SSL_HANDSHAKE_OVER)
|
|
||||||
== expected_handshake_result);
|
== expected_handshake_result);
|
||||||
|
|
||||||
if (expected_handshake_result != 0) {
|
if (expected_handshake_result != 0) {
|
||||||
@ -1894,8 +1925,10 @@ void mbedtls_test_ssl_perform_handshake(mbedtls_test_handshake_test_options *opt
|
|||||||
#endif /* MBEDTLS_SSL_RENEGOTIATION */
|
#endif /* MBEDTLS_SSL_RENEGOTIATION */
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
mbedtls_test_ssl_endpoint_free(&client, options->dtls != 0 ? &client_context : NULL);
|
mbedtls_test_ssl_endpoint_free(&client,
|
||||||
mbedtls_test_ssl_endpoint_free(&server, options->dtls != 0 ? &server_context : NULL);
|
options->dtls != 0 ? &client_context : NULL);
|
||||||
|
mbedtls_test_ssl_endpoint_free(&server,
|
||||||
|
options->dtls != 0 ? &server_context : NULL);
|
||||||
#if defined(MBEDTLS_DEBUG_C)
|
#if defined(MBEDTLS_DEBUG_C)
|
||||||
if (options->cli_log_fun || options->srv_log_fun) {
|
if (options->cli_log_fun || options->srv_log_fun) {
|
||||||
mbedtls_debug_set_threshold(0);
|
mbedtls_debug_set_threshold(0);
|
||||||
@ -1932,7 +1965,8 @@ void test_callback_buffer_sanity()
|
|||||||
== -1);
|
== -1);
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_get(NULL, output, sizeof(output))
|
TEST_ASSERT(mbedtls_test_ssl_buffer_get(NULL, output, sizeof(output))
|
||||||
== -1);
|
== -1);
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_put(NULL, NULL, sizeof(input)) == -1);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_put(NULL, NULL, sizeof(input))
|
||||||
|
== -1);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_put(NULL, NULL, 0) == -1);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_put(NULL, NULL, 0) == -1);
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_get(NULL, NULL, 0) == -1);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_get(NULL, NULL, 0) == -1);
|
||||||
@ -1941,10 +1975,12 @@ void test_callback_buffer_sanity()
|
|||||||
* in error. */
|
* in error. */
|
||||||
mbedtls_test_ssl_buffer_init(&buf);
|
mbedtls_test_ssl_buffer_init(&buf);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, input, sizeof(input)) == -1);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, input, sizeof(input))
|
||||||
|
== -1);
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_get(&buf, output, sizeof(output))
|
TEST_ASSERT(mbedtls_test_ssl_buffer_get(&buf, output, sizeof(output))
|
||||||
== -1);
|
== -1);
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, NULL, sizeof(input)) == -1);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, NULL, sizeof(input))
|
||||||
|
== -1);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, NULL, 0) == -1);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, NULL, 0) == -1);
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_get(&buf, NULL, 0) == -1);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_get(&buf, NULL, 0) == -1);
|
||||||
@ -1956,7 +1992,8 @@ void test_callback_buffer_sanity()
|
|||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_setup(&buf, sizeof(input)) == 0);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_setup(&buf, sizeof(input)) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, NULL, sizeof(input)) == -1);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, NULL, sizeof(input))
|
||||||
|
== -1);
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_get(&buf, NULL, sizeof(output))
|
TEST_ASSERT(mbedtls_test_ssl_buffer_get(&buf, NULL, sizeof(output))
|
||||||
== 0);
|
== 0);
|
||||||
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, NULL, 0) == 0);
|
TEST_ASSERT(mbedtls_test_ssl_buffer_put(&buf, NULL, 0) == 0);
|
||||||
@ -2091,8 +2128,8 @@ exit:
|
|||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test if the implementation of `mbedtls_test_mock_socket` related I/O functions is
|
* Test if the implementation of `mbedtls_test_mock_socket` related
|
||||||
* correct and works as expected on unconnected sockets.
|
* I/O functions is correct and works as expected on unconnected sockets.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* BEGIN_CASE */
|
/* BEGIN_CASE */
|
||||||
@ -2124,8 +2161,8 @@ exit:
|
|||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test if the implementation of `mbedtls_test_mock_socket` related functions can
|
* Test if the implementation of `mbedtls_test_mock_socket` related functions
|
||||||
* send a single message from the client to the server.
|
* can send a single message from the client to the server.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* BEGIN_CASE */
|
/* BEGIN_CASE */
|
||||||
@ -2217,8 +2254,8 @@ exit:
|
|||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test if the implementation of `mbedtls_test_mock_socket` related functions can
|
* Test if the implementation of `mbedtls_test_mock_socket` related functions
|
||||||
* send messages in both direction at the same time (with the I/O calls
|
* can send messages in both direction at the same time (with the I/O calls
|
||||||
* interleaving).
|
* interleaving).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -2260,7 +2297,8 @@ void ssl_mock_tcp_interleaving(int blocking)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure that sending a message takes a few iterations. */
|
/* Make sure that sending a message takes a few iterations. */
|
||||||
TEST_ASSERT(0 == mbedtls_test_mock_socket_connect(&client, &server, BUFLEN));
|
TEST_ASSERT(0 == mbedtls_test_mock_socket_connect(&client, &server,
|
||||||
|
BUFLEN));
|
||||||
|
|
||||||
/* Send the message from both sides, interleaving. */
|
/* Send the message from both sides, interleaving. */
|
||||||
progress = 1;
|
progress = 1;
|
||||||
@ -2487,27 +2525,33 @@ void ssl_message_mock_uninitialized()
|
|||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(NULL, message, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(NULL, message, MSGLEN)
|
||||||
== MBEDTLS_TEST_ERROR_CONTEXT_ERROR);
|
== MBEDTLS_TEST_ERROR_CONTEXT_ERROR);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue, &client_queue, 1,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue,
|
||||||
|
&client_queue, 1,
|
||||||
&server,
|
&server,
|
||||||
&server_context) == 0);
|
&server_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue, &server_queue, 1,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue,
|
||||||
|
&server_queue, 1,
|
||||||
&client,
|
&client,
|
||||||
&client_context) == 0);
|
&client_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
|
MSGLEN)
|
||||||
== MBEDTLS_TEST_ERROR_SEND_FAILED);
|
== MBEDTLS_TEST_ERROR_SEND_FAILED);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MBEDTLS_ERR_SSL_WANT_READ);
|
== MBEDTLS_ERR_SSL_WANT_READ);
|
||||||
|
|
||||||
/* Push directly to a queue to later simulate a disconnected behavior */
|
/* Push directly to a queue to later simulate a disconnected behavior */
|
||||||
TEST_ASSERT(mbedtls_test_ssl_message_queue_push_info(&server_queue, MSGLEN)
|
TEST_ASSERT(mbedtls_test_ssl_message_queue_push_info(&server_queue,
|
||||||
|
MSGLEN)
|
||||||
== MSGLEN);
|
== MSGLEN);
|
||||||
|
|
||||||
/* Test if there's an error when trying to read from a disconnected
|
/* Test if there's an error when trying to read from a disconnected
|
||||||
* socket */
|
* socket */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MBEDTLS_TEST_ERROR_RECV_FAILED);
|
== MBEDTLS_TEST_ERROR_RECV_FAILED);
|
||||||
exit:
|
exit:
|
||||||
mbedtls_test_message_socket_close(&server_context);
|
mbedtls_test_message_socket_close(&server_context);
|
||||||
@ -2527,11 +2571,13 @@ void ssl_message_mock_basic()
|
|||||||
mbedtls_test_message_socket_init(&server_context);
|
mbedtls_test_message_socket_init(&server_context);
|
||||||
mbedtls_test_message_socket_init(&client_context);
|
mbedtls_test_message_socket_init(&client_context);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue, &client_queue, 1,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue,
|
||||||
|
&client_queue, 1,
|
||||||
&server,
|
&server,
|
||||||
&server_context) == 0);
|
&server_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue, &server_queue, 1,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue,
|
||||||
|
&server_queue, 1,
|
||||||
&client,
|
&client,
|
||||||
&client_context) == 0);
|
&client_context) == 0);
|
||||||
|
|
||||||
@ -2545,10 +2591,12 @@ void ssl_message_mock_basic()
|
|||||||
|
|
||||||
/* Send the message to the server */
|
/* Send the message to the server */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN) == MSGLEN);
|
MSGLEN)
|
||||||
|
== MSGLEN);
|
||||||
|
|
||||||
/* Read from the server */
|
/* Read from the server */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MSGLEN);
|
== MSGLEN);
|
||||||
|
|
||||||
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
||||||
@ -2559,7 +2607,8 @@ void ssl_message_mock_basic()
|
|||||||
MSGLEN) == MSGLEN);
|
MSGLEN) == MSGLEN);
|
||||||
|
|
||||||
/* Read from the client */
|
/* Read from the client */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&client_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&client_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MSGLEN);
|
== MSGLEN);
|
||||||
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
||||||
|
|
||||||
@ -2581,11 +2630,13 @@ void ssl_message_mock_queue_overflow_underflow()
|
|||||||
mbedtls_test_message_socket_init(&server_context);
|
mbedtls_test_message_socket_init(&server_context);
|
||||||
mbedtls_test_message_socket_init(&client_context);
|
mbedtls_test_message_socket_init(&client_context);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue, &client_queue, 2,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue,
|
||||||
|
&client_queue, 2,
|
||||||
&server,
|
&server,
|
||||||
&server_context) == 0);
|
&server_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue, &server_queue, 2,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue,
|
||||||
|
&server_queue, 2,
|
||||||
&client,
|
&client,
|
||||||
&client_context) == 0);
|
&client_context) == 0);
|
||||||
|
|
||||||
@ -2599,10 +2650,12 @@ void ssl_message_mock_queue_overflow_underflow()
|
|||||||
|
|
||||||
/* Send three message to the server, last one with an error */
|
/* Send three message to the server, last one with an error */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN - 1) == MSGLEN - 1);
|
MSGLEN - 1)
|
||||||
|
== MSGLEN - 1);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN) == MSGLEN);
|
MSGLEN)
|
||||||
|
== MSGLEN);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN)
|
MSGLEN)
|
||||||
@ -2610,14 +2663,17 @@ void ssl_message_mock_queue_overflow_underflow()
|
|||||||
|
|
||||||
/* Read three messages from the server, last one with an error */
|
/* Read three messages from the server, last one with an error */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
MSGLEN - 1) == MSGLEN - 1);
|
MSGLEN - 1)
|
||||||
|
== MSGLEN - 1);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MSGLEN);
|
== MSGLEN);
|
||||||
|
|
||||||
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MBEDTLS_ERR_SSL_WANT_READ);
|
== MBEDTLS_ERR_SSL_WANT_READ);
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
@ -2638,11 +2694,13 @@ void ssl_message_mock_socket_overflow()
|
|||||||
mbedtls_test_message_socket_init(&server_context);
|
mbedtls_test_message_socket_init(&server_context);
|
||||||
mbedtls_test_message_socket_init(&client_context);
|
mbedtls_test_message_socket_init(&client_context);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue, &client_queue, 2,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue,
|
||||||
|
&client_queue, 2,
|
||||||
&server,
|
&server,
|
||||||
&server_context) == 0);
|
&server_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue, &server_queue, 2,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue,
|
||||||
|
&server_queue, 2,
|
||||||
&client,
|
&client,
|
||||||
&client_context) == 0);
|
&client_context) == 0);
|
||||||
|
|
||||||
@ -2656,14 +2714,16 @@ void ssl_message_mock_socket_overflow()
|
|||||||
|
|
||||||
/* Send two message to the server, second one with an error */
|
/* Send two message to the server, second one with an error */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN) == MSGLEN);
|
MSGLEN)
|
||||||
|
== MSGLEN);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN)
|
MSGLEN)
|
||||||
== MBEDTLS_TEST_ERROR_SEND_FAILED);
|
== MBEDTLS_TEST_ERROR_SEND_FAILED);
|
||||||
|
|
||||||
/* Read the only message from the server */
|
/* Read the only message from the server */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MSGLEN);
|
== MSGLEN);
|
||||||
|
|
||||||
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
||||||
@ -2686,11 +2746,13 @@ void ssl_message_mock_truncated()
|
|||||||
mbedtls_test_message_socket_init(&server_context);
|
mbedtls_test_message_socket_init(&server_context);
|
||||||
mbedtls_test_message_socket_init(&client_context);
|
mbedtls_test_message_socket_init(&client_context);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue, &client_queue, 2,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue,
|
||||||
|
&client_queue, 2,
|
||||||
&server,
|
&server,
|
||||||
&server_context) == 0);
|
&server_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue, &server_queue, 2,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue,
|
||||||
|
&server_queue, 2,
|
||||||
&client,
|
&client,
|
||||||
&client_context) == 0);
|
&client_context) == 0);
|
||||||
|
|
||||||
@ -2706,11 +2768,14 @@ void ssl_message_mock_truncated()
|
|||||||
/* Send two messages to the server, the second one small enough to fit in the
|
/* Send two messages to the server, the second one small enough to fit in the
|
||||||
* receiver's buffer. */
|
* receiver's buffer. */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN) == MSGLEN);
|
MSGLEN)
|
||||||
|
== MSGLEN);
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN / 2) == MSGLEN / 2);
|
MSGLEN / 2)
|
||||||
|
== MSGLEN / 2);
|
||||||
/* Read a truncated message from the server */
|
/* Read a truncated message from the server */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN/2)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN/2)
|
||||||
== MSGLEN/2);
|
== MSGLEN/2);
|
||||||
|
|
||||||
/* Test that the first half of the message is valid, and second one isn't */
|
/* Test that the first half of the message is valid, and second one isn't */
|
||||||
@ -2720,7 +2785,8 @@ void ssl_message_mock_truncated()
|
|||||||
memset(received, 0, MSGLEN);
|
memset(received, 0, MSGLEN);
|
||||||
|
|
||||||
/* Read a full message from the server */
|
/* Read a full message from the server */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN/2)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN/2)
|
||||||
== MSGLEN / 2);
|
== MSGLEN / 2);
|
||||||
|
|
||||||
/* Test that the first half of the message is valid */
|
/* Test that the first half of the message is valid */
|
||||||
@ -2744,11 +2810,13 @@ void ssl_message_mock_socket_read_error()
|
|||||||
mbedtls_test_message_socket_init(&server_context);
|
mbedtls_test_message_socket_init(&server_context);
|
||||||
mbedtls_test_message_socket_init(&client_context);
|
mbedtls_test_message_socket_init(&client_context);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue, &client_queue, 1,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue,
|
||||||
|
&client_queue, 1,
|
||||||
&server,
|
&server,
|
||||||
&server_context) == 0);
|
&server_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue, &server_queue, 1,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue,
|
||||||
|
&server_queue, 1,
|
||||||
&client,
|
&client,
|
||||||
&client_context) == 0);
|
&client_context) == 0);
|
||||||
|
|
||||||
@ -2761,11 +2829,13 @@ void ssl_message_mock_socket_read_error()
|
|||||||
MSGLEN));
|
MSGLEN));
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
TEST_ASSERT(mbedtls_test_mock_tcp_send_msg(&client_context, message,
|
||||||
MSGLEN) == MSGLEN);
|
MSGLEN)
|
||||||
|
== MSGLEN);
|
||||||
|
|
||||||
/* Force a read error by disconnecting the socket by hand */
|
/* Force a read error by disconnecting the socket by hand */
|
||||||
server.status = 0;
|
server.status = 0;
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MBEDTLS_TEST_ERROR_RECV_FAILED);
|
== MBEDTLS_TEST_ERROR_RECV_FAILED);
|
||||||
/* Return to a valid state */
|
/* Return to a valid state */
|
||||||
server.status = MBEDTLS_MOCK_SOCKET_CONNECTED;
|
server.status = MBEDTLS_MOCK_SOCKET_CONNECTED;
|
||||||
@ -2774,7 +2844,8 @@ void ssl_message_mock_socket_read_error()
|
|||||||
|
|
||||||
/* Test that even though the server tried to read once disconnected, the
|
/* Test that even though the server tried to read once disconnected, the
|
||||||
* continuity is preserved */
|
* continuity is preserved */
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MSGLEN);
|
== MSGLEN);
|
||||||
|
|
||||||
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
||||||
@ -2797,11 +2868,13 @@ void ssl_message_mock_interleaved_one_way()
|
|||||||
mbedtls_test_message_socket_init(&server_context);
|
mbedtls_test_message_socket_init(&server_context);
|
||||||
mbedtls_test_message_socket_init(&client_context);
|
mbedtls_test_message_socket_init(&client_context);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue, &client_queue, 3,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue,
|
||||||
|
&client_queue, 3,
|
||||||
&server,
|
&server,
|
||||||
&server_context) == 0);
|
&server_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue, &server_queue, 3,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue,
|
||||||
|
&server_queue, 3,
|
||||||
&client,
|
&client,
|
||||||
&client_context) == 0);
|
&client_context) == 0);
|
||||||
|
|
||||||
@ -2834,7 +2907,8 @@ void ssl_message_mock_interleaved_one_way()
|
|||||||
|
|
||||||
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
TEST_ASSERT(memcmp(message, received, MSGLEN) == 0);
|
||||||
}
|
}
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MBEDTLS_ERR_SSL_WANT_READ);
|
== MBEDTLS_ERR_SSL_WANT_READ);
|
||||||
exit:
|
exit:
|
||||||
mbedtls_test_message_socket_close(&server_context);
|
mbedtls_test_message_socket_close(&server_context);
|
||||||
@ -2854,11 +2928,13 @@ void ssl_message_mock_interleaved_two_ways()
|
|||||||
mbedtls_test_message_socket_init(&server_context);
|
mbedtls_test_message_socket_init(&server_context);
|
||||||
mbedtls_test_message_socket_init(&client_context);
|
mbedtls_test_message_socket_init(&client_context);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue, &client_queue, 3,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&server_queue,
|
||||||
|
&client_queue, 3,
|
||||||
&server,
|
&server,
|
||||||
&server_context) == 0);
|
&server_context) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue, &server_queue, 3,
|
TEST_ASSERT(mbedtls_test_message_socket_setup(&client_queue,
|
||||||
|
&server_queue, 3,
|
||||||
&client,
|
&client,
|
||||||
&client_context) == 0);
|
&client_context) == 0);
|
||||||
|
|
||||||
@ -2914,10 +2990,12 @@ void ssl_message_mock_interleaved_two_ways()
|
|||||||
memset(received, 0, sizeof(received));
|
memset(received, 0, sizeof(received));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&server_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MBEDTLS_ERR_SSL_WANT_READ);
|
== MBEDTLS_ERR_SSL_WANT_READ);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&client_context, received, MSGLEN)
|
TEST_ASSERT(mbedtls_test_mock_tcp_recv_msg(&client_context, received,
|
||||||
|
MSGLEN)
|
||||||
== MBEDTLS_ERR_SSL_WANT_READ);
|
== MBEDTLS_ERR_SSL_WANT_READ);
|
||||||
exit:
|
exit:
|
||||||
mbedtls_test_message_socket_close(&server_context);
|
mbedtls_test_message_socket_close(&server_context);
|
||||||
@ -3651,7 +3729,8 @@ void ssl_serialize_session_save_load(int ticket_len, char *crt_file)
|
|||||||
mbedtls_ssl_session_init(&restored);
|
mbedtls_ssl_session_init(&restored);
|
||||||
|
|
||||||
/* Prepare a dummy session to work on */
|
/* Prepare a dummy session to work on */
|
||||||
TEST_ASSERT(mbedtls_test_ssl_populate_session(&original, ticket_len, crt_file) == 0);
|
TEST_ASSERT(mbedtls_test_ssl_populate_session(
|
||||||
|
&original, ticket_len, crt_file) == 0);
|
||||||
|
|
||||||
/* Serialize it */
|
/* Serialize it */
|
||||||
TEST_ASSERT(mbedtls_ssl_session_save(&original, NULL, 0, &len)
|
TEST_ASSERT(mbedtls_ssl_session_save(&original, NULL, 0, &len)
|
||||||
@ -3749,7 +3828,8 @@ void ssl_serialize_session_load_save(int ticket_len, char *crt_file)
|
|||||||
mbedtls_ssl_session_init(&session);
|
mbedtls_ssl_session_init(&session);
|
||||||
|
|
||||||
/* Prepare a dummy session to work on */
|
/* Prepare a dummy session to work on */
|
||||||
TEST_ASSERT(mbedtls_test_ssl_populate_session(&session, ticket_len, crt_file) == 0);
|
TEST_ASSERT(mbedtls_test_ssl_populate_session(
|
||||||
|
&session, ticket_len, crt_file) == 0);
|
||||||
|
|
||||||
/* Get desired buffer size for serializing */
|
/* Get desired buffer size for serializing */
|
||||||
TEST_ASSERT(mbedtls_ssl_session_save(&session, NULL, 0, &len0)
|
TEST_ASSERT(mbedtls_ssl_session_save(&session, NULL, 0, &len0)
|
||||||
@ -3799,7 +3879,8 @@ void ssl_serialize_session_save_buf_size(int ticket_len, char *crt_file)
|
|||||||
mbedtls_ssl_session_init(&session);
|
mbedtls_ssl_session_init(&session);
|
||||||
|
|
||||||
/* Prepare dummy session and get serialized size */
|
/* Prepare dummy session and get serialized size */
|
||||||
TEST_ASSERT(mbedtls_test_ssl_populate_session(&session, ticket_len, crt_file) == 0);
|
TEST_ASSERT(mbedtls_test_ssl_populate_session(
|
||||||
|
&session, ticket_len, crt_file) == 0);
|
||||||
TEST_ASSERT(mbedtls_ssl_session_save(&session, NULL, 0, &good_len)
|
TEST_ASSERT(mbedtls_ssl_session_save(&session, NULL, 0, &good_len)
|
||||||
== MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL);
|
== MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL);
|
||||||
|
|
||||||
@ -3834,7 +3915,8 @@ void ssl_serialize_session_load_buf_size(int ticket_len, char *crt_file)
|
|||||||
mbedtls_ssl_session_init(&session);
|
mbedtls_ssl_session_init(&session);
|
||||||
|
|
||||||
/* Prepare serialized session data */
|
/* Prepare serialized session data */
|
||||||
TEST_ASSERT(mbedtls_test_ssl_populate_session(&session, ticket_len, crt_file) == 0);
|
TEST_ASSERT(mbedtls_test_ssl_populate_session(
|
||||||
|
&session, ticket_len, crt_file) == 0);
|
||||||
TEST_ASSERT(mbedtls_ssl_session_save(&session, NULL, 0, &good_len)
|
TEST_ASSERT(mbedtls_ssl_session_save(&session, NULL, 0, &good_len)
|
||||||
== MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL);
|
== MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL);
|
||||||
TEST_ASSERT((good_buf = mbedtls_calloc(1, good_len)) != NULL);
|
TEST_ASSERT((good_buf = mbedtls_calloc(1, good_len)) != NULL);
|
||||||
@ -3956,11 +4038,13 @@ void move_handshake_to_state(int endpoint_type, int state, int need_pass)
|
|||||||
mbedtls_platform_zeroize(&base_ep, sizeof(base_ep));
|
mbedtls_platform_zeroize(&base_ep, sizeof(base_ep));
|
||||||
mbedtls_platform_zeroize(&second_ep, sizeof(second_ep));
|
mbedtls_platform_zeroize(&second_ep, sizeof(second_ep));
|
||||||
|
|
||||||
ret = mbedtls_test_ssl_endpoint_init(&base_ep, endpoint_type, MBEDTLS_PK_RSA,
|
ret = mbedtls_test_ssl_endpoint_init(&base_ep, endpoint_type,
|
||||||
|
MBEDTLS_PK_RSA,
|
||||||
NULL, NULL, NULL, NULL);
|
NULL, NULL, NULL, NULL);
|
||||||
TEST_ASSERT(ret == 0);
|
TEST_ASSERT(ret == 0);
|
||||||
|
|
||||||
ret = mbedtls_test_ssl_endpoint_init(&second_ep,
|
ret = mbedtls_test_ssl_endpoint_init(
|
||||||
|
&second_ep,
|
||||||
(endpoint_type == MBEDTLS_SSL_IS_SERVER) ?
|
(endpoint_type == MBEDTLS_SSL_IS_SERVER) ?
|
||||||
MBEDTLS_SSL_IS_CLIENT : MBEDTLS_SSL_IS_SERVER,
|
MBEDTLS_SSL_IS_CLIENT : MBEDTLS_SSL_IS_SERVER,
|
||||||
MBEDTLS_PK_RSA, NULL, NULL, NULL, NULL);
|
MBEDTLS_PK_RSA, NULL, NULL, NULL, NULL);
|
||||||
@ -4230,8 +4314,8 @@ void raw_key_agreement_fail(int bad_server_ecdhe_key)
|
|||||||
&(server.socket),
|
&(server.socket),
|
||||||
BUFFSIZE), 0);
|
BUFFSIZE), 0);
|
||||||
|
|
||||||
TEST_EQUAL(mbedtls_test_move_handshake_to_state(&(client.ssl),
|
TEST_EQUAL(mbedtls_test_move_handshake_to_state(
|
||||||
&(server.ssl),
|
&(client.ssl), &(server.ssl),
|
||||||
MBEDTLS_SSL_CLIENT_KEY_EXCHANGE)
|
MBEDTLS_SSL_CLIENT_KEY_EXCHANGE)
|
||||||
, 0);
|
, 0);
|
||||||
|
|
||||||
@ -4246,9 +4330,8 @@ void raw_key_agreement_fail(int bad_server_ecdhe_key)
|
|||||||
(client.ssl).handshake->ecdh_psa_peerkey[0] ^= 0x02;
|
(client.ssl).handshake->ecdh_psa_peerkey[0] ^= 0x02;
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_EQUAL(mbedtls_test_move_handshake_to_state(&(client.ssl),
|
TEST_EQUAL(mbedtls_test_move_handshake_to_state(
|
||||||
&(server.ssl),
|
&(client.ssl), &(server.ssl), MBEDTLS_SSL_HANDSHAKE_OVER),
|
||||||
MBEDTLS_SSL_HANDSHAKE_OVER),
|
|
||||||
bad_server_ecdhe_key ? MBEDTLS_ERR_SSL_HW_ACCEL_FAILED : 0);
|
bad_server_ecdhe_key ? MBEDTLS_ERR_SSL_HW_ACCEL_FAILED : 0);
|
||||||
|
|
||||||
mbedtls_psa_get_stats(&stats);
|
mbedtls_psa_get_stats(&stats);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user