]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Skip testing ciphers in the legacy provider if no legacy
authorMatt Caswell <matt@openssl.org>
Wed, 2 Dec 2020 12:45:47 +0000 (12:45 +0000)
committerMatt Caswell <matt@openssl.org>
Fri, 11 Dec 2020 10:56:22 +0000 (10:56 +0000)
test_enc should not test ciphers that are not available due to a lack
of the legacy provider

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13595)

test/recipes/20-test_enc.t

index 003b1fc344083ca8649b37c322b378aabfb06af7..8cd4cf98b71d2d64de4791df66bc3069107bd07b 100644 (file)
@@ -15,6 +15,7 @@ use File::Copy;
 use File::Compare qw/compare_text/;
 use File::Basename;
 use OpenSSL::Test qw/:DEFAULT srctop_file bldtop_dir/;
+use OpenSSL::Test::Utils;
 
 setup("test_enc");
 
@@ -27,13 +28,16 @@ my $test = catfile(".", "p");
 
 my $cmd = "openssl";
 my $provpath = bldtop_dir("providers");
-my @prov = ("-provider-path", $provpath, "-provider", "default", "-provider", "legacy");
-
+my @prov = ("-provider-path", $provpath, "-provider", "default");
+push @prov, ("-provider", "legacy") unless disabled("legacy");
 my $ciphersstatus = undef;
 my @ciphers =
     map { s/^\s+//; s/\s+$//; split /\s+/ }
     run(app([$cmd, "list", "-cipher-commands"]),
         capture => 1, statusvar => \$ciphersstatus);
+@ciphers = grep {!/^(bf|cast|des$|des-cbc|des-cfb|des-ecb|des-ofb|desx|idea
+                     |rc2|rc4|seed)/x} @ciphers
+    if disabled("legacy");
 
 plan tests => 2 + (scalar @ciphers)*2;