Skip to content

Commit

Permalink
Skip some DTLS reordering tests in PSK-only builds
Browse files Browse the repository at this point in the history
Some DTLS reordering tests rely on certificate authentication messages. It
is probably possible to adapt them to rely on different messages, but for
now, skip them in PSK-only builds.

Signed-off-by: Gilles Peskine <[email protected]>
  • Loading branch information
gilles-peskine-arm committed Mar 14, 2022
1 parent b2d9eb3 commit 722e426
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions tests/ssl-opt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,12 @@ maybe_requires_ciphersuite_enabled() {
unset ciphersuite
}

requires_certificate_authentication () {
if [ "$PSK_ONLY" = "YES" ]; then
SKIP_NEXT="YES"
fi
}

adapt_cmd_for_psk () {
case "$2" in
*openssl*) s='-psk abc123 -nocert';;
Expand Down Expand Up @@ -9304,6 +9310,7 @@ run_test "DTLS proxy: delay ChangeCipherSpec" \

# Tests for reordering support with DTLS

requires_certificate_authentication
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "DTLS reordering: Buffer out-of-order handshake message on client" \
-p "$P_PXY delay_srv=ServerHello" \
Expand All @@ -9321,6 +9328,7 @@ run_test "DTLS reordering: Buffer out-of-order handshake message on client" \
-S "Injecting buffered CCS message" \
-S "Remember CCS message"

requires_certificate_authentication
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "DTLS reordering: Buffer out-of-order handshake message fragment on client" \
-p "$P_PXY delay_srv=ServerHello" \
Expand All @@ -9344,6 +9352,7 @@ run_test "DTLS reordering: Buffer out-of-order handshake message fragment on
# Certificate message; at the time of writing, together these are aroudn 1200b
# in size, so that the bound below ensures that the certificate can be reassembled
# while keeping the ServerKeyExchange.
requires_certificate_authentication
requires_config_value_at_least "MBEDTLS_SSL_DTLS_MAX_BUFFERING" 1300
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "DTLS reordering: Buffer out-of-order hs msg before reassembling next" \
Expand All @@ -9366,6 +9375,7 @@ run_test "DTLS reordering: Buffer out-of-order hs msg before reassembling nex
# The size constraints ensure that the delayed certificate message can't
# be reassembled while keeping the ServerKeyExchange message, but it can
# when dropping it first.
requires_certificate_authentication
requires_config_value_at_least "MBEDTLS_SSL_DTLS_MAX_BUFFERING" 900
requires_config_value_at_most "MBEDTLS_SSL_DTLS_MAX_BUFFERING" 1299
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
Expand All @@ -9386,6 +9396,7 @@ run_test "DTLS reordering: Buffer out-of-order hs msg before reassembling nex
-S "Injecting buffered CCS message" \
-S "Remember CCS message"

requires_certificate_authentication
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "DTLS reordering: Buffer out-of-order handshake message on server" \
-p "$P_PXY delay_cli=Certificate" \
Expand All @@ -9403,6 +9414,7 @@ run_test "DTLS reordering: Buffer out-of-order handshake message on server" \
-S "Injecting buffered CCS message" \
-S "Remember CCS message"

requires_certificate_authentication
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "DTLS reordering: Buffer out-of-order CCS message on client"\
-p "$P_PXY delay_srv=NewSessionTicket" \
Expand All @@ -9420,6 +9432,7 @@ run_test "DTLS reordering: Buffer out-of-order CCS message on client"\
-S "Injecting buffered CCS message" \
-S "Remember CCS message"

requires_certificate_authentication
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "DTLS reordering: Buffer out-of-order CCS message on server"\
-p "$P_PXY delay_cli=ClientKeyExchange" \
Expand Down

0 comments on commit 722e426

Please sign in to comment.