ssl-opt: Added coverage for hs defragmentation TLS 1.2 tests.
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index 54b0065..cf7dc24 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -14055,7 +14055,7 @@
requires_openssl_3_x
requires_protocol_version tls13
requires_certificate_authentication
-run_test "Handshake defragmentation on client: len=14, TLS 1.3" \
+run_test "Handshake defragmentation on client: len=16, TLS 1.3" \
"$O_NEXT_SRV -tls1_3 -split_send_frag 16 " \
"$P_CLI debug_level=4 " \
0 \
@@ -14067,7 +14067,7 @@
requires_protocol_version tls12
requires_certificate_authentication
requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
-run_test "Handshake defragmentation on client: len=14, TLS 1.2" \
+run_test "Handshake defragmentation on client: len=16, TLS 1.2" \
"$O_NEXT_SRV -tls1_2 -split_send_frag 16 " \
"$P_CLI debug_level=4 " \
0 \
@@ -14122,6 +14122,28 @@
requires_openssl_3_x
requires_protocol_version tls13
requires_certificate_authentication
+run_test "Handshake defragmentation on client: len=4, TLS 1.3" \
+ "$O_NEXT_SRV -tls1_3 -split_send_frag 4 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "reassembled record" \
+ -c "handshake fragment: 0 \\.\\. 4 of [0-9]\\+ msglen 4" \
+ -c "waiting for more fragments (4"
+
+requires_openssl_3_x
+requires_protocol_version tls12
+requires_certificate_authentication
+run_test "Handshake defragmentation on client: len=4, TLS 1.2" \
+ "$O_NEXT_SRV -tls1_2 -split_send_frag 4 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "reassembled record" \
+ -c "handshake fragment: 0 \\.\\. 4 of [0-9]\\+ msglen 4" \
+ -c "waiting for more fragments (4"
+
+requires_openssl_3_x
+requires_protocol_version tls13
+requires_certificate_authentication
run_test "Handshake defragmentation on client: len=3, TLS 1.3" \
"$O_NEXT_SRV -tls1_3 -split_send_frag 3 " \
"$P_CLI debug_level=4 " \
@@ -14210,13 +14232,12 @@
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=256, TLS 1.2" \
"$P_SRV debug_level=4 auth_mode=required" \
- "$O_NEXT_CLI -tls1_3 -split_send_frag 256 -cert $DATA_FILES_PATH/server5.crt -key $DATA_FILES_PATH/server5.key" \
+ "$O_NEXT_CLI -tls1_2 -split_send_frag 256 -cert $DATA_FILES_PATH/server5.crt -key $DATA_FILES_PATH/server5.key" \
0 \
-s "reassembled record" \
-s "handshake fragment: 0 \\.\\. 256 of [0-9]\\+ msglen 256" \
-s "waiting for more fragments (256"
-
requires_openssl_3_x
requires_protocol_version tls13
requires_certificate_authentication
@@ -14228,8 +14249,11 @@
-s "handshake fragment: 0 \\.\\. 128 of [0-9]\\+ msglen 128" \
-s "waiting for more fragments (128"
+# Server-side ClientHello degfragmentation is only supported for MBEDTLS_SSL_PROTO_TLS1_3. For TLS 1.2 testing
+# the server should suport both protocols and downgrade to client-requested TL1.2 after proccessing the ClientHello.
requires_openssl_3_x
-requires_protocol_version tls12
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=128, TLS 1.2" \
"$P_SRV debug_level=4 auth_mode=required" \
@@ -14251,7 +14275,8 @@
-s "waiting for more fragments (64"
requires_openssl_3_x
-requires_protocol_version tls12
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=64, TLS 1.2" \
"$P_SRV debug_level=4 auth_mode=required" \
@@ -14273,7 +14298,8 @@
-s "waiting for more fragments (36"
requires_openssl_3_x
-requires_protocol_version tls12
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=36, TLS 1.2" \
"$P_SRV debug_level=4 auth_mode=required" \
@@ -14295,7 +14321,8 @@
-s "waiting for more fragments (32"
requires_openssl_3_x
-requires_protocol_version tls12
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=32, TLS 1.2" \
"$P_SRV debug_level=4 auth_mode=required" \
@@ -14317,7 +14344,8 @@
-s "waiting for more fragments (16"
requires_openssl_3_x
-requires_protocol_version tls12
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=16, TLS 1.2" \
"$P_SRV debug_level=4 auth_mode=required" \
@@ -14339,7 +14367,8 @@
-s "waiting for more fragments (13"
requires_openssl_3_x
-requires_protocol_version tls12
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=13, TLS 1.2" \
"$P_SRV debug_level=4 auth_mode=required" \
@@ -14361,7 +14390,8 @@
-s "waiting for more fragments (5"
requires_openssl_3_x
-requires_protocol_version tls12
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=5, TLS 1.2" \
"$P_SRV debug_level=4 auth_mode=required" \
@@ -14371,6 +14401,7 @@
-s "handshake fragment: 0 \\.\\. 5 of [0-9]\\+ msglen 5" \
-s "waiting for more fragments (5"
+requires_openssl_3_x
requires_protocol_version tls13
requires_certificate_authentication
run_test "Handshake defragmentation on server: len=4, TLS 1.3" \
@@ -14404,8 +14435,6 @@
-s "handshake message too short: 3" \
-s "SSL - An invalid SSL record was received"
-# Server-side ClientHello degfragmentation is only supported for MBEDTLS_SSL_PROTO_TLS1_3. For TLS 1.2 testing
-# the server should suport both protocols and downgrade to client-requested TL1.2 after proccessing the ClientHello.
requires_openssl_3_x
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
@@ -14422,7 +14451,7 @@
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_certificate_authentication
-run_test "Handshake defragmentation on server: len=32, TLS 1.2" \
+run_test "Handshake defragmentation on server: len=32, TLS 1.2 -> 1.2" \
"$P_SRV debug_level=4 force_version=tls12 auth_mode=required" \
"$O_NEXT_CLI -tls1_2 -split_send_frag 32 -cert $DATA_FILES_PATH/server5.crt -key $DATA_FILES_PATH/server5.key" \
1 \