mirror of
https://github.com/cuberite/polarssl.git
synced 2025-09-29 16:32:32 -04:00
tests: srv max early data size: Add reach_max test arg
Add the reach_max flag argument for the test13_srv_max_early_data_size test function. Non zero value only valid in case of TEST_EARLY_DATA_ACCEPTED scenario. Signed-off-by: Ronald Cron <ronald.cron@arm.com>
This commit is contained in:
parent
01d273d31f
commit
dc81b7343f
@ -3311,28 +3311,37 @@ TLS 1.3 write early data, hello retry request
|
|||||||
tls13_write_early_data:TEST_EARLY_DATA_HRR
|
tls13_write_early_data:TEST_EARLY_DATA_HRR
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, default
|
TLS 1.3 srv, max early data size, default
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:-1
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:-1:0
|
||||||
|
|
||||||
|
TLS 1.3 srv, max early data size, default, reach max
|
||||||
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:-1:1
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, max=3 (small but !0)
|
TLS 1.3 srv, max early data size, max=3 (small but !0)
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:3
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:3:0
|
||||||
|
|
||||||
|
TLS 1.3 srv, max early data size, max=3 (small but !0), reach max
|
||||||
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:3:1
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, max=97
|
TLS 1.3 srv, max early data size, max=97
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:97
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:97:0
|
||||||
|
|
||||||
|
TLS 1.3 srv, max early data size, max=97, reach max
|
||||||
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_ACCEPTED:97:1
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, server rejects, default
|
TLS 1.3 srv, max early data size, server rejects, default
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_SERVER_REJECTS:-1
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_SERVER_REJECTS:-1:0
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, server rejects, max=3 (very small)
|
TLS 1.3 srv, max early data size, server rejects, max=3 (very small)
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_SERVER_REJECTS:3
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_SERVER_REJECTS:3:0
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, server rejects, max=97
|
TLS 1.3 srv, max early data size, server rejects, max=97
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_SERVER_REJECTS:97
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_SERVER_REJECTS:97:0
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, HRR, default
|
TLS 1.3 srv, max early data size, HRR, default
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_HRR:-1
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_HRR:-1:0
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, HRR, max=3 (very small)
|
TLS 1.3 srv, max early data size, HRR, max=3 (very small)
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_HRR:3
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_HRR:3:0
|
||||||
|
|
||||||
TLS 1.3 srv, max early data size, HRR, max=97
|
TLS 1.3 srv, max early data size, HRR, max=97
|
||||||
tls13_srv_max_early_data_size:TEST_EARLY_DATA_HRR:97
|
tls13_srv_max_early_data_size:TEST_EARLY_DATA_HRR:97:0
|
||||||
|
@ -4455,7 +4455,7 @@ exit:
|
|||||||
* an issue with mbedtls_vsnprintf().
|
* an issue with mbedtls_vsnprintf().
|
||||||
*/
|
*/
|
||||||
/* BEGIN_CASE depends_on:!MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_EARLY_DATA:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_SRV_C:MBEDTLS_DEBUG_C:MBEDTLS_TEST_AT_LEAST_ONE_TLS1_3_CIPHERSUITE:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED:MBEDTLS_MD_CAN_SHA256:MBEDTLS_ECP_HAVE_SECP256R1:MBEDTLS_ECP_HAVE_SECP384R1:MBEDTLS_PK_CAN_ECDSA_VERIFY:MBEDTLS_SSL_SESSION_TICKETS */
|
/* BEGIN_CASE depends_on:!MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_EARLY_DATA:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_SRV_C:MBEDTLS_DEBUG_C:MBEDTLS_TEST_AT_LEAST_ONE_TLS1_3_CIPHERSUITE:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED:MBEDTLS_MD_CAN_SHA256:MBEDTLS_ECP_HAVE_SECP256R1:MBEDTLS_ECP_HAVE_SECP384R1:MBEDTLS_PK_CAN_ECDSA_VERIFY:MBEDTLS_SSL_SESSION_TICKETS */
|
||||||
void tls13_srv_max_early_data_size(int scenario, int max_early_data_size_arg)
|
void tls13_srv_max_early_data_size(int scenario, int max_early_data_size_arg, int reach_max)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
mbedtls_test_ssl_endpoint client_ep, server_ep;
|
mbedtls_test_ssl_endpoint client_ep, server_ep;
|
||||||
@ -4470,7 +4470,7 @@ void tls13_srv_max_early_data_size(int scenario, int max_early_data_size_arg)
|
|||||||
};
|
};
|
||||||
char pattern[128];
|
char pattern[128];
|
||||||
unsigned char buf_write[64];
|
unsigned char buf_write[64];
|
||||||
size_t early_data_len = sizeof(buf_write);
|
size_t early_data_len;
|
||||||
uint32_t expended_early_data_len = 0;
|
uint32_t expended_early_data_len = 0;
|
||||||
uint32_t written_early_data_size = 0;
|
uint32_t written_early_data_size = 0;
|
||||||
int write_early_data_flag = 1;
|
int write_early_data_flag = 1;
|
||||||
@ -4484,6 +4484,14 @@ void tls13_srv_max_early_data_size(int scenario, int max_early_data_size_arg)
|
|||||||
|
|
||||||
PSA_INIT();
|
PSA_INIT();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Reach maximum early data size exactly option only available in case of
|
||||||
|
* TEST_EARLY_DATA_ACCEPTED scenario.
|
||||||
|
*/
|
||||||
|
if (reach_max) {
|
||||||
|
TEST_EQUAL(scenario, TEST_EARLY_DATA_ACCEPTED);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Run first handshake to get a ticket from the server.
|
* Run first handshake to get a ticket from the server.
|
||||||
*/
|
*/
|
||||||
@ -4577,10 +4585,24 @@ void tls13_srv_max_early_data_size(int scenario, int max_early_data_size_arg)
|
|||||||
uint32_t remaining = max_early_data_size -
|
uint32_t remaining = max_early_data_size -
|
||||||
server_ep.ssl.early_data_count;
|
server_ep.ssl.early_data_count;
|
||||||
|
|
||||||
/* In case of accepted early data, reach max_early_data_size exactly. */
|
early_data_len = sizeof(buf_write);
|
||||||
|
/*
|
||||||
|
* Adjust the length of next data to write depending on the remaining
|
||||||
|
* number of early data bytes we are allowed to write and if we want
|
||||||
|
* to reach the maximum exactly or not.
|
||||||
|
*/
|
||||||
if (early_data_len >= remaining) {
|
if (early_data_len >= remaining) {
|
||||||
early_data_len = remaining;
|
if (reach_max) {
|
||||||
write_early_data_flag = 0;
|
early_data_len = remaining;
|
||||||
|
write_early_data_flag = 0;
|
||||||
|
} else {
|
||||||
|
if (early_data_len == remaining) {
|
||||||
|
early_data_len /= 2;
|
||||||
|
} else {
|
||||||
|
early_data_len = remaining + 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (size_t i = 0; i < early_data_len; i++) {
|
for (size_t i = 0; i < early_data_len; i++) {
|
||||||
@ -4643,8 +4665,9 @@ void tls13_srv_max_early_data_size(int scenario, int max_early_data_size_arg)
|
|||||||
|
|
||||||
mbedtls_debug_set_threshold(3);
|
mbedtls_debug_set_threshold(3);
|
||||||
|
|
||||||
early_data_len = (scenario == TEST_EARLY_DATA_ACCEPTED) ?
|
if (reach_max) {
|
||||||
1 : sizeof(buf_write);
|
TEST_EQUAL(server_ep.ssl.early_data_count, max_early_data_size);
|
||||||
|
}
|
||||||
|
|
||||||
ret = write_early_data(&(client_ep.ssl), buf_write, early_data_len);
|
ret = write_early_data(&(client_ep.ssl), buf_write, early_data_len);
|
||||||
TEST_EQUAL(ret, early_data_len);
|
TEST_EQUAL(ret, early_data_len);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user