diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/util/mkdef.pl | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/libcrypto/util/mkdef.pl b/src/lib/libcrypto/util/mkdef.pl index 01a1bfda19..9918c3d549 100644 --- a/src/lib/libcrypto/util/mkdef.pl +++ b/src/lib/libcrypto/util/mkdef.pl | |||
| @@ -79,7 +79,7 @@ my $OS2=0; | |||
| 79 | my $safe_stack_def = 0; | 79 | my $safe_stack_def = 0; |
| 80 | 80 | ||
| 81 | my @known_platforms = ( "__FreeBSD__", "PERL5", "NeXT", | 81 | my @known_platforms = ( "__FreeBSD__", "PERL5", "NeXT", |
| 82 | "EXPORT_VAR_AS_FUNCTION" ); | 82 | "EXPORT_VAR_AS_FUNCTION", "OPENSSL_FIPS" ); |
| 83 | my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" ); | 83 | my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" ); |
| 84 | my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", | 84 | my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", |
| 85 | "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1", | 85 | "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1", |
| @@ -94,7 +94,7 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", | |||
| 94 | "FP_API", "STDIO", "SOCK", "KRB5", "ENGINE", "HW" ); | 94 | "FP_API", "STDIO", "SOCK", "KRB5", "ENGINE", "HW" ); |
| 95 | 95 | ||
| 96 | my $options=""; | 96 | my $options=""; |
| 97 | open(IN,"<Makefile.ssl") || die "unable to open Makefile.ssl!\n"; | 97 | open(IN,"<Makefile") || die "unable to open Makefile!\n"; |
| 98 | while(<IN>) { | 98 | while(<IN>) { |
| 99 | $options=$1 if (/^OPTIONS=(.*)$/); | 99 | $options=$1 if (/^OPTIONS=(.*)$/); |
| 100 | } | 100 | } |
| @@ -109,6 +109,7 @@ my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2; | |||
| 109 | my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5; | 109 | my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5; |
| 110 | my $no_ec; my $no_engine; my $no_hw; | 110 | my $no_ec; my $no_engine; my $no_hw; |
| 111 | my $no_fp_api; | 111 | my $no_fp_api; |
| 112 | my $fips; | ||
| 112 | 113 | ||
| 113 | foreach (@ARGV, split(/ /, $options)) | 114 | foreach (@ARGV, split(/ /, $options)) |
| 114 | { | 115 | { |
| @@ -129,6 +130,7 @@ foreach (@ARGV, split(/ /, $options)) | |||
| 129 | } | 130 | } |
| 130 | $VMS=1 if $_ eq "VMS"; | 131 | $VMS=1 if $_ eq "VMS"; |
| 131 | $OS2=1 if $_ eq "OS2"; | 132 | $OS2=1 if $_ eq "OS2"; |
| 133 | $fips=1 if $_ eq "fips"; | ||
| 132 | 134 | ||
| 133 | $do_ssl=1 if $_ eq "ssleay"; | 135 | $do_ssl=1 if $_ eq "ssleay"; |
| 134 | if ($_ eq "ssl") { | 136 | if ($_ eq "ssl") { |
| @@ -265,6 +267,7 @@ $crypto.=" crypto/ocsp/ocsp.h"; | |||
| 265 | $crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; | 267 | $crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; |
| 266 | $crypto.=" crypto/krb5/krb5_asn.h"; | 268 | $crypto.=" crypto/krb5/krb5_asn.h"; |
| 267 | $crypto.=" crypto/tmdiff.h"; | 269 | $crypto.=" crypto/tmdiff.h"; |
| 270 | $crypto.=" fips/fips.h fips/rand/fips_rand.h"; | ||
| 268 | 271 | ||
| 269 | my $symhacks="crypto/symhacks.h"; | 272 | my $symhacks="crypto/symhacks.h"; |
| 270 | 273 | ||
| @@ -469,7 +472,7 @@ sub do_defs | |||
| 469 | push(@tag,$1); | 472 | push(@tag,$1); |
| 470 | $tag{$1}=-1; | 473 | $tag{$1}=-1; |
| 471 | } | 474 | } |
| 472 | } elsif (/^\#\s*ifdef\s+(.*)/) { | 475 | } elsif (/^\#\s*ifdef\s+(\S*)/) { |
| 473 | push(@tag,"-"); | 476 | push(@tag,"-"); |
| 474 | push(@tag,$1); | 477 | push(@tag,$1); |
| 475 | $tag{$1}=1; | 478 | $tag{$1}=1; |
| @@ -794,7 +797,7 @@ sub do_defs | |||
| 794 | } | 797 | } |
| 795 | close(IN); | 798 | close(IN); |
| 796 | 799 | ||
| 797 | my $algs; | 800 | my $algs = ''; |
| 798 | my $plays; | 801 | my $plays; |
| 799 | 802 | ||
| 800 | print STDERR "DEBUG: postprocessing ----------\n" if $debug; | 803 | print STDERR "DEBUG: postprocessing ----------\n" if $debug; |
| @@ -864,6 +867,7 @@ sub do_defs | |||
| 864 | 867 | ||
| 865 | $platform{$s} = | 868 | $platform{$s} = |
| 866 | &reduce_platforms((defined($platform{$s})?$platform{$s}.',':"").$p); | 869 | &reduce_platforms((defined($platform{$s})?$platform{$s}.',':"").$p); |
| 870 | $algorithm{$s} = '' if !defined $algorithm{$s}; | ||
| 867 | $algorithm{$s} .= ','.$a; | 871 | $algorithm{$s} .= ','.$a; |
| 868 | 872 | ||
| 869 | if (defined($variant{$s})) { | 873 | if (defined($variant{$s})) { |
| @@ -1028,6 +1032,9 @@ sub is_valid | |||
| 1028 | if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { | 1032 | if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { |
| 1029 | return 1; | 1033 | return 1; |
| 1030 | } | 1034 | } |
| 1035 | if ($keyword eq "OPENSSL_FIPS" && $fips) { | ||
| 1036 | return 1; | ||
| 1037 | } | ||
| 1031 | return 0; | 1038 | return 0; |
| 1032 | } else { | 1039 | } else { |
| 1033 | # algorithms | 1040 | # algorithms |
| @@ -1119,7 +1126,7 @@ sub print_test_file | |||
| 1119 | sub get_version { | 1126 | sub get_version { |
| 1120 | local *MF; | 1127 | local *MF; |
| 1121 | my $v = '?'; | 1128 | my $v = '?'; |
| 1122 | open MF, 'Makefile.ssl' or return $v; | 1129 | open MF, 'Makefile' or return $v; |
| 1123 | while (<MF>) { | 1130 | while (<MF>) { |
| 1124 | $v = $1, last if /^VERSION=(.*?)\s*$/; | 1131 | $v = $1, last if /^VERSION=(.*?)\s*$/; |
| 1125 | } | 1132 | } |
