|
|
|
@@ -9931,7 +9931,7 @@ run_test "DTLS reassembly: more fragmentation (gnutls server)" \
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: more fragmentation, nbio (gnutls server)" \
|
|
|
|
|
"$G_SRV -u --mtu 128" \
|
|
|
|
|
"$G_SRV -u --mtu 109" \
|
|
|
|
|
"$P_CLI dtls=1 nbio=2 debug_level=2" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "found fragmented DTLS handshake message" \
|
|
|
|
@@ -9943,7 +9943,7 @@ requires_gnutls
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: fragmentation, renego (gnutls server)" \
|
|
|
|
|
"$G_SRV -u --mtu 256" \
|
|
|
|
|
"$G_SRV -u --mtu 241" \
|
|
|
|
|
"$P_CLI debug_level=3 dtls=1 renegotiation=1 renegotiate=1" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "found fragmented DTLS handshake message" \
|
|
|
|
@@ -9971,6 +9971,52 @@ run_test "DTLS reassembly: fragmentation, nbio, renego (gnutls server)" \
|
|
|
|
|
-C "error" \
|
|
|
|
|
-s "Extra-header:"
|
|
|
|
|
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: no fragmentation (gnutls client)" \
|
|
|
|
|
"$P_SRV debug_level=2 dtls=1" \
|
|
|
|
|
"$G_NEXT_CLI -u --mtu 2048 --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-S "found fragmented DTLS handshake message" \
|
|
|
|
|
-S "error"
|
|
|
|
|
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: some fragmentation (gnutls client)" \
|
|
|
|
|
"$P_SRV debug_level=2 dtls=1 auth_mode=required" \
|
|
|
|
|
"$G_NEXT_CLI -u --mtu 211 --insecure 127.0.0.1 --x509certfile $DATA_FILES_PATH/server5.crt --x509keyfile $DATA_FILES_PATH/server5.key" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-s "Certificate handshake message has been buffered and reassembled" \
|
|
|
|
|
-S "error"
|
|
|
|
|
|
|
|
|
|
# Set the MTU to 128 bytes. The minimum size of a DTLS 1.2 record
|
|
|
|
|
# containing a ClientHello handshake message is 69 bytes, without any cookie,
|
|
|
|
|
# ciphersuite, or extension. With an MTU of 128 bytes, the ClientHello handshake
|
|
|
|
|
# message is therefore very likely to be fragmented, regardless of the
|
|
|
|
|
# GnuTLS client version. For example, the ClientHello sent by the GnuTLS 3.7.2
|
|
|
|
|
# client is 206 bytes in this test.
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: more fragmentation (gnutls client)" \
|
|
|
|
|
"$P_SRV debug_level=2 dtls=1" \
|
|
|
|
|
"$G_NEXT_CLI -u --mtu 103 --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "ClientHello handshake message has been buffered and reassembled" \
|
|
|
|
|
-S "error"
|
|
|
|
|
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: more fragmentation, nbio (gnutls client)" \
|
|
|
|
|
"$P_SRV debug_level=2 dtls=1 nbio=2" \
|
|
|
|
|
"$G_NEXT_CLI -u --mtu 103 --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "ClientHello handshake message has been buffered and reassembled" \
|
|
|
|
|
-S "error"
|
|
|
|
|
|
|
|
|
|
# No fragmentation and renegotiation tests with GnuTLS client as the feature
|
|
|
|
|
# does not work properly.
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: no fragmentation (openssl server)" \
|
|
|
|
|
"$O_SRV -dtls -mtu 2048" \
|
|
|
|
@@ -9994,13 +10040,45 @@ run_test "DTLS reassembly: fragmentation (openssl server)" \
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: fragmentation, nbio (openssl server)" \
|
|
|
|
|
"$O_SRV -dtls -mtu 256" \
|
|
|
|
|
"$O_SRV -dtls -mtu 273" \
|
|
|
|
|
"$P_CLI dtls=1 nbio=2 debug_level=2" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "found fragmented DTLS handshake message" \
|
|
|
|
|
-c "Certificate handshake message has been buffered and reassembled" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: no fragmentation (openssl client)" \
|
|
|
|
|
"$P_SRV debug_level=2 dtls=1 auth_mode=required" \
|
|
|
|
|
"$O_NEXT_CLI -dtls -mtu 2048 -cert $DATA_FILES_PATH/server5.crt -key $DATA_FILES_PATH/server5.key" \
|
|
|
|
|
0 \
|
|
|
|
|
-S "found fragmented DTLS handshake message" \
|
|
|
|
|
-S "error"
|
|
|
|
|
|
|
|
|
|
# Minimum possible MTU for OpenSSL server: 256 bytes.
|
|
|
|
|
# We expect the client Certificate handshake message to be fragmented and
|
|
|
|
|
# verify that this is the case. With OpenSSL 3.0.13, the ClientHello handshake
|
|
|
|
|
# message is 224 bytes and also fragmented. However, it may not hold across
|
|
|
|
|
# OpenSSL version updates. Therefore, we do not verify that the ClientHello is
|
|
|
|
|
# reassembled by the server.
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: some fragmentation (openssl client)" \
|
|
|
|
|
"$P_SRV debug_level=2 dtls=1 auth_mode=required" \
|
|
|
|
|
"$O_NEXT_CLI -dtls -mtu 256 -cert $DATA_FILES_PATH/server5.crt -key $DATA_FILES_PATH/server5.key" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-s "Certificate handshake message has been buffered and reassembled" \
|
|
|
|
|
-S "error"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS reassembly: fragmentation, nbio (openssl client)" \
|
|
|
|
|
"$P_SRV debug_level=2 dtls=1 auth_mode=required nbio=2" \
|
|
|
|
|
"$O_NEXT_CLI -dtls -mtu 269 -cert $DATA_FILES_PATH/server5.crt -key $DATA_FILES_PATH/server5.key" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-s "Certificate handshake message has been buffered and reassembled" \
|
|
|
|
|
-S "error"
|
|
|
|
|
|
|
|
|
|
# Tests for sending fragmented handshake messages with DTLS
|
|
|
|
|
#
|
|
|
|
|
# Use client auth when we need the client to send large messages,
|
|
|
|
@@ -10242,20 +10320,20 @@ run_test "DTLS fragmenting: server (MTU)" \
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 1038
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS fragmenting: both (MTU=1024)" \
|
|
|
|
|
-p "$P_PXY mtu=1024" \
|
|
|
|
|
run_test "DTLS fragmenting: both (MTU=1038)" \
|
|
|
|
|
-p "$P_PXY mtu=1038" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=1024" \
|
|
|
|
|
mtu=1038" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=1024" \
|
|
|
|
|
mtu=1038" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-c "found fragmented DTLS handshake message" \
|
|
|
|
@@ -10265,25 +10343,108 @@ run_test "DTLS fragmenting: both (MTU=1024)" \
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_hash_alg SHA_256
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: both (MTU=512)" \
|
|
|
|
|
-p "$P_PXY mtu=512" \
|
|
|
|
|
requires_max_content_len 509
|
|
|
|
|
run_test "DTLS fragmenting: both (MTU=509)" \
|
|
|
|
|
-p "$P_PXY mtu=509" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=512" \
|
|
|
|
|
mtu=509" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
force_ciphersuite=TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256 \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=512" \
|
|
|
|
|
mtu=509" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-c "found fragmented DTLS handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
# Depending on the ciphersuite selected to encrypt the application data, the
|
|
|
|
|
# maximum application data payload per record may be small with an MTU of 128.
|
|
|
|
|
# For example, with TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384, this maximum is
|
|
|
|
|
# 35 bytes. We therefore reduce the size of the client request and the server
|
|
|
|
|
# response in this test and the two following tests.
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_max_content_len 128
|
|
|
|
|
run_test "DTLS fragmenting: both (MTU=128)" \
|
|
|
|
|
-p "$P_PXY mtu=128" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=5 auth_mode=required \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
response_size=8 \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=128" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
request_size=8 \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=128" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-s "fragmenting Certificate handshake message" \
|
|
|
|
|
-s "fragmenting ServerKeyExchange handshake message" \
|
|
|
|
|
-c "found fragmented DTLS handshake message" \
|
|
|
|
|
-c "fragmenting ClientHello handshake message" \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-c "fragmenting CertificateVerify handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: both (MTU=107)" \
|
|
|
|
|
-p "$P_PXY mtu=107" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=5 auth_mode=required \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
response_size=8 \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=107" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
request_size=8 \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=107" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-s "fragmenting Certificate handshake message" \
|
|
|
|
|
-s "fragmenting ServerKeyExchange handshake message" \
|
|
|
|
|
-c "found fragmented DTLS handshake message" \
|
|
|
|
|
-c "fragmenting ClientHello handshake message" \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-c "fragmenting CertificateVerify handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: both (MTU=133)" \
|
|
|
|
|
-p "$P_PXY mtu=133" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=5 auth_mode=required \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
response_size=8 \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=133" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
request_size=8 \
|
|
|
|
|
hs_timeout=2500-60000 \
|
|
|
|
|
mtu=133" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-s "fragmenting Certificate handshake message" \
|
|
|
|
|
-s "fragmenting ServerKeyExchange handshake message" \
|
|
|
|
|
-c "found fragmented DTLS handshake message" \
|
|
|
|
|
-c "fragmenting ClientHello handshake message" \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-c "fragmenting CertificateVerify handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
# Test for automatic MTU reduction on repeated resend.
|
|
|
|
|
# Forcing ciphersuite for this test to fit the MTU of 508 with full config.
|
|
|
|
|
# The ratio of max/min timeout should ideally equal 4 to accept two
|
|
|
|
@@ -10337,7 +10498,7 @@ run_test "DTLS fragmenting: proxy MTU: auto-reduction (with valgrind)" \
|
|
|
|
|
not_with_valgrind # spurious autoreduction due to timeout
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 1024
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, simple handshake (MTU=1024)" \
|
|
|
|
|
-p "$P_PXY mtu=1024" \
|
|
|
|
@@ -10364,7 +10525,7 @@ run_test "DTLS fragmenting: proxy MTU, simple handshake (MTU=1024)" \
|
|
|
|
|
not_with_valgrind # spurious autoreduction due to timeout
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 512
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, simple handshake (MTU=512)" \
|
|
|
|
|
-p "$P_PXY mtu=512" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10387,7 +10548,7 @@ run_test "DTLS fragmenting: proxy MTU, simple handshake (MTU=512)" \
|
|
|
|
|
not_with_valgrind # spurious autoreduction due to timeout
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 1024
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, simple handshake, nbio (MTU=1024)" \
|
|
|
|
|
-p "$P_PXY mtu=1024" \
|
|
|
|
@@ -10411,7 +10572,7 @@ run_test "DTLS fragmenting: proxy MTU, simple handshake, nbio (MTU=1024)" \
|
|
|
|
|
not_with_valgrind # spurious autoreduction due to timeout
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 512
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, simple handshake, nbio (MTU=512)" \
|
|
|
|
|
-p "$P_PXY mtu=512" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10444,7 +10605,7 @@ run_test "DTLS fragmenting: proxy MTU, simple handshake, nbio (MTU=512)" \
|
|
|
|
|
not_with_valgrind # spurious autoreduction due to timeout
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 1450
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, resumed handshake" \
|
|
|
|
|
-p "$P_PXY mtu=1450" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10471,7 +10632,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_hash_alg SHA_256
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 512
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, ChachaPoly renego" \
|
|
|
|
|
-p "$P_PXY mtu=512" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10500,7 +10661,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_hash_alg SHA_256
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 512
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, AES-GCM renego" \
|
|
|
|
|
-p "$P_PXY mtu=512" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10529,7 +10690,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_hash_alg SHA_256
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 1024
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, AES-CCM renego" \
|
|
|
|
|
-p "$P_PXY mtu=1024" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10559,7 +10720,7 @@ requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_hash_alg SHA_256
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_ENCRYPT_THEN_MAC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 1024
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, AES-CBC EtM renego" \
|
|
|
|
|
-p "$P_PXY mtu=1024" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10588,7 +10749,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_hash_alg SHA_256
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 1024
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU, AES-CBC non-EtM renego" \
|
|
|
|
|
-p "$P_PXY mtu=1024" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10614,7 +10775,7 @@ run_test "DTLS fragmenting: proxy MTU, AES-CBC non-EtM renego" \
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 2
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 512
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU + 3d" \
|
|
|
|
|
-p "$P_PXY mtu=512 drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$P_SRV dgram_packing=0 dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10635,7 +10796,7 @@ run_test "DTLS fragmenting: proxy MTU + 3d" \
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 2
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
requires_max_content_len 512
|
|
|
|
|
run_test "DTLS fragmenting: proxy MTU + 3d, nbio" \
|
|
|
|
|
-p "$P_PXY mtu=512 drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 auth_mode=required \
|
|
|
|
@@ -10660,16 +10821,32 @@ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: gnutls server, DTLS 1.2" \
|
|
|
|
|
run_test "DTLS fragmenting: MTU=501, gnutls server, DTLS 1.2" \
|
|
|
|
|
"$G_SRV -u" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
mtu=512 force_version=dtls12" \
|
|
|
|
|
mtu=501 force_version=dtls12" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: MTU=110, gnutls server, DTLS 1.2" \
|
|
|
|
|
"$G_NEXT_SRV -u" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
request_size=35 \
|
|
|
|
|
mtu=110 force_version=dtls12" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "fragmenting ClientHello handshake message" \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
# We use --insecure for the GnuTLS client because it expects
|
|
|
|
|
# the hostname / IP it connects to to be the name used in the
|
|
|
|
|
# certificate obtained from the server. Here, however, it
|
|
|
|
@@ -10682,11 +10859,25 @@ requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_not_i686
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: gnutls client, DTLS 1.2" \
|
|
|
|
|
run_test "DTLS fragmenting: MTU=536, gnutls client, DTLS 1.2" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
mtu=512 force_version=dtls12" \
|
|
|
|
|
mtu=536 force_version=dtls12" \
|
|
|
|
|
"$G_CLI -u --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "fragmenting Certificate handshake message"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_gnutls
|
|
|
|
|
requires_not_i686
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: MTU=149, gnutls client, DTLS 1.2" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
mtu=149 force_version=dtls12" \
|
|
|
|
|
"$G_CLI -u --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "fragmenting Certificate handshake message"
|
|
|
|
@@ -10694,20 +10885,39 @@ run_test "DTLS fragmenting: gnutls client, DTLS 1.2" \
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: openssl server, DTLS 1.2" \
|
|
|
|
|
run_test "DTLS fragmenting: MTU=525, openssl server, DTLS 1.2" \
|
|
|
|
|
"$O_SRV -dtls1_2 -verify 10" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
mtu=512 force_version=dtls12" \
|
|
|
|
|
mtu=525 force_version=dtls12" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
# Depending on the ciphersuite selected to encrypt the application data, the
|
|
|
|
|
# maximum application data payload per record may be small with an MTU of 128.
|
|
|
|
|
# For example, with TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384, this maximum is
|
|
|
|
|
# 35 bytes. We therefore reduce the size of the client request in this test.
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: MTU=130, openssl server, DTLS 1.2" \
|
|
|
|
|
"$O_NEXT_SRV -dtls1_2 -verify 10" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
request_size=8 \
|
|
|
|
|
mtu=130 force_version=dtls12" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "fragmenting ClientHello handshake message" \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: openssl client, DTLS 1.2" \
|
|
|
|
|
run_test "DTLS fragmenting: MTU=512, openssl client, DTLS 1.2" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
@@ -10716,6 +10926,18 @@ run_test "DTLS fragmenting: openssl client, DTLS 1.2" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "fragmenting Certificate handshake message"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: MTU=131, openssl client, DTLS 1.2" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
mtu=131 force_version=dtls12" \
|
|
|
|
|
"$O_CLI -dtls1_2" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "fragmenting Certificate handshake message"
|
|
|
|
|
|
|
|
|
|
# interop tests for DTLS fragmentating with unreliable connection
|
|
|
|
|
#
|
|
|
|
|
# again we just want to test that the we fragment in a way that
|
|
|
|
@@ -10725,28 +10947,61 @@ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 4
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: 3d, gnutls server, DTLS 1.2" \
|
|
|
|
|
run_test "DTLS fragmenting: 3d, MTU=434, gnutls server, DTLS 1.2" \
|
|
|
|
|
-p "$P_PXY drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$G_NEXT_SRV -u" \
|
|
|
|
|
"$P_CLI dgram_packing=0 dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
hs_timeout=250-60000 mtu=512 force_version=dtls12" \
|
|
|
|
|
hs_timeout=250-60000 mtu=434 force_version=dtls12" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
requires_gnutls_next
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 6
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: 3d, MTU=103, gnutls server, DTLS 1.2" \
|
|
|
|
|
-p "$P_PXY drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$G_NEXT_SRV -u" \
|
|
|
|
|
"$P_CLI dgram_packing=0 dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
request_size=35 \
|
|
|
|
|
hs_timeout=250-60000 mtu=103 force_version=dtls12" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "fragmenting ClientHello handshake message" \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
requires_gnutls_next
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 4
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: 3d, gnutls client, DTLS 1.2" \
|
|
|
|
|
run_test "DTLS fragmenting: 3d, MTU=614, gnutls client, DTLS 1.2" \
|
|
|
|
|
-p "$P_PXY drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
hs_timeout=250-60000 mtu=512 force_version=dtls12" \
|
|
|
|
|
hs_timeout=250-60000 mtu=614 force_version=dtls12" \
|
|
|
|
|
"$G_NEXT_CLI -u --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "fragmenting Certificate handshake message"
|
|
|
|
|
|
|
|
|
|
requires_gnutls_next
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 4
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: 3d, MTU=116, gnutls client, DTLS 1.2" \
|
|
|
|
|
-p "$P_PXY drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server7.key \
|
|
|
|
|
hs_timeout=250-60000 mtu=116 force_version=dtls12" \
|
|
|
|
|
"$G_NEXT_CLI -u --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "fragmenting Certificate handshake message"
|
|
|
|
@@ -10758,17 +11013,39 @@ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 4
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: 3d, openssl server, DTLS 1.2" \
|
|
|
|
|
run_test "DTLS fragmenting: 3d, MTU=541, openssl server, DTLS 1.2" \
|
|
|
|
|
-p "$P_PXY drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$O_NEXT_SRV -dtls1_2 -verify 10" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
hs_timeout=250-60000 mtu=512 force_version=dtls12" \
|
|
|
|
|
hs_timeout=250-60000 mtu=541 force_version=dtls12" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
# Depending on the ciphersuite selected to encrypt the application data, the
|
|
|
|
|
# maximum application data payload per record may be small with an MTU of 128.
|
|
|
|
|
# For example, with TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384, this maximum is
|
|
|
|
|
# 35 bytes. We therefore reduce the size of the client request in this test.
|
|
|
|
|
requires_openssl_next
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 4
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: 3d, MTU=108, openssl server, DTLS 1.2" \
|
|
|
|
|
-p "$P_PXY drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$O_NEXT_SRV -dtls1_2 -verify 10" \
|
|
|
|
|
"$P_CLI dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server8_int-ca2.crt \
|
|
|
|
|
key_file=$DATA_FILES_PATH/server8.key \
|
|
|
|
|
request_size=8 \
|
|
|
|
|
hs_timeout=250-60000 mtu=108 force_version=dtls12" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "fragmenting ClientHello handshake message" \
|
|
|
|
|
-c "fragmenting Certificate handshake message" \
|
|
|
|
|
-C "error"
|
|
|
|
|
|
|
|
|
|
## the test below will time out with certain seed.
|
|
|
|
|
## The cause is an openssl bug (https://github.com/openssl/openssl/issues/18887)
|
|
|
|
|
skip_next_test
|
|
|
|
@@ -10776,7 +11053,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
requires_config_enabled PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
|
|
|
|
client_needs_more_time 4
|
|
|
|
|
requires_max_content_len 2048
|
|
|
|
|
run_test "DTLS fragmenting: 3d, openssl client, DTLS 1.2" \
|
|
|
|
|
run_test "DTLS fragmenting: 3d, MTU=512, openssl client, DTLS 1.2" \
|
|
|
|
|
-p "$P_PXY drop=8 delay=8 duplicate=8" \
|
|
|
|
|
"$P_SRV dtls=1 debug_level=2 \
|
|
|
|
|
crt_file=$DATA_FILES_PATH/server7_int-ca.crt \
|
|
|
|
@@ -11863,7 +12140,7 @@ not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, openssl server, fragmentation" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5 protect_hvr=1" \
|
|
|
|
|
"$O_NEXT_SRV -dtls1_2 -mtu 256" \
|
|
|
|
|
"$O_NEXT_SRV -dtls1_2 -mtu 277" \
|
|
|
|
|
"$P_CLI dgram_packing=0 dtls=1 debug_level=2 hs_timeout=500-60000 tickets=0" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "HTTP/1.0 200 OK" \
|
|
|
|
@@ -11875,12 +12152,49 @@ not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, openssl server, fragmentation, nbio" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5 protect_hvr=1" \
|
|
|
|
|
"$O_NEXT_SRV -dtls1_2 -mtu 256" \
|
|
|
|
|
"$O_NEXT_SRV -dtls1_2 -mtu 268" \
|
|
|
|
|
"$P_CLI dgram_packing=0 dtls=1 debug_level=2 hs_timeout=500-60000 nbio=2 tickets=0" \
|
|
|
|
|
0 \
|
|
|
|
|
-c "HTTP/1.0 200 OK" \
|
|
|
|
|
-c "Certificate handshake message has been buffered and reassembled"
|
|
|
|
|
|
|
|
|
|
requires_openssl_next
|
|
|
|
|
client_needs_more_time 6
|
|
|
|
|
not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, openssl client" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5" \
|
|
|
|
|
"$P_SRV dgram_packing=0 dtls=1 hs_timeout=500-60000 tickets=0" \
|
|
|
|
|
"$O_NEXT_CLI -dtls1_2 -mtu 2048" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "HTTP/1.0 200 OK"
|
|
|
|
|
|
|
|
|
|
requires_openssl_next
|
|
|
|
|
client_needs_more_time 8
|
|
|
|
|
not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, openssl client, fragmentation" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5" \
|
|
|
|
|
"$P_SRV debug_level=2 dgram_packing=0 auth_mode=required dtls=1 hs_timeout=500-60000 tickets=0" \
|
|
|
|
|
"$O_NEXT_CLI -dtls1_2 -mtu 260 -cert $DATA_FILES_PATH/server5.crt -key $DATA_FILES_PATH/server5.key" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "HTTP/1.0 200 OK" \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-s "Certificate handshake message has been buffered and reassembled"
|
|
|
|
|
|
|
|
|
|
requires_openssl_next
|
|
|
|
|
client_needs_more_time 8
|
|
|
|
|
not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, openssl client, fragmentation, nbio" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5" \
|
|
|
|
|
"$P_SRV debug_level=2 dgram_packing=0 auth_mode=required dtls=1 hs_timeout=500-60000 nbio=2 tickets=0" \
|
|
|
|
|
"$O_NEXT_CLI -dtls1_2 -mtu 259 -cert $DATA_FILES_PATH/server5.crt -key $DATA_FILES_PATH/server5.key" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "HTTP/1.0 200 OK" \
|
|
|
|
|
-s "found fragmented DTLS handshake message" \
|
|
|
|
|
-s "Certificate handshake message has been buffered and reassembled"
|
|
|
|
|
|
|
|
|
|
requires_gnutls
|
|
|
|
|
client_needs_more_time 6
|
|
|
|
|
not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
@@ -11899,7 +12213,7 @@ not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, gnutls server, fragmentation" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5" \
|
|
|
|
|
"$G_NEXT_SRV -u --mtu 512" \
|
|
|
|
|
"$G_NEXT_SRV -u --mtu 499" \
|
|
|
|
|
"$P_CLI dgram_packing=0 dtls=1 debug_level=2 hs_timeout=500-60000" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "Extra-header:" \
|
|
|
|
@@ -11912,13 +12226,54 @@ not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, gnutls server, fragmentation, nbio" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5" \
|
|
|
|
|
"$G_NEXT_SRV -u --mtu 512" \
|
|
|
|
|
"$G_NEXT_SRV -u --mtu 528" \
|
|
|
|
|
"$P_CLI dgram_packing=0 dtls=1 debug_level=2 hs_timeout=500-60000 nbio=2" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "Extra-header:" \
|
|
|
|
|
-c "Extra-header:" \
|
|
|
|
|
-c "Certificate handshake message has been buffered and reassembled"
|
|
|
|
|
|
|
|
|
|
requires_gnutls
|
|
|
|
|
client_needs_more_time 6
|
|
|
|
|
not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, gnutls client" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5" \
|
|
|
|
|
"$P_SRV dgram_packing=0 dtls=1" \
|
|
|
|
|
"$G_NEXT_CLI -u --mtu 2048 --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "HTTP/1.0 200 OK"
|
|
|
|
|
|
|
|
|
|
# Set the MTU to 131 bytes. The ClientHello is not guaranteed to be surely
|
|
|
|
|
# fragmented but it is very likely. For example, the ClientHello sent by the
|
|
|
|
|
# GnuTLS 3.7.2 client is 206 bytes in this test. We expect ClientHello
|
|
|
|
|
# fragmentation to remain the case across GnuTLS version updates. Avoid using a
|
|
|
|
|
# smaller MTU, as the smaller the MTU, the more likely the handshake is to fail
|
|
|
|
|
# in this very unreliable connection emulation.
|
|
|
|
|
requires_gnutls
|
|
|
|
|
client_needs_more_time 8
|
|
|
|
|
not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, gnutls client, fragmentation" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5" \
|
|
|
|
|
"$P_SRV dgram_packing=0 dtls=1 debug_level=2" \
|
|
|
|
|
"$G_NEXT_CLI -u --mtu 131 --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "HTTP/1.0 200 OK" \
|
|
|
|
|
-s "ClientHello handshake message has been buffered and reassembled"
|
|
|
|
|
|
|
|
|
|
requires_gnutls
|
|
|
|
|
client_needs_more_time 8
|
|
|
|
|
not_with_valgrind # risk of non-mbedtls peer timing out
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "DTLS proxy: 3d, gnutls client, fragmentation, nbio=2" \
|
|
|
|
|
-p "$P_PXY drop=5 delay=5 duplicate=5" \
|
|
|
|
|
"$P_SRV dgram_packing=0 dtls=1 debug_level=2 nbio=2" \
|
|
|
|
|
"$G_NEXT_CLI -u --mtu 135 --insecure 127.0.0.1" \
|
|
|
|
|
0 \
|
|
|
|
|
-s "HTTP/1.0 200 OK" \
|
|
|
|
|
-s "ClientHello handshake message has been buffered and reassembled"
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
run_test "export keys functionality" \
|
|
|
|
|
"$P_SRV eap_tls=1 debug_level=3" \
|
|
|
|
@@ -13826,7 +14181,6 @@ run_test "Handshake defragmentation on server: len=256, client-initiated rene
|
|
|
|
|
-s "Consume: waiting for more handshake fragments 256/" \
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
run_test "Handshake defragmentation on server: len=128, client-initiated renegotiation" \
|
|
|
|
|
"$P_SRV debug_level=4 exchanges=2 renegotiation=1 auth_mode=required" \
|
|
|
|
@@ -13843,7 +14197,6 @@ run_test "Handshake defragmentation on server: len=128, client-initiated rene
|
|
|
|
|
-s "Consume: waiting for more handshake fragments 128/" \
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
run_test "Handshake defragmentation on server: len=4, client-initiated renegotiation" \
|
|
|
|
|
"$P_SRV debug_level=4 exchanges=2 renegotiation=1 auth_mode=required" \
|
|
|
|
@@ -13860,7 +14213,6 @@ run_test "Handshake defragmentation on server: len=4, client-initiated renego
|
|
|
|
|
-s "Consume: waiting for more handshake fragments 4/" \
|
|
|
|
|
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
|
|
|
|
|
requires_config_enabled MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
run_test "Handshake defragmentation on server: len=4, client-initiated server-rejected renegotiation" \
|
|
|
|
|
"$P_SRV debug_level=4 exchanges=2 renegotiation=0 auth_mode=required" \
|
|
|
|
|