diff options
Diffstat (limited to 'src/lib/libcrypto/util/mkdef.pl')
-rw-r--r-- | src/lib/libcrypto/util/mkdef.pl | 142 |
1 files changed, 42 insertions, 100 deletions
diff --git a/src/lib/libcrypto/util/mkdef.pl b/src/lib/libcrypto/util/mkdef.pl index ef1cc6e513..6c1e53bb14 100644 --- a/src/lib/libcrypto/util/mkdef.pl +++ b/src/lib/libcrypto/util/mkdef.pl | |||
@@ -79,29 +79,19 @@ 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", "ZLIB" ); | 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", |
86 | "SHA256", "SHA512", "RIPEMD", | 86 | "SHA256", "SHA512", "RIPEMD", |
87 | "MDC2", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", "HMAC", "AES", "CAMELLIA", "SEED", | 87 | "MDC2", "RSA", "DSA", "DH", "EC", "HMAC", "AES", |
88 | # Envelope "algorithms" | 88 | # Envelope "algorithms" |
89 | "EVP", "X509", "ASN1_TYPEDEFS", | 89 | "EVP", "X509", "ASN1_TYPEDEFS", |
90 | # Helper "algorithms" | 90 | # Helper "algorithms" |
91 | "BIO", "COMP", "BUFFER", "LHASH", "STACK", "ERR", | 91 | "BIO", "COMP", "BUFFER", "LHASH", "STACK", "ERR", |
92 | "LOCKING", | 92 | "LOCKING", |
93 | # External "algorithms" | 93 | # External "algorithms" |
94 | "FP_API", "STDIO", "SOCK", "KRB5", "DGRAM", | 94 | "FP_API", "STDIO", "SOCK", "KRB5", "ENGINE", "HW" ); |
95 | # Engines | ||
96 | "STATIC_ENGINE", "ENGINE", "HW", "GMP", | ||
97 | # RFC3779 support | ||
98 | "RFC3779", | ||
99 | # TLS extension support | ||
100 | "TLSEXT", | ||
101 | # CMS | ||
102 | "CMS", | ||
103 | # Deprecated functions | ||
104 | "DEPRECATED" ); | ||
105 | 95 | ||
106 | my $options=""; | 96 | my $options=""; |
107 | open(IN,"<Makefile") || die "unable to open Makefile!\n"; | 97 | open(IN,"<Makefile") || die "unable to open Makefile!\n"; |
@@ -117,11 +107,9 @@ my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf; | |||
117 | my $no_cast; | 107 | my $no_cast; |
118 | my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2; | 108 | my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2; |
119 | 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; |
120 | my $no_ec; my $no_ecdsa; my $no_ecdh; my $no_engine; my $no_hw; my $no_camellia; | 110 | my $no_ec; my $no_engine; my $no_hw; |
121 | my $no_seed; | 111 | my $no_fp_api; |
122 | my $no_fp_api; my $no_static_engine; my $no_gmp; my $no_deprecated; | 112 | my $fips; |
123 | my $no_rfc3779; my $no_tlsext; my $no_cms; | ||
124 | |||
125 | 113 | ||
126 | foreach (@ARGV, split(/ /, $options)) | 114 | foreach (@ARGV, split(/ /, $options)) |
127 | { | 115 | { |
@@ -142,11 +130,7 @@ foreach (@ARGV, split(/ /, $options)) | |||
142 | } | 130 | } |
143 | $VMS=1 if $_ eq "VMS"; | 131 | $VMS=1 if $_ eq "VMS"; |
144 | $OS2=1 if $_ eq "OS2"; | 132 | $OS2=1 if $_ eq "OS2"; |
145 | if ($_ eq "zlib" || $_ eq "zlib-dynamic" | 133 | $fips=1 if $_ eq "fips"; |
146 | || $_ eq "enable-zlib-dynamic") { | ||
147 | $zlib = 1; | ||
148 | } | ||
149 | |||
150 | 134 | ||
151 | $do_ssl=1 if $_ eq "ssleay"; | 135 | $do_ssl=1 if $_ eq "ssleay"; |
152 | if ($_ eq "ssl") { | 136 | if ($_ eq "ssl") { |
@@ -158,8 +142,6 @@ foreach (@ARGV, split(/ /, $options)) | |||
158 | $do_crypto=1; | 142 | $do_crypto=1; |
159 | $libname=$_; | 143 | $libname=$_; |
160 | } | 144 | } |
161 | $no_static_engine=1 if $_ eq "no-static-engine"; | ||
162 | $no_static_engine=0 if $_ eq "enable-static-engine"; | ||
163 | $do_update=1 if $_ eq "update"; | 145 | $do_update=1 if $_ eq "update"; |
164 | $do_rewrite=1 if $_ eq "rewrite"; | 146 | $do_rewrite=1 if $_ eq "rewrite"; |
165 | $do_ctest=1 if $_ eq "ctest"; | 147 | $do_ctest=1 if $_ eq "ctest"; |
@@ -184,12 +166,8 @@ foreach (@ARGV, split(/ /, $options)) | |||
184 | elsif (/^no-dsa$/) { $no_dsa=1; } | 166 | elsif (/^no-dsa$/) { $no_dsa=1; } |
185 | elsif (/^no-dh$/) { $no_dh=1; } | 167 | elsif (/^no-dh$/) { $no_dh=1; } |
186 | elsif (/^no-ec$/) { $no_ec=1; } | 168 | elsif (/^no-ec$/) { $no_ec=1; } |
187 | elsif (/^no-ecdsa$/) { $no_ecdsa=1; } | ||
188 | elsif (/^no-ecdh$/) { $no_ecdh=1; } | ||
189 | elsif (/^no-hmac$/) { $no_hmac=1; } | 169 | elsif (/^no-hmac$/) { $no_hmac=1; } |
190 | elsif (/^no-aes$/) { $no_aes=1; } | 170 | elsif (/^no-aes$/) { $no_aes=1; } |
191 | elsif (/^no-camellia$/) { $no_camellia=1; } | ||
192 | elsif (/^no-seed$/) { $no_seed=1; } | ||
193 | elsif (/^no-evp$/) { $no_evp=1; } | 171 | elsif (/^no-evp$/) { $no_evp=1; } |
194 | elsif (/^no-lhash$/) { $no_lhash=1; } | 172 | elsif (/^no-lhash$/) { $no_lhash=1; } |
195 | elsif (/^no-stack$/) { $no_stack=1; } | 173 | elsif (/^no-stack$/) { $no_stack=1; } |
@@ -202,10 +180,6 @@ foreach (@ARGV, split(/ /, $options)) | |||
202 | elsif (/^no-krb5$/) { $no_krb5=1; } | 180 | elsif (/^no-krb5$/) { $no_krb5=1; } |
203 | elsif (/^no-engine$/) { $no_engine=1; } | 181 | elsif (/^no-engine$/) { $no_engine=1; } |
204 | elsif (/^no-hw$/) { $no_hw=1; } | 182 | elsif (/^no-hw$/) { $no_hw=1; } |
205 | elsif (/^no-gmp$/) { $no_gmp=1; } | ||
206 | elsif (/^no-rfc3779$/) { $no_rfc3779=1; } | ||
207 | elsif (/^no-tlsext$/) { $no_tlsext=1; } | ||
208 | elsif (/^no-cms$/) { $no_cms=1; } | ||
209 | } | 183 | } |
210 | 184 | ||
211 | 185 | ||
@@ -241,10 +215,8 @@ $max_crypto = $max_num; | |||
241 | 215 | ||
242 | my $ssl="ssl/ssl.h"; | 216 | my $ssl="ssl/ssl.h"; |
243 | $ssl.=" ssl/kssl.h"; | 217 | $ssl.=" ssl/kssl.h"; |
244 | $ssl.=" ssl/tls1.h"; | ||
245 | 218 | ||
246 | my $crypto ="crypto/crypto.h"; | 219 | my $crypto ="crypto/crypto.h"; |
247 | $crypto.=" crypto/o_dir.h"; | ||
248 | $crypto.=" crypto/des/des.h crypto/des/des_old.h" ; # unless $no_des; | 220 | $crypto.=" crypto/des/des.h crypto/des/des_old.h" ; # unless $no_des; |
249 | $crypto.=" crypto/idea/idea.h" ; # unless $no_idea; | 221 | $crypto.=" crypto/idea/idea.h" ; # unless $no_idea; |
250 | $crypto.=" crypto/rc4/rc4.h" ; # unless $no_rc4; | 222 | $crypto.=" crypto/rc4/rc4.h" ; # unless $no_rc4; |
@@ -259,16 +231,12 @@ $crypto.=" crypto/mdc2/mdc2.h" ; # unless $no_mdc2; | |||
259 | $crypto.=" crypto/sha/sha.h" ; # unless $no_sha; | 231 | $crypto.=" crypto/sha/sha.h" ; # unless $no_sha; |
260 | $crypto.=" crypto/ripemd/ripemd.h" ; # unless $no_ripemd; | 232 | $crypto.=" crypto/ripemd/ripemd.h" ; # unless $no_ripemd; |
261 | $crypto.=" crypto/aes/aes.h" ; # unless $no_aes; | 233 | $crypto.=" crypto/aes/aes.h" ; # unless $no_aes; |
262 | $crypto.=" crypto/camellia/camellia.h" ; # unless $no_camellia; | ||
263 | $crypto.=" crypto/seed/seed.h"; # unless $no_seed; | ||
264 | 234 | ||
265 | $crypto.=" crypto/bn/bn.h"; | 235 | $crypto.=" crypto/bn/bn.h"; |
266 | $crypto.=" crypto/rsa/rsa.h" ; # unless $no_rsa; | 236 | $crypto.=" crypto/rsa/rsa.h" ; # unless $no_rsa; |
267 | $crypto.=" crypto/dsa/dsa.h" ; # unless $no_dsa; | 237 | $crypto.=" crypto/dsa/dsa.h" ; # unless $no_dsa; |
268 | $crypto.=" crypto/dh/dh.h" ; # unless $no_dh; | 238 | $crypto.=" crypto/dh/dh.h" ; # unless $no_dh; |
269 | $crypto.=" crypto/ec/ec.h" ; # unless $no_ec; | 239 | $crypto.=" crypto/ec/ec.h" ; # unless $no_ec; |
270 | $crypto.=" crypto/ecdsa/ecdsa.h" ; # unless $no_ecdsa; | ||
271 | $crypto.=" crypto/ecdh/ecdh.h" ; # unless $no_ecdh; | ||
272 | $crypto.=" crypto/hmac/hmac.h" ; # unless $no_hmac; | 240 | $crypto.=" crypto/hmac/hmac.h" ; # unless $no_hmac; |
273 | 241 | ||
274 | $crypto.=" crypto/engine/engine.h"; # unless $no_engine; | 242 | $crypto.=" crypto/engine/engine.h"; # unless $no_engine; |
@@ -299,9 +267,7 @@ $crypto.=" crypto/ocsp/ocsp.h"; | |||
299 | $crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; | 267 | $crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; |
300 | $crypto.=" crypto/krb5/krb5_asn.h"; | 268 | $crypto.=" crypto/krb5/krb5_asn.h"; |
301 | $crypto.=" crypto/tmdiff.h"; | 269 | $crypto.=" crypto/tmdiff.h"; |
302 | $crypto.=" crypto/store/store.h"; | 270 | $crypto.=" fips-1.0/fips.h fips-1.0/rand/fips_rand.h fips-1.0/sha/fips_sha.h"; |
303 | $crypto.=" crypto/pqueue/pqueue.h"; | ||
304 | $crypto.=" crypto/cms/cms.h"; | ||
305 | 271 | ||
306 | my $symhacks="crypto/symhacks.h"; | 272 | my $symhacks="crypto/symhacks.h"; |
307 | 273 | ||
@@ -457,11 +423,7 @@ sub do_defs | |||
457 | 423 | ||
458 | print STDERR "DEBUG: parsing ----------\n" if $debug; | 424 | print STDERR "DEBUG: parsing ----------\n" if $debug; |
459 | while(<IN>) { | 425 | while(<IN>) { |
460 | if (/\/\* Error codes for the \w+ functions\. \*\//) | 426 | last if (/\/\* Error codes for the \w+ functions\. \*\//); |
461 | { | ||
462 | undef @tag; | ||
463 | last; | ||
464 | } | ||
465 | if ($line ne '') { | 427 | if ($line ne '') { |
466 | $_ = $line . $_; | 428 | $_ = $line . $_; |
467 | $line = ''; | 429 | $line = ''; |
@@ -474,22 +436,17 @@ sub do_defs | |||
474 | next; | 436 | next; |
475 | } | 437 | } |
476 | 438 | ||
477 | if(/\/\*/) { | 439 | $cpp = 1 if /^\#.*ifdef.*cplusplus/; |
478 | if (not /\*\//) { # multiline comment... | ||
479 | $line = $_; # ... just accumulate | ||
480 | next; | ||
481 | } else { | ||
482 | s/\/\*.*?\*\///gs;# wipe it | ||
483 | } | ||
484 | } | ||
485 | |||
486 | if ($cpp) { | 440 | if ($cpp) { |
487 | $cpp++ if /^#\s*if/; | 441 | $cpp = 0 if /^\#.*endif/; |
488 | $cpp-- if /^#\s*endif/; | ||
489 | next; | 442 | next; |
490 | } | 443 | } |
491 | $cpp = 1 if /^#.*ifdef.*cplusplus/; | ||
492 | 444 | ||
445 | s/\/\*.*?\*\///gs; # ignore comments | ||
446 | if (/\/\*/) { # if we have part | ||
447 | $line = $_; # of a comment, | ||
448 | next; # continue reading | ||
449 | } | ||
493 | s/{[^{}]*}//gs; # ignore {} blocks | 450 | s/{[^{}]*}//gs; # ignore {} blocks |
494 | print STDERR "DEBUG: \$def=\"$def\"\n" if $debug && $def ne ""; | 451 | print STDERR "DEBUG: \$def=\"$def\"\n" if $debug && $def ne ""; |
495 | print STDERR "DEBUG: \$_=\"$_\"\n" if $debug; | 452 | print STDERR "DEBUG: \$_=\"$_\"\n" if $debug; |
@@ -548,7 +505,7 @@ sub do_defs | |||
548 | } | 505 | } |
549 | } elsif (/^\#\s*endif/) { | 506 | } elsif (/^\#\s*endif/) { |
550 | my $tag_i = $#tag; | 507 | my $tag_i = $#tag; |
551 | while($tag_i > 0 && $tag[$tag_i] ne "-") { | 508 | while($tag[$tag_i] ne "-") { |
552 | my $t=$tag[$tag_i]; | 509 | my $t=$tag[$tag_i]; |
553 | print STDERR "DEBUG: \$t=\"$t\"\n" if $debug; | 510 | print STDERR "DEBUG: \$t=\"$t\"\n" if $debug; |
554 | if ($tag{$t}==2) { | 511 | if ($tag{$t}==2) { |
@@ -715,10 +672,6 @@ sub do_defs | |||
715 | "EXPORT_VAR_AS_FUNCTION", | 672 | "EXPORT_VAR_AS_FUNCTION", |
716 | "FUNCTION"); | 673 | "FUNCTION"); |
717 | next; | 674 | next; |
718 | } elsif (/^\s*DECLARE_ASN1_ALLOC_FUNCTIONS\s*\(\s*(\w*)\s*\)/) { | ||
719 | $def .= "int $1_free(void);"; | ||
720 | $def .= "int $1_new(void);"; | ||
721 | next; | ||
722 | } elsif (/^\s*DECLARE_ASN1_FUNCTIONS_name\s*\(\s*(\w*)\s*,\s*(\w*)\s*\)/) { | 675 | } elsif (/^\s*DECLARE_ASN1_FUNCTIONS_name\s*\(\s*(\w*)\s*,\s*(\w*)\s*\)/) { |
723 | $def .= "int d2i_$2(void);"; | 676 | $def .= "int d2i_$2(void);"; |
724 | $def .= "int i2d_$2(void);"; | 677 | $def .= "int i2d_$2(void);"; |
@@ -763,21 +716,12 @@ sub do_defs | |||
763 | "EXPORT_VAR_AS_FUNCTION", | 716 | "EXPORT_VAR_AS_FUNCTION", |
764 | "FUNCTION"); | 717 | "FUNCTION"); |
765 | next; | 718 | next; |
766 | } elsif (/^\s*DECLARE_ASN1_NDEF_FUNCTION\s*\(\s*(\w*)\s*\)/) { | ||
767 | $def .= "int i2d_$1_NDEF(void);"; | ||
768 | } elsif (/^\s*DECLARE_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) { | 719 | } elsif (/^\s*DECLARE_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) { |
769 | next; | 720 | next; |
770 | } elsif (/^\s*DECLARE_ASN1_PRINT_FUNCTION\s*\(\s*(\w*)\s*\)/) { | ||
771 | $def .= "int $1_print_ctx(void);"; | ||
772 | next; | ||
773 | } elsif (/^\s*DECLARE_ASN1_PRINT_FUNCTION_name\s*\(\s*(\w*)\s*,\s*(\w*)\s*\)/) { | ||
774 | $def .= "int $2_print_ctx(void);"; | ||
775 | next; | ||
776 | } elsif (/^\s*DECLARE_PKCS12_STACK_OF\s*\(\s*(\w*)\s*\)/) { | 721 | } elsif (/^\s*DECLARE_PKCS12_STACK_OF\s*\(\s*(\w*)\s*\)/) { |
777 | next; | 722 | next; |
778 | } elsif (/^DECLARE_PEM_rw\s*\(\s*(\w*)\s*,/ || | 723 | } elsif (/^DECLARE_PEM_rw\s*\(\s*(\w*)\s*,/ || |
779 | /^DECLARE_PEM_rw_cb\s*\(\s*(\w*)\s*,/ || | 724 | /^DECLARE_PEM_rw_cb\s*\(\s*(\w*)\s*,/ ) { |
780 | /^DECLARE_PEM_rw_const\s*\(\s*(\w*)\s*,/ ) { | ||
781 | # Things not in Win16 | 725 | # Things not in Win16 |
782 | $def .= | 726 | $def .= |
783 | "#INFO:" | 727 | "#INFO:" |
@@ -853,7 +797,7 @@ sub do_defs | |||
853 | } | 797 | } |
854 | close(IN); | 798 | close(IN); |
855 | 799 | ||
856 | my $algs; | 800 | my $algs = ''; |
857 | my $plays; | 801 | my $plays; |
858 | 802 | ||
859 | print STDERR "DEBUG: postprocessing ----------\n" if $debug; | 803 | print STDERR "DEBUG: postprocessing ----------\n" if $debug; |
@@ -865,17 +809,6 @@ sub do_defs | |||
865 | next if(/typedef\W/); | 809 | next if(/typedef\W/); |
866 | next if(/\#define/); | 810 | next if(/\#define/); |
867 | 811 | ||
868 | # Reduce argument lists to empty () | ||
869 | # fold round brackets recursively: (t(*v)(t),t) -> (t{}{},t) -> {} | ||
870 | while(/\(.*\)/s) { | ||
871 | s/\([^\(\)]+\)/\{\}/gs; | ||
872 | s/\(\s*\*\s*(\w+)\s*\{\}\s*\)/$1/gs; #(*f{}) -> f | ||
873 | } | ||
874 | # pretend as we didn't use curly braces: {} -> () | ||
875 | s/\{\}/\(\)/gs; | ||
876 | |||
877 | s/STACK_OF\(\)/void/gs; | ||
878 | |||
879 | print STDERR "DEBUG: \$_ = \"$_\"\n" if $debug; | 812 | print STDERR "DEBUG: \$_ = \"$_\"\n" if $debug; |
880 | if (/^\#INFO:([^:]*):(.*)$/) { | 813 | if (/^\#INFO:([^:]*):(.*)$/) { |
881 | $plats = $1; | 814 | $plats = $1; |
@@ -886,10 +819,21 @@ sub do_defs | |||
886 | $s = $1; | 819 | $s = $1; |
887 | $k = "VARIABLE"; | 820 | $k = "VARIABLE"; |
888 | print STDERR "DEBUG: found external variable $s\n" if $debug; | 821 | print STDERR "DEBUG: found external variable $s\n" if $debug; |
889 | } elsif (/TYPEDEF_\w+_OF/s) { | 822 | } elsif (/\(\*(\w*(\{[0-9]+\})?)\([^\)]+/) { |
823 | $s = $1; | ||
824 | print STDERR "DEBUG: found ANSI C function $s\n" if $debug; | ||
825 | } elsif (/\w+\W+(\w+)\W*\(\s*\)(\s*__attribute__\(.*\)\s*)?$/s) { | ||
826 | # K&R C | ||
827 | print STDERR "DEBUG: found K&R C function $s\n" if $debug; | ||
890 | next; | 828 | next; |
891 | } elsif (/(\w+)\s*\(\).*/s) { # first token prior [first] () is | 829 | } elsif (/\w+\W+\w+(\{[0-9]+\})?\W*\(.*\)(\s*__attribute__\(.*\)\s*)?$/s) { |
892 | $s = $1; # a function name! | 830 | while (not /\(\)(\s*__attribute__\(.*\)\s*)?$/s) { |
831 | s/[^\(\)]*\)(\s*__attribute__\(.*\)\s*)?$/\)/s; | ||
832 | s/\([^\(\)]*\)\)(\s*__attribute__\(.*\)\s*)?$/\)/s; | ||
833 | } | ||
834 | s/\(void\)//; | ||
835 | /(\w+(\{[0-9]+\})?)\W*\(\)/s; | ||
836 | $s = $1; | ||
893 | print STDERR "DEBUG: found function $s\n" if $debug; | 837 | print STDERR "DEBUG: found function $s\n" if $debug; |
894 | } elsif (/\(/ and not (/=/)) { | 838 | } elsif (/\(/ and not (/=/)) { |
895 | print STDERR "File $file: cannot parse: $_;\n"; | 839 | print STDERR "File $file: cannot parse: $_;\n"; |
@@ -920,9 +864,13 @@ sub do_defs | |||
920 | $a .= ",RSA" if($s =~ /PEM_Seal(Final|Init|Update)/); | 864 | $a .= ",RSA" if($s =~ /PEM_Seal(Final|Init|Update)/); |
921 | $a .= ",RSA" if($s =~ /RSAPrivateKey/); | 865 | $a .= ",RSA" if($s =~ /RSAPrivateKey/); |
922 | $a .= ",RSA" if($s =~ /SSLv23?_((client|server)_)?method/); | 866 | $a .= ",RSA" if($s =~ /SSLv23?_((client|server)_)?method/); |
867 | # SHA2 algorithms only defined in FIPS mode for | ||
868 | # OpenSSL 0.9.7 | ||
869 | $p .= "OPENSSL_FIPS" if($s =~ /SHA[235]/); | ||
923 | 870 | ||
924 | $platform{$s} = | 871 | $platform{$s} = |
925 | &reduce_platforms((defined($platform{$s})?$platform{$s}.',':"").$p); | 872 | &reduce_platforms((defined($platform{$s})?$platform{$s}.',':"").$p); |
873 | $algorithm{$s} = '' if !defined $algorithm{$s}; | ||
926 | $algorithm{$s} .= ','.$a; | 874 | $algorithm{$s} .= ','.$a; |
927 | 875 | ||
928 | if (defined($variant{$s})) { | 876 | if (defined($variant{$s})) { |
@@ -1087,7 +1035,9 @@ sub is_valid | |||
1087 | if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { | 1035 | if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { |
1088 | return 1; | 1036 | return 1; |
1089 | } | 1037 | } |
1090 | if ($keyword eq "ZLIB" && $zlib) { return 1; } | 1038 | if ($keyword eq "OPENSSL_FIPS" && $fips) { |
1039 | return 1; | ||
1040 | } | ||
1091 | return 0; | 1041 | return 0; |
1092 | } else { | 1042 | } else { |
1093 | # algorithms | 1043 | # algorithms |
@@ -1108,12 +1058,8 @@ sub is_valid | |||
1108 | if ($keyword eq "DSA" && $no_dsa) { return 0; } | 1058 | if ($keyword eq "DSA" && $no_dsa) { return 0; } |
1109 | if ($keyword eq "DH" && $no_dh) { return 0; } | 1059 | if ($keyword eq "DH" && $no_dh) { return 0; } |
1110 | if ($keyword eq "EC" && $no_ec) { return 0; } | 1060 | if ($keyword eq "EC" && $no_ec) { return 0; } |
1111 | if ($keyword eq "ECDSA" && $no_ecdsa) { return 0; } | ||
1112 | if ($keyword eq "ECDH" && $no_ecdh) { return 0; } | ||
1113 | if ($keyword eq "HMAC" && $no_hmac) { return 0; } | 1061 | if ($keyword eq "HMAC" && $no_hmac) { return 0; } |
1114 | if ($keyword eq "AES" && $no_aes) { return 0; } | 1062 | if ($keyword eq "AES" && $no_aes) { return 0; } |
1115 | if ($keyword eq "CAMELLIA" && $no_camellia) { return 0; } | ||
1116 | if ($keyword eq "SEED" && $no_seed) { return 0; } | ||
1117 | if ($keyword eq "EVP" && $no_evp) { return 0; } | 1063 | if ($keyword eq "EVP" && $no_evp) { return 0; } |
1118 | if ($keyword eq "LHASH" && $no_lhash) { return 0; } | 1064 | if ($keyword eq "LHASH" && $no_lhash) { return 0; } |
1119 | if ($keyword eq "STACK" && $no_stack) { return 0; } | 1065 | if ($keyword eq "STACK" && $no_stack) { return 0; } |
@@ -1126,12 +1072,6 @@ sub is_valid | |||
1126 | if ($keyword eq "ENGINE" && $no_engine) { return 0; } | 1072 | if ($keyword eq "ENGINE" && $no_engine) { return 0; } |
1127 | if ($keyword eq "HW" && $no_hw) { return 0; } | 1073 | if ($keyword eq "HW" && $no_hw) { return 0; } |
1128 | if ($keyword eq "FP_API" && $no_fp_api) { return 0; } | 1074 | if ($keyword eq "FP_API" && $no_fp_api) { return 0; } |
1129 | if ($keyword eq "STATIC_ENGINE" && $no_static_engine) { return 0; } | ||
1130 | if ($keyword eq "GMP" && $no_gmp) { return 0; } | ||
1131 | if ($keyword eq "RFC3779" && $no_rfc3779) { return 0; } | ||
1132 | if ($keyword eq "TLSEXT" && $no_tlsext) { return 0; } | ||
1133 | if ($keyword eq "CMS" && $no_cms) { return 0; } | ||
1134 | if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; } | ||
1135 | 1075 | ||
1136 | # Nothing recognise as true | 1076 | # Nothing recognise as true |
1137 | return 1; | 1077 | return 1; |
@@ -1234,6 +1174,8 @@ EOO | |||
1234 | 1174 | ||
1235 | LIBRARY $libname $liboptions | 1175 | LIBRARY $libname $liboptions |
1236 | 1176 | ||
1177 | DESCRIPTION '$description' | ||
1178 | |||
1237 | EOF | 1179 | EOF |
1238 | 1180 | ||
1239 | if ($W16) { | 1181 | if ($W16) { |