Add TLS Hanshake defragmentation tests
Tests uses openssl s_server with a mix of max_send_frag
and split_send_frag options.
Signed-off-by: Waleed Elmelegy <waleed.elmelegy@arm.com>
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index 23b692c..a926f50 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -13872,6 +13872,90 @@
-c "Handshake was completed" \
-s "dumping .client hello, compression. (2 bytes)"
+# Handshake defragmentation testing
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (512)" \
+ "$O_SRV -max_send_frag 512 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (513)" \
+ "$O_SRV -max_send_frag 513 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (256)" \
+ "$O_SRV -mtu 32 -split_send_frag 256 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (128)" \
+ "$O_SRV -mtu 32 -split_send_frag 128 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (64)" \
+ "$O_SRV -mtu 32 -split_send_frag 64 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (36)" \
+ "$O_SRV -mtu 32 -split_send_frag 36 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (32)" \
+ "$O_SRV -mtu 32 -split_send_frag 32 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (16)" \
+ "$O_SRV -mtu 32 -split_send_frag 16 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (13)" \
+ "$O_SRV -mtu 32 -split_send_frag 13 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
+
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
+run_test "Hanshake defragmentation (5)" \
+ "$O_SRV -mtu 32 -split_send_frag 5 " \
+ "$P_CLI debug_level=4 " \
+ 0 \
+ -c "received ServerHello message" \
+ -c "<= handshake" \
+
# Test heap memory usage after handshake
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
requires_config_enabled MBEDTLS_MEMORY_DEBUG