dsaparam: update command line app to use EVP calls
authorPauli <paul.dale@oracle.com>
Tue, 3 Mar 2020 01:01:26 +0000 (11:01 +1000)
committerPauli <paul.dale@oracle.com>
Sun, 19 Apr 2020 00:37:39 +0000 (10:37 +1000)
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/11225)

apps/progs.pl

index b6f40e7e209e55881d39187e5ed55c45f067fda7..add4e674992d34d4baeeb745cd1f1f86d37e3886 100644 (file)
@@ -102,18 +102,19 @@ EOF
     );
     my %cmd_deprecated = (
 # The format of this table is:
-#   [0] = alternative command to use instead
-#   [1] = deprecented in this version
-#   [2] = preprocessor conditional for exclusing irrespective of deprecation
-#        rsa      => [ "pkey",      "3_0", "rsa" ],
-#        genrsa   => [ "genpkey",   "3_0", "rsa" ],
-        rsautl   => [ "pkeyutl",   "3_0", "rsa" ],
-#        dhparam  => [ "pkeyparam", "3_0", "dh"  ],
-#        dsaparam => [ "pkeyparam", "3_0", "dsa" ],
-#        dsa      => [ "pkey",      "3_0", "dsa" ],
-#        gendsa   => [ "genpkey",   "3_0", "dsa" ],
-#        ec       => [ "pkey",      "3_0", "ec"  ],
-#        ecparam  => [ "pkeyparam", "3_0", "ec"  ],
+#   [0] = 0/1, 1 means deprecated and gone, 0 is deprecated but still present
+#   [1] = alternative command to use instead
+#   [2] = deprecented in this version
+#   [3] = preprocessor conditional for exclusing irrespective of deprecation
+        rsa      => [ 0, "pkey",      "3_0", "rsa" ],
+        genrsa   => [ 1, "genpkey",   "3_0", "rsa" ],
+        rsautl   => [ 0, "pkeyutl",   "3_0", "rsa" ],
+        dhparam  => [ 1, "pkeyparam", "3_0", "dh"  ],
+        dsaparam => [ 1, "pkeyparam", "3_0", "dsa" ],
+        dsa      => [ 0, "pkey",      "3_0", "dsa" ],
+        gendsa   => [ 1, "genpkey",   "3_0", "dsa" ],
+        ec       => [ 0, "pkey",      "3_0", "ec"  ],
+        ecparam  => [ 0, "pkeyparam", "3_0", "ec"  ],
     );
 
     print "FUNCTION functions[] = {\n";
@@ -124,16 +125,18 @@ EOF
             print "#ifndef OPENSSL_NO_SOCK\n${str}#endif\n";
         } elsif (my $deprecated = $cmd_deprecated{$cmd}) {
             my @dep = @{$deprecated};
-            my $daltprg = $dep[0];
-            my $dver = $dep[1];
-            my $dsys = $dep[2];
-            print "#if !defined(OPENSSL_NO_DEPRECATED_" . $dver . ")";
-            if ($dsys) {
-                print " && !defined(OPENSSL_NO_" . uc($dsys) . ")";
+            print "#if ";
+            if ($dep[0]) {
+                print "!defined(OPENSSL_NO_DEPRECATED_" . $dep[2] . ")";
             }
-            $dver =~ s/_/./g;
-            my $dalt = "\"" . $daltprg . "\", \"" . $dver . "\"";
-            $str =~ s/NULL, NULL/$dalt/;
+            if ($dep[3]) {
+                if ($dep[0]) {
+                    print " && ";
+                }
+                print "!defined(OPENSSL_NO_" . uc($dep[3]) . ")";
+            }
+            my $dalt = "\"" . $dep[1] . "\"";
+            $str =~ s/NULL/$dalt/;
             print "\n${str}#endif\n";
         } elsif (grep { $cmd eq $_ } @disablables) {
             print "#ifndef OPENSSL_NO_" . uc($cmd) . "\n${str}#endif\n";