# -*- mode: perl; -*-
-# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the OpenSSL license (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
}
}
}
+ return @tests if disabled("tls1_3") || disabled("tls1_2") || $dtls;
+
+ #Add some version/ciphersuite sanity check tests
+ push @tests, {
+ "name" => "ciphersuite-sanity-check-client",
+ "client" => {
+ #Offering only <=TLSv1.2 ciphersuites with TLSv1.3 should fail
+ "CipherString" => "AES128-SHA",
+ "Ciphersuites" => "",
+ },
+ "server" => {
+ "MaxProtocol" => "TLSv1.2"
+ },
+ "test" => {
+ "ExpectedResult" => "ClientFail",
+ }
+ };
+ push @tests, {
+ "name" => "ciphersuite-sanity-check-server",
+ "client" => {
+ "CipherString" => "AES128-SHA",
+ "MaxProtocol" => "TLSv1.2"
+ },
+ "server" => {
+ #Allowing only <=TLSv1.2 ciphersuites with TLSv1.3 should fail
+ "CipherString" => "AES128-SHA",
+ "Ciphersuites" => "",
+ },
+ "test" => {
+ "ExpectedResult" => "ServerFail",
+ }
+ };
+
return @tests;
}
$resumption_expected = "No";
}
- foreach my $ticket ("SessionTicket", "-SessionTicket") {
- # Client is flexible, server upgrades/downgrades.
- push @server_tests, {
- "name" => "resumption",
- "client" => { },
- "server" => {
- "MinProtocol" => $protocols[$original_protocol],
- "MaxProtocol" => $protocols[$original_protocol],
- "Options" => $ticket,
- },
- "resume_server" => {
- "MaxProtocol" => $protocols[$resume_protocol],
- },
- "test" => {
- "ExpectedProtocol" => $protocols[$resume_protocol],
- "Method" => $method,
- "HandshakeMode" => "Resume",
- "ResumptionExpected" => $resumption_expected,
- }
- };
- # Server is flexible, client upgrades/downgrades.
- push @client_tests, {
- "name" => "resumption",
- "client" => {
- "MinProtocol" => $protocols[$original_protocol],
- "MaxProtocol" => $protocols[$original_protocol],
- },
- "server" => {
- "Options" => $ticket,
- },
- "resume_client" => {
- "MaxProtocol" => $protocols[$resume_protocol],
- },
- "test" => {
- "ExpectedProtocol" => $protocols[$resume_protocol],
- "Method" => $method,
- "HandshakeMode" => "Resume",
- "ResumptionExpected" => $resumption_expected,
- }
- };
+ for (my $sctp = 0; $sctp < ($dtls && !disabled("sctp") ? 2 : 1);
+ $sctp++) {
+ foreach my $ticket ("SessionTicket", "-SessionTicket") {
+ # Client is flexible, server upgrades/downgrades.
+ push @server_tests, {
+ "name" => "resumption",
+ "client" => { },
+ "server" => {
+ "MinProtocol" => $protocols[$original_protocol],
+ "MaxProtocol" => $protocols[$original_protocol],
+ "Options" => $ticket,
+ },
+ "resume_server" => {
+ "MaxProtocol" => $protocols[$resume_protocol],
+ },
+ "test" => {
+ "ExpectedProtocol" => $protocols[$resume_protocol],
+ "Method" => $method,
+ "HandshakeMode" => "Resume",
+ "ResumptionExpected" => $resumption_expected,
+ }
+ };
+ $server_tests[-1]{"test"}{"UseSCTP"} = "Yes" if $sctp;
+ # Server is flexible, client upgrades/downgrades.
+ push @client_tests, {
+ "name" => "resumption",
+ "client" => {
+ "MinProtocol" => $protocols[$original_protocol],
+ "MaxProtocol" => $protocols[$original_protocol],
+ },
+ "server" => {
+ "Options" => $ticket,
+ },
+ "resume_client" => {
+ "MaxProtocol" => $protocols[$resume_protocol],
+ },
+ "test" => {
+ "ExpectedProtocol" => $protocols[$resume_protocol],
+ "Method" => $method,
+ "HandshakeMode" => "Resume",
+ "ResumptionExpected" => $resumption_expected,
+ }
+ };
+ $client_tests[-1]{"test"}{"UseSCTP"} = "Yes" if $sctp;
+ }
}
}
}