summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/util')
-rw-r--r--src/lib/libcrypto/util/ck_errf.pl22
-rw-r--r--src/lib/libcrypto/util/clean-depend.pl1
-rw-r--r--src/lib/libcrypto/util/copy.pl70
-rw-r--r--src/lib/libcrypto/util/cygwin.sh4
-rw-r--r--src/lib/libcrypto/util/domd10
-rw-r--r--src/lib/libcrypto/util/extract-section.pl12
-rw-r--r--src/lib/libcrypto/util/libeay.num986
-rw-r--r--src/lib/libcrypto/util/mk1mf.pl563
-rw-r--r--src/lib/libcrypto/util/mkdef.pl76
-rw-r--r--src/lib/libcrypto/util/mkerr.pl715
-rw-r--r--src/lib/libcrypto/util/mkfiles.pl32
-rw-r--r--src/lib/libcrypto/util/mklink.pl13
-rw-r--r--src/lib/libcrypto/util/mkstack.pl126
-rw-r--r--src/lib/libcrypto/util/pl/BC-32.pl2
-rw-r--r--src/lib/libcrypto/util/pl/Mingw32.pl6
-rw-r--r--src/lib/libcrypto/util/pl/VC-32.pl341
-rw-r--r--src/lib/libcrypto/util/pl/netware.pl526
-rw-r--r--src/lib/libcrypto/util/pod2man.pl2
-rw-r--r--src/lib/libcrypto/util/point.sh2
-rw-r--r--src/lib/libcrypto/util/selftest.pl4
-rw-r--r--src/lib/libcrypto/util/ssleay.num27
21 files changed, 2440 insertions, 1100 deletions
diff --git a/src/lib/libcrypto/util/ck_errf.pl b/src/lib/libcrypto/util/ck_errf.pl
index f13af5c50b..344b422c34 100644
--- a/src/lib/libcrypto/util/ck_errf.pl
+++ b/src/lib/libcrypto/util/ck_errf.pl
@@ -7,16 +7,8 @@
7# perl util/ck_errf.pl */*.c */*/*.c 7# perl util/ck_errf.pl */*.c */*/*.c
8# 8#
9 9
10my $err_strict = 0;
11my $bad = 0;
12
13foreach $file (@ARGV) 10foreach $file (@ARGV)
14 { 11 {
15 if ($file eq "-strict")
16 {
17 $err_strict = 1;
18 next;
19 }
20 open(IN,"<$file") || die "unable to open $file\n"; 12 open(IN,"<$file") || die "unable to open $file\n";
21 $func=""; 13 $func="";
22 while (<IN>) 14 while (<IN>)
@@ -28,13 +20,13 @@ foreach $file (@ARGV)
28 $func = $1; 20 $func = $1;
29 $func =~ tr/A-Z/a-z/; 21 $func =~ tr/A-Z/a-z/;
30 } 22 }
31 if (/([A-Z0-9]+)err\(([^,]+)/ && ! /ckerr_ignore/) 23 if (/([A-Z0-9]+)err\(([^,]+)/)
32 { 24 {
33 $errlib=$1; 25 $errlib=$1;
34 $n=$2; 26 $n=$2;
35 27
36 if ($func eq "") 28 if ($func eq "")
37 { print "$file:$.:???:$n\n"; $bad = 1; next; } 29 { print "$file:$.:???:$n\n"; next; }
38 30
39 if ($n !~ /([^_]+)_F_(.+)$/) 31 if ($n !~ /([^_]+)_F_(.+)$/)
40 { 32 {
@@ -45,20 +37,14 @@ foreach $file (@ARGV)
45 $n=$2; 37 $n=$2;
46 38
47 if ($lib ne $errlib) 39 if ($lib ne $errlib)
48 { print "$file:$.:$func:$n [${errlib}err]\n"; $bad = 1; next; } 40 { print "$file:$.:$func:$n [${errlib}err]\n"; next; }
49 41
50 $n =~ tr/A-Z/a-z/; 42 $n =~ tr/A-Z/a-z/;
51 if (($n ne $func) && ($errlib ne "SYS")) 43 if (($n ne $func) && ($errlib ne "SYS"))
52 { print "$file:$.:$func:$n\n"; $bad = 1; next; } 44 { print "$file:$.:$func:$n\n"; next; }
53 # print "$func:$1\n"; 45 # print "$func:$1\n";
54 } 46 }
55 } 47 }
56 close(IN); 48 close(IN);
57 } 49 }
58 50
59if ($bad && $err_strict)
60 {
61 print STDERR "FATAL: error discrepancy\n";
62 exit 1;
63 }
64
diff --git a/src/lib/libcrypto/util/clean-depend.pl b/src/lib/libcrypto/util/clean-depend.pl
index d3525b0ed0..2b2bdb4048 100644
--- a/src/lib/libcrypto/util/clean-depend.pl
+++ b/src/lib/libcrypto/util/clean-depend.pl
@@ -42,7 +42,6 @@ foreach $file (sort keys %files) {
42 my @deps = map { $_ =~ s/^\.\///; $_ } @{$files{$file}}; 42 my @deps = map { $_ =~ s/^\.\///; $_ } @{$files{$file}};
43 43
44 foreach $dep (sort @deps) { 44 foreach $dep (sort @deps) {
45 $dep=~s/^\.\///;
46 next if $prevdep eq $dep; # to exterminate duplicates... 45 next if $prevdep eq $dep; # to exterminate duplicates...
47 $prevdep = $dep; 46 $prevdep = $dep;
48 $len=0 if $len+length($dep)+1 >= 80; 47 $len=0 if $len+length($dep)+1 >= 80;
diff --git a/src/lib/libcrypto/util/copy.pl b/src/lib/libcrypto/util/copy.pl
new file mode 100644
index 0000000000..eba6d5815e
--- /dev/null
+++ b/src/lib/libcrypto/util/copy.pl
@@ -0,0 +1,70 @@
1#!/usr/local/bin/perl
2
3use Fcntl;
4
5
6# copy.pl
7
8# Perl script 'copy' comment. On Windows the built in "copy" command also
9# copies timestamps: this messes up Makefile dependencies.
10
11my $stripcr = 0;
12
13my $arg;
14
15foreach $arg (@ARGV) {
16 if ($arg eq "-stripcr")
17 {
18 $stripcr = 1;
19 next;
20 }
21 $arg =~ s|\\|/|g; # compensate for bug/feature in cygwin glob...
22 foreach (glob $arg)
23 {
24 push @filelist, $_;
25 }
26}
27
28$fnum = @filelist;
29
30if ($fnum <= 1)
31 {
32 die "Need at least two filenames";
33 }
34
35$dest = pop @filelist;
36
37if ($fnum > 2 && ! -d $dest)
38 {
39 die "Destination must be a directory";
40 }
41
42foreach (@filelist)
43 {
44 if (-d $dest)
45 {
46 $dfile = $_;
47 $dfile =~ s|^.*[/\\]([^/\\]*)$|$1|;
48 $dfile = "$dest/$dfile";
49 }
50 else
51 {
52 $dfile = $dest;
53 }
54 sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_";
55 sysopen(OUT, $dfile, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY)
56 || die "Can't Open $dfile";
57 while (sysread IN, $buf, 10240)
58 {
59 if ($stripcr)
60 {
61 $buf =~ tr/\015//d;
62 }
63 syswrite(OUT, $buf, length($buf));
64 }
65 close(IN);
66 close(OUT);
67 print "Copying: $_ to $dfile\n";
68 }
69
70
diff --git a/src/lib/libcrypto/util/cygwin.sh b/src/lib/libcrypto/util/cygwin.sh
index a4f2e740b4..89d1dda95b 100644
--- a/src/lib/libcrypto/util/cygwin.sh
+++ b/src/lib/libcrypto/util/cygwin.sh
@@ -7,7 +7,7 @@
7# Uncomment when debugging 7# Uncomment when debugging
8#set -x 8#set -x
9 9
10CONFIG_OPTIONS="--prefix=/usr shared zlib no-idea no-rc5" 10CONFIG_OPTIONS="--prefix=/usr shared no-idea no-rc5 no-mdc2"
11INSTALL_PREFIX=/tmp/install 11INSTALL_PREFIX=/tmp/install
12 12
13VERSION= 13VERSION=
@@ -66,7 +66,7 @@ function create_cygwin_readme()
66 66
67 ./config ${CONFIG_OPTIONS} 67 ./config ${CONFIG_OPTIONS}
68 68
69 The IDEA and RC5 algorithms are disabled due to patent and/or 69 The IDEA, RC5 and MDC2 algorithms are disabled due to patent and/or
70 licensing issues. 70 licensing issues.
71 EOF 71 EOF
72} 72}
diff --git a/src/lib/libcrypto/util/domd b/src/lib/libcrypto/util/domd
index bab48cb7a2..560ebeaf82 100644
--- a/src/lib/libcrypto/util/domd
+++ b/src/lib/libcrypto/util/domd
@@ -14,7 +14,7 @@ if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi
14cp Makefile Makefile.save 14cp Makefile Makefile.save
15# fake the presence of Kerberos 15# fake the presence of Kerberos
16touch $TOP/krb5.h 16touch $TOP/krb5.h
17if expr "$MAKEDEPEND" : '.*gcc$' > /dev/null; then 17if [ "$MAKEDEPEND" = "gcc" ]; then
18 args="" 18 args=""
19 while [ $# -gt 0 ]; do 19 while [ $# -gt 0 ]; do
20 if [ "$1" != "--" ]; then args="$args $1"; fi 20 if [ "$1" != "--" ]; then args="$args $1"; fi
@@ -22,17 +22,13 @@ if expr "$MAKEDEPEND" : '.*gcc$' > /dev/null; then
22 done 22 done
23 sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp 23 sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp
24 echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp 24 echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp
25 ${MAKEDEPEND} -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp || exit 1 25 ${CC:-gcc} -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp
26 ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new 26 ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
27 RC=$?
28 rm -f Makefile.tmp 27 rm -f Makefile.tmp
29else 28else
30 ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ && \ 29 ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@
31 ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new 30 ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
32 RC=$?
33fi 31fi
34mv Makefile.new Makefile 32mv Makefile.new Makefile
35# unfake the presence of Kerberos 33# unfake the presence of Kerberos
36rm $TOP/krb5.h 34rm $TOP/krb5.h
37
38exit $RC
diff --git a/src/lib/libcrypto/util/extract-section.pl b/src/lib/libcrypto/util/extract-section.pl
new file mode 100644
index 0000000000..7a0ba4f69a
--- /dev/null
+++ b/src/lib/libcrypto/util/extract-section.pl
@@ -0,0 +1,12 @@
1#!/usr/bin/perl
2
3while(<STDIN>) {
4 if (/=for\s+comment\s+openssl_manual_section:(\S+)/)
5 {
6 print "$1\n";
7 exit 0;
8 }
9}
10
11print "$ARGV[0]\n";
12
diff --git a/src/lib/libcrypto/util/libeay.num b/src/lib/libcrypto/util/libeay.num
index 6f3067ae2b..0bad595233 100644
--- a/src/lib/libcrypto/util/libeay.num
+++ b/src/lib/libcrypto/util/libeay.num
@@ -1,9 +1,9 @@
1SSLeay 1 EXIST::FUNCTION: 1SSLeay 1 EXIST::FUNCTION:
2SSLeay_version 2 EXIST::FUNCTION: 2SSLeay_version 2 EXIST::FUNCTION:
3ASN1_BIT_STRING_asn1_meth 3 NOEXIST::FUNCTION: 3ASN1_BIT_STRING_asn1_meth 3 EXIST::FUNCTION:
4ASN1_HEADER_free 4 NOEXIST::FUNCTION: 4ASN1_HEADER_free 4 EXIST::FUNCTION:
5ASN1_HEADER_new 5 NOEXIST::FUNCTION: 5ASN1_HEADER_new 5 EXIST::FUNCTION:
6ASN1_IA5STRING_asn1_meth 6 NOEXIST::FUNCTION: 6ASN1_IA5STRING_asn1_meth 6 EXIST::FUNCTION:
7ASN1_INTEGER_get 7 EXIST::FUNCTION: 7ASN1_INTEGER_get 7 EXIST::FUNCTION:
8ASN1_INTEGER_set 8 EXIST::FUNCTION: 8ASN1_INTEGER_set 8 EXIST::FUNCTION:
9ASN1_INTEGER_to_BN 9 EXIST::FUNCTION: 9ASN1_INTEGER_to_BN 9 EXIST::FUNCTION:
@@ -75,8 +75,8 @@ BIO_new 78 EXIST::FUNCTION:
75BIO_new_accept 79 EXIST::FUNCTION: 75BIO_new_accept 79 EXIST::FUNCTION:
76BIO_new_connect 80 EXIST::FUNCTION: 76BIO_new_connect 80 EXIST::FUNCTION:
77BIO_new_fd 81 EXIST::FUNCTION: 77BIO_new_fd 81 EXIST::FUNCTION:
78BIO_new_file 82 EXIST::FUNCTION:FP_API 78BIO_new_file 82 EXIST:!WIN16:FUNCTION:FP_API
79BIO_new_fp 83 EXIST::FUNCTION:FP_API 79BIO_new_fp 83 EXIST:!WIN16:FUNCTION:FP_API
80BIO_new_socket 84 EXIST::FUNCTION: 80BIO_new_socket 84 EXIST::FUNCTION:
81BIO_pop 85 EXIST::FUNCTION: 81BIO_pop 85 EXIST::FUNCTION:
82BIO_printf 86 EXIST::FUNCTION: 82BIO_printf 86 EXIST::FUNCTION:
@@ -86,7 +86,7 @@ BIO_read 89 EXIST::FUNCTION:
86BIO_s_accept 90 EXIST::FUNCTION: 86BIO_s_accept 90 EXIST::FUNCTION:
87BIO_s_connect 91 EXIST::FUNCTION: 87BIO_s_connect 91 EXIST::FUNCTION:
88BIO_s_fd 92 EXIST::FUNCTION: 88BIO_s_fd 92 EXIST::FUNCTION:
89BIO_s_file 93 EXIST::FUNCTION:FP_API 89BIO_s_file 93 EXIST:!WIN16:FUNCTION:FP_API
90BIO_s_mem 95 EXIST::FUNCTION: 90BIO_s_mem 95 EXIST::FUNCTION:
91BIO_s_null 96 EXIST::FUNCTION: 91BIO_s_null 96 EXIST::FUNCTION:
92BIO_s_proxy_client 97 NOEXIST::FUNCTION: 92BIO_s_proxy_client 97 NOEXIST::FUNCTION:
@@ -172,7 +172,7 @@ CRYPTO_dbg_realloc 179 EXIST::FUNCTION:
172CRYPTO_dbg_remalloc 180 NOEXIST::FUNCTION: 172CRYPTO_dbg_remalloc 180 NOEXIST::FUNCTION:
173CRYPTO_free 181 EXIST::FUNCTION: 173CRYPTO_free 181 EXIST::FUNCTION:
174CRYPTO_get_add_lock_callback 182 EXIST::FUNCTION: 174CRYPTO_get_add_lock_callback 182 EXIST::FUNCTION:
175CRYPTO_get_id_callback 183 EXIST::FUNCTION:DEPRECATED 175CRYPTO_get_id_callback 183 EXIST::FUNCTION:
176CRYPTO_get_lock_name 184 EXIST::FUNCTION: 176CRYPTO_get_lock_name 184 EXIST::FUNCTION:
177CRYPTO_get_locking_callback 185 EXIST::FUNCTION: 177CRYPTO_get_locking_callback 185 EXIST::FUNCTION:
178CRYPTO_get_mem_functions 186 EXIST::FUNCTION: 178CRYPTO_get_mem_functions 186 EXIST::FUNCTION:
@@ -185,10 +185,10 @@ CRYPTO_mem_leaks_fp 192 EXIST::FUNCTION:FP_API
185CRYPTO_realloc 193 EXIST::FUNCTION: 185CRYPTO_realloc 193 EXIST::FUNCTION:
186CRYPTO_remalloc 194 EXIST::FUNCTION: 186CRYPTO_remalloc 194 EXIST::FUNCTION:
187CRYPTO_set_add_lock_callback 195 EXIST::FUNCTION: 187CRYPTO_set_add_lock_callback 195 EXIST::FUNCTION:
188CRYPTO_set_id_callback 196 EXIST::FUNCTION:DEPRECATED 188CRYPTO_set_id_callback 196 EXIST::FUNCTION:
189CRYPTO_set_locking_callback 197 EXIST::FUNCTION: 189CRYPTO_set_locking_callback 197 EXIST::FUNCTION:
190CRYPTO_set_mem_functions 198 EXIST::FUNCTION: 190CRYPTO_set_mem_functions 198 EXIST::FUNCTION:
191CRYPTO_thread_id 199 EXIST::FUNCTION:DEPRECATED 191CRYPTO_thread_id 199 EXIST::FUNCTION:
192DH_check 200 EXIST::FUNCTION:DH 192DH_check 200 EXIST::FUNCTION:DH
193DH_compute_key 201 EXIST::FUNCTION:DH 193DH_compute_key 201 EXIST::FUNCTION:DH
194DH_free 202 EXIST::FUNCTION:DH 194DH_free 202 EXIST::FUNCTION:DH
@@ -243,7 +243,7 @@ ERR_print_errors 250 EXIST::FUNCTION:BIO
243ERR_print_errors_fp 251 EXIST::FUNCTION:FP_API 243ERR_print_errors_fp 251 EXIST::FUNCTION:FP_API
244ERR_put_error 252 EXIST::FUNCTION: 244ERR_put_error 252 EXIST::FUNCTION:
245ERR_reason_error_string 253 EXIST::FUNCTION: 245ERR_reason_error_string 253 EXIST::FUNCTION:
246ERR_remove_state 254 EXIST::FUNCTION:DEPRECATED 246ERR_remove_state 254 EXIST::FUNCTION:
247EVP_BytesToKey 255 EXIST::FUNCTION: 247EVP_BytesToKey 255 EXIST::FUNCTION:
248EVP_CIPHER_CTX_cleanup 256 EXIST::FUNCTION: 248EVP_CIPHER_CTX_cleanup 256 EXIST::FUNCTION:
249EVP_CipherFinal 257 EXIST::FUNCTION: 249EVP_CipherFinal 257 EXIST::FUNCTION:
@@ -343,7 +343,7 @@ NETSCAPE_SPKI_new 350 EXIST::FUNCTION:
343NETSCAPE_SPKI_sign 351 EXIST::FUNCTION:EVP 343NETSCAPE_SPKI_sign 351 EXIST::FUNCTION:EVP
344NETSCAPE_SPKI_verify 352 EXIST::FUNCTION:EVP 344NETSCAPE_SPKI_verify 352 EXIST::FUNCTION:EVP
345OBJ_add_object 353 EXIST::FUNCTION: 345OBJ_add_object 353 EXIST::FUNCTION:
346OBJ_bsearch 354 NOEXIST::FUNCTION: 346OBJ_bsearch 354 EXIST::FUNCTION:
347OBJ_cleanup 355 EXIST::FUNCTION: 347OBJ_cleanup 355 EXIST::FUNCTION:
348OBJ_cmp 356 EXIST::FUNCTION: 348OBJ_cmp 356 EXIST::FUNCTION:
349OBJ_create 357 EXIST::FUNCTION: 349OBJ_create 357 EXIST::FUNCTION:
@@ -356,9 +356,9 @@ OBJ_nid2sn 363 EXIST::FUNCTION:
356OBJ_obj2nid 364 EXIST::FUNCTION: 356OBJ_obj2nid 364 EXIST::FUNCTION:
357OBJ_sn2nid 365 EXIST::FUNCTION: 357OBJ_sn2nid 365 EXIST::FUNCTION:
358OBJ_txt2nid 366 EXIST::FUNCTION: 358OBJ_txt2nid 366 EXIST::FUNCTION:
359PEM_ASN1_read 367 EXIST::FUNCTION: 359PEM_ASN1_read 367 EXIST:!WIN16:FUNCTION:
360PEM_ASN1_read_bio 368 EXIST::FUNCTION:BIO 360PEM_ASN1_read_bio 368 EXIST::FUNCTION:BIO
361PEM_ASN1_write 369 EXIST::FUNCTION: 361PEM_ASN1_write 369 EXIST:!WIN16:FUNCTION:
362PEM_ASN1_write_bio 370 EXIST::FUNCTION:BIO 362PEM_ASN1_write_bio 370 EXIST::FUNCTION:BIO
363PEM_SealFinal 371 EXIST::FUNCTION:RSA 363PEM_SealFinal 371 EXIST::FUNCTION:RSA
364PEM_SealInit 372 EXIST::FUNCTION:RSA 364PEM_SealInit 372 EXIST::FUNCTION:RSA
@@ -366,14 +366,14 @@ PEM_SealUpdate 373 EXIST::FUNCTION:RSA
366PEM_SignFinal 374 EXIST::FUNCTION: 366PEM_SignFinal 374 EXIST::FUNCTION:
367PEM_SignInit 375 EXIST::FUNCTION: 367PEM_SignInit 375 EXIST::FUNCTION:
368PEM_SignUpdate 376 EXIST::FUNCTION: 368PEM_SignUpdate 376 EXIST::FUNCTION:
369PEM_X509_INFO_read 377 EXIST::FUNCTION: 369PEM_X509_INFO_read 377 EXIST:!WIN16:FUNCTION:
370PEM_X509_INFO_read_bio 378 EXIST::FUNCTION:BIO 370PEM_X509_INFO_read_bio 378 EXIST::FUNCTION:BIO
371PEM_X509_INFO_write_bio 379 EXIST::FUNCTION:BIO 371PEM_X509_INFO_write_bio 379 EXIST::FUNCTION:BIO
372PEM_dek_info 380 EXIST::FUNCTION: 372PEM_dek_info 380 EXIST::FUNCTION:
373PEM_do_header 381 EXIST::FUNCTION: 373PEM_do_header 381 EXIST::FUNCTION:
374PEM_get_EVP_CIPHER_INFO 382 EXIST::FUNCTION: 374PEM_get_EVP_CIPHER_INFO 382 EXIST::FUNCTION:
375PEM_proc_type 383 EXIST::FUNCTION: 375PEM_proc_type 383 EXIST::FUNCTION:
376PEM_read 384 EXIST::FUNCTION: 376PEM_read 384 EXIST:!WIN16:FUNCTION:
377PEM_read_DHparams 385 EXIST:!WIN16:FUNCTION:DH 377PEM_read_DHparams 385 EXIST:!WIN16:FUNCTION:DH
378PEM_read_DSAPrivateKey 386 EXIST:!WIN16:FUNCTION:DSA 378PEM_read_DSAPrivateKey 386 EXIST:!WIN16:FUNCTION:DSA
379PEM_read_DSAparams 387 EXIST:!WIN16:FUNCTION:DSA 379PEM_read_DSAparams 387 EXIST:!WIN16:FUNCTION:DSA
@@ -393,7 +393,7 @@ PEM_read_bio_RSAPrivateKey 400 EXIST::FUNCTION:RSA
393PEM_read_bio_X509 401 EXIST::FUNCTION: 393PEM_read_bio_X509 401 EXIST::FUNCTION:
394PEM_read_bio_X509_CRL 402 EXIST::FUNCTION: 394PEM_read_bio_X509_CRL 402 EXIST::FUNCTION:
395PEM_read_bio_X509_REQ 403 EXIST::FUNCTION: 395PEM_read_bio_X509_REQ 403 EXIST::FUNCTION:
396PEM_write 404 EXIST::FUNCTION: 396PEM_write 404 EXIST:!WIN16:FUNCTION:
397PEM_write_DHparams 405 EXIST:!WIN16:FUNCTION:DH 397PEM_write_DHparams 405 EXIST:!WIN16:FUNCTION:DH
398PEM_write_DSAPrivateKey 406 EXIST:!WIN16:FUNCTION:DSA 398PEM_write_DSAPrivateKey 406 EXIST:!WIN16:FUNCTION:DSA
399PEM_write_DSAparams 407 EXIST:!WIN16:FUNCTION:DSA 399PEM_write_DSAparams 407 EXIST:!WIN16:FUNCTION:DSA
@@ -469,7 +469,7 @@ RC2_set_key 476 EXIST::FUNCTION:RC2
469RC4 477 EXIST::FUNCTION:RC4 469RC4 477 EXIST::FUNCTION:RC4
470RC4_options 478 EXIST::FUNCTION:RC4 470RC4_options 478 EXIST::FUNCTION:RC4
471RC4_set_key 479 EXIST::FUNCTION:RC4 471RC4_set_key 479 EXIST::FUNCTION:RC4
472RSAPrivateKey_asn1_meth 480 NOEXIST::FUNCTION: 472RSAPrivateKey_asn1_meth 480 EXIST::FUNCTION:RSA
473RSAPrivateKey_dup 481 EXIST::FUNCTION:RSA 473RSAPrivateKey_dup 481 EXIST::FUNCTION:RSA
474RSAPublicKey_dup 482 EXIST::FUNCTION:RSA 474RSAPublicKey_dup 482 EXIST::FUNCTION:RSA
475RSA_PKCS1_SSLeay 483 EXIST::FUNCTION:RSA 475RSA_PKCS1_SSLeay 483 EXIST::FUNCTION:RSA
@@ -624,7 +624,7 @@ X509_STORE_set_default_paths 630 EXIST::FUNCTION:STDIO
624X509_VAL_free 631 EXIST::FUNCTION: 624X509_VAL_free 631 EXIST::FUNCTION:
625X509_VAL_new 632 EXIST::FUNCTION: 625X509_VAL_new 632 EXIST::FUNCTION:
626X509_add_ext 633 EXIST::FUNCTION: 626X509_add_ext 633 EXIST::FUNCTION:
627X509_asn1_meth 634 NOEXIST::FUNCTION: 627X509_asn1_meth 634 EXIST::FUNCTION:
628X509_certificate_type 635 EXIST::FUNCTION: 628X509_certificate_type 635 EXIST::FUNCTION:
629X509_check_private_key 636 EXIST::FUNCTION: 629X509_check_private_key 636 EXIST::FUNCTION:
630X509_cmp_current_time 637 EXIST::FUNCTION: 630X509_cmp_current_time 637 EXIST::FUNCTION:
@@ -704,7 +704,7 @@ bn_sqr_words 710 EXIST::FUNCTION:
704_ossl_old_crypt 711 EXIST:!NeXT,!PERL5:FUNCTION:DES 704_ossl_old_crypt 711 EXIST:!NeXT,!PERL5:FUNCTION:DES
705d2i_ASN1_BIT_STRING 712 EXIST::FUNCTION: 705d2i_ASN1_BIT_STRING 712 EXIST::FUNCTION:
706d2i_ASN1_BOOLEAN 713 EXIST::FUNCTION: 706d2i_ASN1_BOOLEAN 713 EXIST::FUNCTION:
707d2i_ASN1_HEADER 714 NOEXIST::FUNCTION: 707d2i_ASN1_HEADER 714 EXIST::FUNCTION:
708d2i_ASN1_IA5STRING 715 EXIST::FUNCTION: 708d2i_ASN1_IA5STRING 715 EXIST::FUNCTION:
709d2i_ASN1_INTEGER 716 EXIST::FUNCTION: 709d2i_ASN1_INTEGER 716 EXIST::FUNCTION:
710d2i_ASN1_OBJECT 717 EXIST::FUNCTION: 710d2i_ASN1_OBJECT 717 EXIST::FUNCTION:
@@ -809,7 +809,7 @@ i2a_ASN1_OBJECT 816 EXIST::FUNCTION:BIO
809i2a_ASN1_STRING 817 EXIST::FUNCTION:BIO 809i2a_ASN1_STRING 817 EXIST::FUNCTION:BIO
810i2d_ASN1_BIT_STRING 818 EXIST::FUNCTION: 810i2d_ASN1_BIT_STRING 818 EXIST::FUNCTION:
811i2d_ASN1_BOOLEAN 819 EXIST::FUNCTION: 811i2d_ASN1_BOOLEAN 819 EXIST::FUNCTION:
812i2d_ASN1_HEADER 820 NOEXIST::FUNCTION: 812i2d_ASN1_HEADER 820 EXIST::FUNCTION:
813i2d_ASN1_IA5STRING 821 EXIST::FUNCTION: 813i2d_ASN1_IA5STRING 821 EXIST::FUNCTION:
814i2d_ASN1_INTEGER 822 EXIST::FUNCTION: 814i2d_ASN1_INTEGER 822 EXIST::FUNCTION:
815i2d_ASN1_OBJECT 823 EXIST::FUNCTION: 815i2d_ASN1_OBJECT 823 EXIST::FUNCTION:
@@ -950,9 +950,9 @@ ERR_get_next_error_library 966 EXIST::FUNCTION:
950EVP_PKEY_cmp_parameters 967 EXIST::FUNCTION: 950EVP_PKEY_cmp_parameters 967 EXIST::FUNCTION:
951HMAC_cleanup 968 NOEXIST::FUNCTION: 951HMAC_cleanup 968 NOEXIST::FUNCTION:
952BIO_ptr_ctrl 969 EXIST::FUNCTION: 952BIO_ptr_ctrl 969 EXIST::FUNCTION:
953BIO_new_file_internal 970 NOEXIST::FUNCTION: 953BIO_new_file_internal 970 EXIST:WIN16:FUNCTION:FP_API
954BIO_new_fp_internal 971 NOEXIST::FUNCTION: 954BIO_new_fp_internal 971 EXIST:WIN16:FUNCTION:FP_API
955BIO_s_file_internal 972 NOEXIST::FUNCTION: 955BIO_s_file_internal 972 EXIST:WIN16:FUNCTION:FP_API
956BN_BLINDING_convert 973 EXIST::FUNCTION: 956BN_BLINDING_convert 973 EXIST::FUNCTION:
957BN_BLINDING_invert 974 EXIST::FUNCTION: 957BN_BLINDING_invert 974 EXIST::FUNCTION:
958BN_BLINDING_update 975 EXIST::FUNCTION: 958BN_BLINDING_update 975 EXIST::FUNCTION:
@@ -984,8 +984,8 @@ BIO_ghbn_ctrl 1003 NOEXIST::FUNCTION:
984CRYPTO_free_ex_data 1004 EXIST::FUNCTION: 984CRYPTO_free_ex_data 1004 EXIST::FUNCTION:
985CRYPTO_get_ex_data 1005 EXIST::FUNCTION: 985CRYPTO_get_ex_data 1005 EXIST::FUNCTION:
986CRYPTO_set_ex_data 1007 EXIST::FUNCTION: 986CRYPTO_set_ex_data 1007 EXIST::FUNCTION:
987ERR_load_CRYPTO_strings 1009 EXIST:!OS2,!VMS:FUNCTION: 987ERR_load_CRYPTO_strings 1009 EXIST:!OS2,!VMS,!WIN16:FUNCTION:
988ERR_load_CRYPTOlib_strings 1009 EXIST:OS2,VMS:FUNCTION: 988ERR_load_CRYPTOlib_strings 1009 EXIST:OS2,VMS,WIN16:FUNCTION:
989EVP_PKEY_bits 1010 EXIST::FUNCTION: 989EVP_PKEY_bits 1010 EXIST::FUNCTION:
990MD5_Transform 1011 EXIST::FUNCTION:MD5 990MD5_Transform 1011 EXIST::FUNCTION:MD5
991SHA1_Transform 1012 EXIST::FUNCTION:SHA,SHA1 991SHA1_Transform 1012 EXIST::FUNCTION:SHA,SHA1
@@ -1117,11 +1117,11 @@ COMP_compress_block 1144 EXIST::FUNCTION:
1117COMP_expand_block 1145 EXIST::FUNCTION: 1117COMP_expand_block 1145 EXIST::FUNCTION:
1118COMP_rle 1146 EXIST::FUNCTION: 1118COMP_rle 1146 EXIST::FUNCTION:
1119COMP_zlib 1147 EXIST::FUNCTION: 1119COMP_zlib 1147 EXIST::FUNCTION:
1120ms_time_diff 1148 NOEXIST::FUNCTION: 1120ms_time_diff 1148 EXIST::FUNCTION:
1121ms_time_new 1149 NOEXIST::FUNCTION: 1121ms_time_new 1149 EXIST::FUNCTION:
1122ms_time_free 1150 NOEXIST::FUNCTION: 1122ms_time_free 1150 EXIST::FUNCTION:
1123ms_time_cmp 1151 NOEXIST::FUNCTION: 1123ms_time_cmp 1151 EXIST::FUNCTION:
1124ms_time_get 1152 NOEXIST::FUNCTION: 1124ms_time_get 1152 EXIST::FUNCTION:
1125PKCS7_set_attributes 1153 EXIST::FUNCTION: 1125PKCS7_set_attributes 1153 EXIST::FUNCTION:
1126PKCS7_set_signed_attributes 1154 EXIST::FUNCTION: 1126PKCS7_set_signed_attributes 1154 EXIST::FUNCTION:
1127X509_ATTRIBUTE_create 1155 EXIST::FUNCTION: 1127X509_ATTRIBUTE_create 1155 EXIST::FUNCTION:
@@ -1255,8 +1255,8 @@ PKCS12_gen_mac 1278 EXIST::FUNCTION:
1255PKCS12_verify_mac 1279 EXIST::FUNCTION: 1255PKCS12_verify_mac 1279 EXIST::FUNCTION:
1256PKCS12_set_mac 1280 EXIST::FUNCTION: 1256PKCS12_set_mac 1280 EXIST::FUNCTION:
1257PKCS12_setup_mac 1281 EXIST::FUNCTION: 1257PKCS12_setup_mac 1281 EXIST::FUNCTION:
1258OPENSSL_asc2uni 1282 EXIST::FUNCTION: 1258asc2uni 1282 EXIST::FUNCTION:
1259OPENSSL_uni2asc 1283 EXIST::FUNCTION: 1259uni2asc 1283 EXIST::FUNCTION:
1260i2d_PKCS12_BAGS 1284 EXIST::FUNCTION: 1260i2d_PKCS12_BAGS 1284 EXIST::FUNCTION:
1261PKCS12_BAGS_new 1285 EXIST::FUNCTION: 1261PKCS12_BAGS_new 1285 EXIST::FUNCTION:
1262d2i_PKCS12_BAGS 1286 EXIST::FUNCTION: 1262d2i_PKCS12_BAGS 1286 EXIST::FUNCTION:
@@ -2081,7 +2081,7 @@ NETSCAPE_SPKAC_it 2641 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIA
2081NETSCAPE_SPKAC_it 2641 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 2081NETSCAPE_SPKAC_it 2641 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
2082X509_REVOKED_it 2642 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 2082X509_REVOKED_it 2642 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
2083X509_REVOKED_it 2642 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 2083X509_REVOKED_it 2642 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
2084ASN1_STRING_encode 2643 NOEXIST::FUNCTION: 2084ASN1_STRING_encode 2643 EXIST::FUNCTION:
2085EVP_aes_128_ecb 2644 EXIST::FUNCTION:AES 2085EVP_aes_128_ecb 2644 EXIST::FUNCTION:AES
2086KRB5_AUTHENT_free 2645 EXIST::FUNCTION: 2086KRB5_AUTHENT_free 2645 EXIST::FUNCTION:
2087OCSP_BASICRESP_get_ext_by_critical 2646 EXIST:!VMS:FUNCTION: 2087OCSP_BASICRESP_get_ext_by_critical 2646 EXIST:!VMS:FUNCTION:
@@ -2732,8 +2732,8 @@ EC_POINT_point2oct 3178 EXIST::FUNCTION:EC
2732KRB5_APREQ_free 3179 EXIST::FUNCTION: 2732KRB5_APREQ_free 3179 EXIST::FUNCTION:
2733ASN1_OBJECT_it 3180 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 2733ASN1_OBJECT_it 3180 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
2734ASN1_OBJECT_it 3180 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 2734ASN1_OBJECT_it 3180 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
2735OCSP_crlID_new 3181 EXIST:!OS2,!VMS:FUNCTION: 2735OCSP_crlID_new 3181 EXIST:!OS2,!VMS,!WIN16:FUNCTION:
2736OCSP_crlID2_new 3181 EXIST:OS2,VMS:FUNCTION: 2736OCSP_crlID2_new 3181 EXIST:OS2,VMS,WIN16:FUNCTION:
2737CONF_modules_load_file 3182 EXIST::FUNCTION: 2737CONF_modules_load_file 3182 EXIST::FUNCTION:
2738CONF_imodule_set_usr_data 3183 EXIST::FUNCTION: 2738CONF_imodule_set_usr_data 3183 EXIST::FUNCTION:
2739ENGINE_set_default_string 3184 EXIST::FUNCTION:ENGINE 2739ENGINE_set_default_string 3184 EXIST::FUNCTION:ENGINE
@@ -2804,57 +2804,57 @@ OPENSSL_cleanse 3245 EXIST::FUNCTION:
2804ENGINE_setup_bsd_cryptodev 3246 EXIST:__FreeBSD__:FUNCTION:ENGINE 2804ENGINE_setup_bsd_cryptodev 3246 EXIST:__FreeBSD__:FUNCTION:ENGINE
2805ERR_release_err_state_table 3247 EXIST::FUNCTION:LHASH 2805ERR_release_err_state_table 3247 EXIST::FUNCTION:LHASH
2806EVP_aes_128_cfb8 3248 EXIST::FUNCTION:AES 2806EVP_aes_128_cfb8 3248 EXIST::FUNCTION:AES
2807FIPS_corrupt_rsa 3249 NOEXIST::FUNCTION: 2807FIPS_corrupt_rsa 3249 EXIST:OPENSSL_FIPS:FUNCTION:
2808FIPS_selftest_des 3250 NOEXIST::FUNCTION: 2808FIPS_selftest_des 3250 EXIST:OPENSSL_FIPS:FUNCTION:
2809EVP_aes_128_cfb1 3251 EXIST::FUNCTION:AES 2809EVP_aes_128_cfb1 3251 EXIST::FUNCTION:AES
2810EVP_aes_192_cfb8 3252 EXIST::FUNCTION:AES 2810EVP_aes_192_cfb8 3252 EXIST::FUNCTION:AES
2811FIPS_mode_set 3253 NOEXIST::FUNCTION: 2811FIPS_mode_set 3253 EXIST:OPENSSL_FIPS:FUNCTION:
2812FIPS_selftest_dsa 3254 NOEXIST::FUNCTION: 2812FIPS_selftest_dsa 3254 EXIST:OPENSSL_FIPS:FUNCTION:
2813EVP_aes_256_cfb8 3255 EXIST::FUNCTION:AES 2813EVP_aes_256_cfb8 3255 EXIST::FUNCTION:AES
2814FIPS_allow_md5 3256 NOEXIST::FUNCTION: 2814FIPS_allow_md5 3256 NOEXIST::FUNCTION:
2815DES_ede3_cfb_encrypt 3257 EXIST::FUNCTION:DES 2815DES_ede3_cfb_encrypt 3257 EXIST::FUNCTION:DES
2816EVP_des_ede3_cfb8 3258 EXIST::FUNCTION:DES 2816EVP_des_ede3_cfb8 3258 EXIST::FUNCTION:DES
2817FIPS_rand_seeded 3259 NOEXIST::FUNCTION: 2817FIPS_rand_seeded 3259 NOEXIST::FUNCTION:
2818AES_cfbr_encrypt_block 3260 NOEXIST::FUNCTION: 2818AES_cfbr_encrypt_block 3260 EXIST::FUNCTION:AES
2819AES_cfb8_encrypt 3261 EXIST::FUNCTION:AES 2819AES_cfb8_encrypt 3261 EXIST::FUNCTION:AES
2820FIPS_rand_seed 3262 NOEXIST::FUNCTION: 2820FIPS_rand_seed 3262 EXIST:OPENSSL_FIPS:FUNCTION:
2821FIPS_corrupt_des 3263 NOEXIST::FUNCTION: 2821FIPS_corrupt_des 3263 EXIST:OPENSSL_FIPS:FUNCTION:
2822EVP_aes_192_cfb1 3264 EXIST::FUNCTION:AES 2822EVP_aes_192_cfb1 3264 EXIST::FUNCTION:AES
2823FIPS_selftest_aes 3265 NOEXIST::FUNCTION: 2823FIPS_selftest_aes 3265 EXIST:OPENSSL_FIPS:FUNCTION:
2824FIPS_set_prng_key 3266 NOEXIST::FUNCTION: 2824FIPS_set_prng_key 3266 NOEXIST::FUNCTION:
2825EVP_des_cfb8 3267 EXIST::FUNCTION:DES 2825EVP_des_cfb8 3267 EXIST::FUNCTION:DES
2826FIPS_corrupt_dsa 3268 NOEXIST::FUNCTION: 2826FIPS_corrupt_dsa 3268 EXIST:OPENSSL_FIPS:FUNCTION:
2827FIPS_test_mode 3269 NOEXIST::FUNCTION: 2827FIPS_test_mode 3269 NOEXIST::FUNCTION:
2828FIPS_rand_method 3270 NOEXIST::FUNCTION: 2828FIPS_rand_method 3270 EXIST:OPENSSL_FIPS:FUNCTION:
2829EVP_aes_256_cfb1 3271 EXIST::FUNCTION:AES 2829EVP_aes_256_cfb1 3271 EXIST::FUNCTION:AES
2830ERR_load_FIPS_strings 3272 NOEXIST::FUNCTION: 2830ERR_load_FIPS_strings 3272 EXIST:OPENSSL_FIPS:FUNCTION:
2831FIPS_corrupt_aes 3273 NOEXIST::FUNCTION: 2831FIPS_corrupt_aes 3273 EXIST:OPENSSL_FIPS:FUNCTION:
2832FIPS_selftest_sha1 3274 NOEXIST::FUNCTION: 2832FIPS_selftest_sha1 3274 EXIST:OPENSSL_FIPS:FUNCTION:
2833FIPS_selftest_rsa 3275 NOEXIST::FUNCTION: 2833FIPS_selftest_rsa 3275 EXIST:OPENSSL_FIPS:FUNCTION:
2834FIPS_corrupt_sha1 3276 NOEXIST::FUNCTION: 2834FIPS_corrupt_sha1 3276 EXIST:OPENSSL_FIPS:FUNCTION:
2835EVP_des_cfb1 3277 EXIST::FUNCTION:DES 2835EVP_des_cfb1 3277 EXIST::FUNCTION:DES
2836FIPS_dsa_check 3278 NOEXIST::FUNCTION: 2836FIPS_dsa_check 3278 NOEXIST::FUNCTION:
2837AES_cfb1_encrypt 3279 EXIST::FUNCTION:AES 2837AES_cfb1_encrypt 3279 EXIST::FUNCTION:AES
2838EVP_des_ede3_cfb1 3280 EXIST::FUNCTION:DES 2838EVP_des_ede3_cfb1 3280 EXIST::FUNCTION:DES
2839FIPS_rand_check 3281 NOEXIST::FUNCTION: 2839FIPS_rand_check 3281 EXIST:OPENSSL_FIPS:FUNCTION:
2840FIPS_md5_allowed 3282 NOEXIST::FUNCTION: 2840FIPS_md5_allowed 3282 NOEXIST::FUNCTION:
2841FIPS_mode 3283 NOEXIST::FUNCTION: 2841FIPS_mode 3283 EXIST:OPENSSL_FIPS:FUNCTION:
2842FIPS_selftest_failed 3284 NOEXIST::FUNCTION: 2842FIPS_selftest_failed 3284 EXIST:OPENSSL_FIPS:FUNCTION:
2843sk_is_sorted 3285 EXIST::FUNCTION: 2843sk_is_sorted 3285 EXIST::FUNCTION:
2844X509_check_ca 3286 EXIST::FUNCTION: 2844X509_check_ca 3286 EXIST::FUNCTION:
2845private_idea_set_encrypt_key 3287 NOEXIST::FUNCTION: 2845private_idea_set_encrypt_key 3287 EXIST:OPENSSL_FIPS:FUNCTION:IDEA
2846HMAC_CTX_set_flags 3288 EXIST::FUNCTION:HMAC 2846HMAC_CTX_set_flags 3288 EXIST::FUNCTION:HMAC
2847private_SHA_Init 3289 NOEXIST::FUNCTION: 2847private_SHA_Init 3289 EXIST:OPENSSL_FIPS:FUNCTION:SHA,SHA0
2848private_CAST_set_key 3290 NOEXIST::FUNCTION: 2848private_CAST_set_key 3290 EXIST:OPENSSL_FIPS:FUNCTION:CAST
2849private_RIPEMD160_Init 3291 NOEXIST::FUNCTION: 2849private_RIPEMD160_Init 3291 EXIST:OPENSSL_FIPS:FUNCTION:RIPEMD
2850private_RC5_32_set_key 3292 NOEXIST::FUNCTION: 2850private_RC5_32_set_key 3292 EXIST:OPENSSL_FIPS:FUNCTION:RC5
2851private_MD5_Init 3293 NOEXIST::FUNCTION: 2851private_MD5_Init 3293 EXIST:OPENSSL_FIPS:FUNCTION:MD5
2852private_RC4_set_key 3294 NOEXIST::FUNCTION: 2852private_RC4_set_key 3294 EXIST:OPENSSL_FIPS:FUNCTION:RC4
2853private_MDC2_Init 3295 NOEXIST::FUNCTION: 2853private_MDC2_Init 3295 EXIST:OPENSSL_FIPS:FUNCTION:MDC2
2854private_RC2_set_key 3296 NOEXIST::FUNCTION: 2854private_RC2_set_key 3296 EXIST:OPENSSL_FIPS:FUNCTION:RC2
2855private_MD4_Init 3297 NOEXIST::FUNCTION: 2855private_MD4_Init 3297 EXIST:OPENSSL_FIPS:FUNCTION:MD4
2856private_BF_set_key 3298 NOEXIST::FUNCTION: 2856private_BF_set_key 3298 EXIST:OPENSSL_FIPS:FUNCTION:BF
2857private_MD2_Init 3299 NOEXIST::FUNCTION: 2857private_MD2_Init 3299 EXIST:OPENSSL_FIPS:FUNCTION:MD2
2858d2i_PROXY_CERT_INFO_EXTENSION 3300 EXIST::FUNCTION: 2858d2i_PROXY_CERT_INFO_EXTENSION 3300 EXIST::FUNCTION:
2859PROXY_POLICY_it 3301 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 2859PROXY_POLICY_it 3301 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
2860PROXY_POLICY_it 3301 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 2860PROXY_POLICY_it 3301 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
@@ -2868,13 +2868,13 @@ PROXY_CERT_INFO_EXTENSION_it 3307 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTI
2868PROXY_POLICY_free 3308 EXIST::FUNCTION: 2868PROXY_POLICY_free 3308 EXIST::FUNCTION:
2869PROXY_POLICY_new 3309 EXIST::FUNCTION: 2869PROXY_POLICY_new 3309 EXIST::FUNCTION:
2870BN_MONT_CTX_set_locked 3310 EXIST::FUNCTION: 2870BN_MONT_CTX_set_locked 3310 EXIST::FUNCTION:
2871FIPS_selftest_rng 3311 NOEXIST::FUNCTION: 2871FIPS_selftest_rng 3311 EXIST:OPENSSL_FIPS:FUNCTION:
2872EVP_sha384 3312 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 2872EVP_sha384 3312 EXIST::FUNCTION:SHA,SHA512
2873EVP_sha512 3313 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 2873EVP_sha512 3313 EXIST::FUNCTION:SHA,SHA512
2874EVP_sha224 3314 EXIST::FUNCTION:SHA,SHA256 2874EVP_sha224 3314 EXIST::FUNCTION:SHA,SHA256
2875EVP_sha256 3315 EXIST::FUNCTION:SHA,SHA256 2875EVP_sha256 3315 EXIST::FUNCTION:SHA,SHA256
2876FIPS_selftest_hmac 3316 NOEXIST::FUNCTION: 2876FIPS_selftest_hmac 3316 EXIST:OPENSSL_FIPS:FUNCTION:
2877FIPS_corrupt_rng 3317 NOEXIST::FUNCTION: 2877FIPS_corrupt_rng 3317 EXIST:OPENSSL_FIPS:FUNCTION:
2878BN_mod_exp_mont_consttime 3318 EXIST::FUNCTION: 2878BN_mod_exp_mont_consttime 3318 EXIST::FUNCTION:
2879RSA_X931_hash_id 3319 EXIST::FUNCTION:RSA 2879RSA_X931_hash_id 3319 EXIST::FUNCTION:RSA
2880RSA_padding_check_X931 3320 EXIST::FUNCTION:RSA 2880RSA_padding_check_X931 3320 EXIST::FUNCTION:RSA
@@ -2882,7 +2882,7 @@ RSA_verify_PKCS1_PSS 3321 EXIST::FUNCTION:RSA
2882RSA_padding_add_X931 3322 EXIST::FUNCTION:RSA 2882RSA_padding_add_X931 3322 EXIST::FUNCTION:RSA
2883RSA_padding_add_PKCS1_PSS 3323 EXIST::FUNCTION:RSA 2883RSA_padding_add_PKCS1_PSS 3323 EXIST::FUNCTION:RSA
2884PKCS1_MGF1 3324 EXIST::FUNCTION:RSA 2884PKCS1_MGF1 3324 EXIST::FUNCTION:RSA
2885BN_X931_generate_Xpq 3325 NOEXIST::FUNCTION: 2885BN_X931_generate_Xpq 3325 EXIST::FUNCTION:
2886RSA_X931_generate_key 3326 NOEXIST::FUNCTION: 2886RSA_X931_generate_key 3326 NOEXIST::FUNCTION:
2887BN_X931_derive_prime 3327 NOEXIST::FUNCTION: 2887BN_X931_derive_prime 3327 NOEXIST::FUNCTION:
2888BN_X931_generate_prime 3328 NOEXIST::FUNCTION: 2888BN_X931_generate_prime 3328 NOEXIST::FUNCTION:
@@ -2893,43 +2893,43 @@ ERR_set_mark 3332 EXIST::FUNCTION:
2893X509_STORE_CTX_set0_crls 3333 EXIST::FUNCTION: 2893X509_STORE_CTX_set0_crls 3333 EXIST::FUNCTION:
2894ENGINE_set_STORE 3334 EXIST::FUNCTION:ENGINE 2894ENGINE_set_STORE 3334 EXIST::FUNCTION:ENGINE
2895ENGINE_register_ECDSA 3335 EXIST::FUNCTION:ENGINE 2895ENGINE_register_ECDSA 3335 EXIST::FUNCTION:ENGINE
2896STORE_meth_set_list_start_fn 3336 NOEXIST::FUNCTION: 2896STORE_method_set_list_start_function 3336 EXIST:!VMS:FUNCTION:
2897STORE_method_set_list_start_function 3336 NOEXIST::FUNCTION: 2897STORE_meth_set_list_start_fn 3336 EXIST:VMS:FUNCTION:
2898BN_BLINDING_invert_ex 3337 EXIST::FUNCTION: 2898BN_BLINDING_invert_ex 3337 EXIST::FUNCTION:
2899NAME_CONSTRAINTS_free 3338 EXIST::FUNCTION: 2899NAME_CONSTRAINTS_free 3338 EXIST::FUNCTION:
2900STORE_ATTR_INFO_set_number 3339 NOEXIST::FUNCTION: 2900STORE_ATTR_INFO_set_number 3339 EXIST::FUNCTION:
2901BN_BLINDING_get_thread_id 3340 EXIST::FUNCTION:DEPRECATED 2901BN_BLINDING_get_thread_id 3340 EXIST::FUNCTION:
2902X509_STORE_CTX_set0_param 3341 EXIST::FUNCTION: 2902X509_STORE_CTX_set0_param 3341 EXIST::FUNCTION:
2903POLICY_MAPPING_it 3342 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 2903POLICY_MAPPING_it 3342 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
2904POLICY_MAPPING_it 3342 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 2904POLICY_MAPPING_it 3342 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
2905STORE_parse_attrs_start 3343 NOEXIST::FUNCTION: 2905STORE_parse_attrs_start 3343 EXIST::FUNCTION:
2906POLICY_CONSTRAINTS_free 3344 EXIST::FUNCTION: 2906POLICY_CONSTRAINTS_free 3344 EXIST::FUNCTION:
2907EVP_PKEY_add1_attr_by_NID 3345 EXIST::FUNCTION: 2907EVP_PKEY_add1_attr_by_NID 3345 EXIST::FUNCTION:
2908BN_nist_mod_192 3346 EXIST::FUNCTION: 2908BN_nist_mod_192 3346 EXIST::FUNCTION:
2909EC_GROUP_get_trinomial_basis 3347 EXIST::FUNCTION:EC 2909EC_GROUP_get_trinomial_basis 3347 EXIST::FUNCTION:EC
2910STORE_set_method 3348 NOEXIST::FUNCTION: 2910STORE_set_method 3348 EXIST::FUNCTION:
2911GENERAL_SUBTREE_free 3349 EXIST::FUNCTION: 2911GENERAL_SUBTREE_free 3349 EXIST::FUNCTION:
2912NAME_CONSTRAINTS_it 3350 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 2912NAME_CONSTRAINTS_it 3350 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
2913NAME_CONSTRAINTS_it 3350 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 2913NAME_CONSTRAINTS_it 3350 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
2914ECDH_get_default_method 3351 EXIST::FUNCTION:ECDH 2914ECDH_get_default_method 3351 EXIST::FUNCTION:ECDH
2915PKCS12_add_safe 3352 EXIST::FUNCTION: 2915PKCS12_add_safe 3352 EXIST::FUNCTION:
2916EC_KEY_new_by_curve_name 3353 EXIST::FUNCTION:EC 2916EC_KEY_new_by_curve_name 3353 EXIST::FUNCTION:EC
2917STORE_meth_get_update_store_fn 3354 NOEXIST::FUNCTION: 2917STORE_method_get_update_store_function 3354 EXIST:!VMS:FUNCTION:
2918STORE_method_get_update_store_function 3354 NOEXIST::FUNCTION: 2918STORE_meth_get_update_store_fn 3354 EXIST:VMS:FUNCTION:
2919ENGINE_register_ECDH 3355 EXIST::FUNCTION:ENGINE 2919ENGINE_register_ECDH 3355 EXIST::FUNCTION:ENGINE
2920SHA512_Update 3356 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 2920SHA512_Update 3356 EXIST::FUNCTION:SHA,SHA512
2921i2d_ECPrivateKey 3357 EXIST::FUNCTION:EC 2921i2d_ECPrivateKey 3357 EXIST::FUNCTION:EC
2922BN_get0_nist_prime_192 3358 EXIST::FUNCTION: 2922BN_get0_nist_prime_192 3358 EXIST::FUNCTION:
2923STORE_modify_certificate 3359 NOEXIST::FUNCTION: 2923STORE_modify_certificate 3359 EXIST::FUNCTION:
2924EC_POINT_set_affine_coordinates_GF2m 3360 EXIST:!VMS:FUNCTION:EC 2924EC_POINT_set_affine_coordinates_GF2m 3360 EXIST:!VMS:FUNCTION:EC
2925EC_POINT_set_affine_coords_GF2m 3360 EXIST:VMS:FUNCTION:EC 2925EC_POINT_set_affine_coords_GF2m 3360 EXIST:VMS:FUNCTION:EC
2926BN_GF2m_mod_exp_arr 3361 EXIST::FUNCTION: 2926BN_GF2m_mod_exp_arr 3361 EXIST::FUNCTION:
2927STORE_ATTR_INFO_modify_number 3362 NOEXIST::FUNCTION: 2927STORE_ATTR_INFO_modify_number 3362 EXIST::FUNCTION:
2928X509_keyid_get0 3363 EXIST::FUNCTION: 2928X509_keyid_get0 3363 EXIST::FUNCTION:
2929ENGINE_load_gmp 3364 EXIST::FUNCTION:ENGINE,GMP,STATIC_ENGINE 2929ENGINE_load_gmp 3364 EXIST::FUNCTION:ENGINE,GMP,STATIC_ENGINE
2930pitem_new 3365 EXIST::FUNCTION: 2930pitem_new 3365 EXIST::FUNCTION:
2931BN_GF2m_mod_mul_arr 3366 EXIST::FUNCTION: 2931BN_GF2m_mod_mul_arr 3366 EXIST::FUNCTION:
2932STORE_list_public_key_endp 3367 NOEXIST::FUNCTION: 2932STORE_list_public_key_endp 3367 EXIST::FUNCTION:
2933o2i_ECPublicKey 3368 EXIST::FUNCTION:EC 2933o2i_ECPublicKey 3368 EXIST::FUNCTION:EC
2934EC_KEY_copy 3369 EXIST::FUNCTION:EC 2934EC_KEY_copy 3369 EXIST::FUNCTION:EC
2935BIO_dump_fp 3370 EXIST::FUNCTION:FP_API 2935BIO_dump_fp 3370 EXIST::FUNCTION:FP_API
@@ -2938,25 +2938,25 @@ EC_GROUP_check_discriminant 3372 EXIST::FUNCTION:EC
2938i2o_ECPublicKey 3373 EXIST::FUNCTION:EC 2938i2o_ECPublicKey 3373 EXIST::FUNCTION:EC
2939EC_KEY_precompute_mult 3374 EXIST::FUNCTION:EC 2939EC_KEY_precompute_mult 3374 EXIST::FUNCTION:EC
2940a2i_IPADDRESS 3375 EXIST::FUNCTION: 2940a2i_IPADDRESS 3375 EXIST::FUNCTION:
2941STORE_meth_set_initialise_fn 3376 NOEXIST::FUNCTION: 2941STORE_method_set_initialise_function 3376 EXIST:!VMS:FUNCTION:
2942STORE_method_set_initialise_function 3376 NOEXIST::FUNCTION: 2942STORE_meth_set_initialise_fn 3376 EXIST:VMS:FUNCTION:
2943X509_STORE_CTX_set_depth 3377 EXIST::FUNCTION: 2943X509_STORE_CTX_set_depth 3377 EXIST::FUNCTION:
2944X509_VERIFY_PARAM_inherit 3378 EXIST::FUNCTION: 2944X509_VERIFY_PARAM_inherit 3378 EXIST::FUNCTION:
2945EC_POINT_point2bn 3379 EXIST::FUNCTION:EC 2945EC_POINT_point2bn 3379 EXIST::FUNCTION:EC
2946STORE_ATTR_INFO_set_dn 3380 NOEXIST::FUNCTION: 2946STORE_ATTR_INFO_set_dn 3380 EXIST::FUNCTION:
2947X509_policy_tree_get0_policies 3381 EXIST::FUNCTION: 2947X509_policy_tree_get0_policies 3381 EXIST::FUNCTION:
2948EC_GROUP_new_curve_GF2m 3382 EXIST::FUNCTION:EC 2948EC_GROUP_new_curve_GF2m 3382 EXIST::FUNCTION:EC
2949STORE_destroy_method 3383 NOEXIST::FUNCTION: 2949STORE_destroy_method 3383 EXIST::FUNCTION:
2950ENGINE_unregister_STORE 3384 EXIST::FUNCTION:ENGINE 2950ENGINE_unregister_STORE 3384 EXIST::FUNCTION:ENGINE
2951EVP_PKEY_get1_EC_KEY 3385 EXIST::FUNCTION:EC 2951EVP_PKEY_get1_EC_KEY 3385 EXIST::FUNCTION:EC
2952STORE_ATTR_INFO_get0_number 3386 NOEXIST::FUNCTION: 2952STORE_ATTR_INFO_get0_number 3386 EXIST::FUNCTION:
2953ENGINE_get_default_ECDH 3387 EXIST::FUNCTION:ENGINE 2953ENGINE_get_default_ECDH 3387 EXIST::FUNCTION:ENGINE
2954EC_KEY_get_conv_form 3388 EXIST::FUNCTION:EC 2954EC_KEY_get_conv_form 3388 EXIST::FUNCTION:EC
2955ASN1_OCTET_STRING_NDEF_it 3389 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 2955ASN1_OCTET_STRING_NDEF_it 3389 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
2956ASN1_OCTET_STRING_NDEF_it 3389 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 2956ASN1_OCTET_STRING_NDEF_it 3389 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
2957STORE_delete_public_key 3390 NOEXIST::FUNCTION: 2957STORE_delete_public_key 3390 EXIST::FUNCTION:
2958STORE_get_public_key 3391 NOEXIST::FUNCTION: 2958STORE_get_public_key 3391 EXIST::FUNCTION:
2959STORE_modify_arbitrary 3392 NOEXIST::FUNCTION: 2959STORE_modify_arbitrary 3392 EXIST::FUNCTION:
2960ENGINE_get_static_state 3393 EXIST::FUNCTION:ENGINE 2960ENGINE_get_static_state 3393 EXIST::FUNCTION:ENGINE
2961pqueue_iterator 3394 EXIST::FUNCTION: 2961pqueue_iterator 3394 EXIST::FUNCTION:
2962ECDSA_SIG_new 3395 EXIST::FUNCTION:ECDSA 2962ECDSA_SIG_new 3395 EXIST::FUNCTION:ECDSA
@@ -2965,14 +2965,14 @@ BN_GF2m_mod_sqr 3397 EXIST::FUNCTION:
2965EC_POINT_bn2point 3398 EXIST::FUNCTION:EC 2965EC_POINT_bn2point 3398 EXIST::FUNCTION:EC
2966X509_VERIFY_PARAM_set_depth 3399 EXIST::FUNCTION: 2966X509_VERIFY_PARAM_set_depth 3399 EXIST::FUNCTION:
2967EC_KEY_set_asn1_flag 3400 EXIST::FUNCTION:EC 2967EC_KEY_set_asn1_flag 3400 EXIST::FUNCTION:EC
2968STORE_get_method 3401 NOEXIST::FUNCTION: 2968STORE_get_method 3401 EXIST::FUNCTION:
2969EC_KEY_get_key_method_data 3402 EXIST::FUNCTION:EC 2969EC_KEY_get_key_method_data 3402 EXIST::FUNCTION:EC
2970ECDSA_sign_ex 3403 EXIST::FUNCTION:ECDSA 2970ECDSA_sign_ex 3403 EXIST::FUNCTION:ECDSA
2971STORE_parse_attrs_end 3404 NOEXIST::FUNCTION: 2971STORE_parse_attrs_end 3404 EXIST::FUNCTION:
2972EC_GROUP_get_point_conversion_form 3405 EXIST:!VMS:FUNCTION:EC 2972EC_GROUP_get_point_conversion_form 3405 EXIST:!VMS:FUNCTION:EC
2973EC_GROUP_get_point_conv_form 3405 EXIST:VMS:FUNCTION:EC 2973EC_GROUP_get_point_conv_form 3405 EXIST:VMS:FUNCTION:EC
2974STORE_method_set_store_function 3406 NOEXIST::FUNCTION: 2974STORE_method_set_store_function 3406 EXIST::FUNCTION:
2975STORE_ATTR_INFO_in 3407 NOEXIST::FUNCTION: 2975STORE_ATTR_INFO_in 3407 EXIST::FUNCTION:
2976PEM_read_bio_ECPKParameters 3408 EXIST::FUNCTION:EC 2976PEM_read_bio_ECPKParameters 3408 EXIST::FUNCTION:EC
2977EC_GROUP_get_pentanomial_basis 3409 EXIST::FUNCTION:EC 2977EC_GROUP_get_pentanomial_basis 3409 EXIST::FUNCTION:EC
2978EVP_PKEY_add1_attr_by_txt 3410 EXIST::FUNCTION: 2978EVP_PKEY_add1_attr_by_txt 3410 EXIST::FUNCTION:
@@ -2980,7 +2980,7 @@ BN_BLINDING_set_flags 3411 EXIST::FUNCTION:
2980X509_VERIFY_PARAM_set1_policies 3412 EXIST::FUNCTION: 2980X509_VERIFY_PARAM_set1_policies 3412 EXIST::FUNCTION:
2981X509_VERIFY_PARAM_set1_name 3413 EXIST::FUNCTION: 2981X509_VERIFY_PARAM_set1_name 3413 EXIST::FUNCTION:
2982X509_VERIFY_PARAM_set_purpose 3414 EXIST::FUNCTION: 2982X509_VERIFY_PARAM_set_purpose 3414 EXIST::FUNCTION:
2983STORE_get_number 3415 NOEXIST::FUNCTION: 2983STORE_get_number 3415 EXIST::FUNCTION:
2984ECDSA_sign_setup 3416 EXIST::FUNCTION:ECDSA 2984ECDSA_sign_setup 3416 EXIST::FUNCTION:ECDSA
2985BN_GF2m_mod_solve_quad_arr 3417 EXIST::FUNCTION: 2985BN_GF2m_mod_solve_quad_arr 3417 EXIST::FUNCTION:
2986EC_KEY_up_ref 3418 EXIST::FUNCTION:EC 2986EC_KEY_up_ref 3418 EXIST::FUNCTION:EC
@@ -2988,14 +2988,14 @@ POLICY_MAPPING_free 3419 EXIST::FUNCTION:
2988BN_GF2m_mod_div 3420 EXIST::FUNCTION: 2988BN_GF2m_mod_div 3420 EXIST::FUNCTION:
2989X509_VERIFY_PARAM_set_flags 3421 EXIST::FUNCTION: 2989X509_VERIFY_PARAM_set_flags 3421 EXIST::FUNCTION:
2990EC_KEY_free 3422 EXIST::FUNCTION:EC 2990EC_KEY_free 3422 EXIST::FUNCTION:EC
2991STORE_meth_set_list_next_fn 3423 NOEXIST::FUNCTION: 2991STORE_method_set_list_next_function 3423 EXIST:!VMS:FUNCTION:
2992STORE_method_set_list_next_function 3423 NOEXIST::FUNCTION: 2992STORE_meth_set_list_next_fn 3423 EXIST:VMS:FUNCTION:
2993PEM_write_bio_ECPrivateKey 3424 EXIST::FUNCTION:EC 2993PEM_write_bio_ECPrivateKey 3424 EXIST::FUNCTION:EC
2994d2i_EC_PUBKEY 3425 EXIST::FUNCTION:EC 2994d2i_EC_PUBKEY 3425 EXIST::FUNCTION:EC
2995STORE_meth_get_generate_fn 3426 NOEXIST::FUNCTION: 2995STORE_method_get_generate_function 3426 EXIST:!VMS:FUNCTION:
2996STORE_method_get_generate_function 3426 NOEXIST::FUNCTION: 2996STORE_meth_get_generate_fn 3426 EXIST:VMS:FUNCTION:
2997STORE_meth_set_list_end_fn 3427 NOEXIST::FUNCTION: 2997STORE_method_set_list_end_function 3427 EXIST:!VMS:FUNCTION:
2998STORE_method_set_list_end_function 3427 NOEXIST::FUNCTION: 2998STORE_meth_set_list_end_fn 3427 EXIST:VMS:FUNCTION:
2999pqueue_print 3428 EXIST::FUNCTION: 2999pqueue_print 3428 EXIST::FUNCTION:
3000EC_GROUP_have_precompute_mult 3429 EXIST::FUNCTION:EC 3000EC_GROUP_have_precompute_mult 3429 EXIST::FUNCTION:EC
3001EC_KEY_print_fp 3430 EXIST::FUNCTION:EC,FP_API 3001EC_KEY_print_fp 3430 EXIST::FUNCTION:EC,FP_API
@@ -3003,8 +3003,8 @@ BN_GF2m_mod_arr 3431 EXIST::FUNCTION:
3003PEM_write_bio_X509_CERT_PAIR 3432 EXIST::FUNCTION: 3003PEM_write_bio_X509_CERT_PAIR 3432 EXIST::FUNCTION:
3004EVP_PKEY_cmp 3433 EXIST::FUNCTION: 3004EVP_PKEY_cmp 3433 EXIST::FUNCTION:
3005X509_policy_level_node_count 3434 EXIST::FUNCTION: 3005X509_policy_level_node_count 3434 EXIST::FUNCTION:
3006STORE_new_engine 3435 NOEXIST::FUNCTION: 3006STORE_new_engine 3435 EXIST::FUNCTION:
3007STORE_list_public_key_start 3436 NOEXIST::FUNCTION: 3007STORE_list_public_key_start 3436 EXIST::FUNCTION:
3008X509_VERIFY_PARAM_new 3437 EXIST::FUNCTION: 3008X509_VERIFY_PARAM_new 3437 EXIST::FUNCTION:
3009ECDH_get_ex_data 3438 EXIST::FUNCTION:ECDH 3009ECDH_get_ex_data 3438 EXIST::FUNCTION:ECDH
3010EVP_PKEY_get_attr 3439 EXIST::FUNCTION: 3010EVP_PKEY_get_attr 3439 EXIST::FUNCTION:
@@ -3014,11 +3014,11 @@ ECDH_OpenSSL 3442 EXIST::FUNCTION:ECDH
3014EC_KEY_set_conv_form 3443 EXIST::FUNCTION:EC 3014EC_KEY_set_conv_form 3443 EXIST::FUNCTION:EC
3015EC_POINT_dup 3444 EXIST::FUNCTION:EC 3015EC_POINT_dup 3444 EXIST::FUNCTION:EC
3016GENERAL_SUBTREE_new 3445 EXIST::FUNCTION: 3016GENERAL_SUBTREE_new 3445 EXIST::FUNCTION:
3017STORE_list_crl_endp 3446 NOEXIST::FUNCTION: 3017STORE_list_crl_endp 3446 EXIST::FUNCTION:
3018EC_get_builtin_curves 3447 EXIST::FUNCTION:EC 3018EC_get_builtin_curves 3447 EXIST::FUNCTION:EC
3019X509_policy_node_get0_qualifiers 3448 EXIST:!VMS:FUNCTION: 3019X509_policy_node_get0_qualifiers 3448 EXIST:!VMS:FUNCTION:
3020X509_pcy_node_get0_qualifiers 3448 EXIST:VMS:FUNCTION: 3020X509_pcy_node_get0_qualifiers 3448 EXIST:VMS:FUNCTION:
3021STORE_list_crl_end 3449 NOEXIST::FUNCTION: 3021STORE_list_crl_end 3449 EXIST::FUNCTION:
3022EVP_PKEY_set1_EC_KEY 3450 EXIST::FUNCTION:EC 3022EVP_PKEY_set1_EC_KEY 3450 EXIST::FUNCTION:EC
3023BN_GF2m_mod_sqrt_arr 3451 EXIST::FUNCTION: 3023BN_GF2m_mod_sqrt_arr 3451 EXIST::FUNCTION:
3024i2d_ECPrivateKey_bio 3452 EXIST::FUNCTION:BIO,EC 3024i2d_ECPrivateKey_bio 3452 EXIST::FUNCTION:BIO,EC
@@ -3026,60 +3026,60 @@ ECPKParameters_print_fp 3453 EXIST::FUNCTION:EC,FP_API
3026pqueue_find 3454 EXIST::FUNCTION: 3026pqueue_find 3454 EXIST::FUNCTION:
3027ECDSA_SIG_free 3455 EXIST::FUNCTION:ECDSA 3027ECDSA_SIG_free 3455 EXIST::FUNCTION:ECDSA
3028PEM_write_bio_ECPKParameters 3456 EXIST::FUNCTION:EC 3028PEM_write_bio_ECPKParameters 3456 EXIST::FUNCTION:EC
3029STORE_method_set_ctrl_function 3457 NOEXIST::FUNCTION: 3029STORE_method_set_ctrl_function 3457 EXIST::FUNCTION:
3030STORE_list_public_key_end 3458 NOEXIST::FUNCTION: 3030STORE_list_public_key_end 3458 EXIST::FUNCTION:
3031EC_KEY_set_private_key 3459 EXIST::FUNCTION:EC 3031EC_KEY_set_private_key 3459 EXIST::FUNCTION:EC
3032pqueue_peek 3460 EXIST::FUNCTION: 3032pqueue_peek 3460 EXIST::FUNCTION:
3033STORE_get_arbitrary 3461 NOEXIST::FUNCTION: 3033STORE_get_arbitrary 3461 EXIST::FUNCTION:
3034STORE_store_crl 3462 NOEXIST::FUNCTION: 3034STORE_store_crl 3462 EXIST::FUNCTION:
3035X509_policy_node_get0_policy 3463 EXIST::FUNCTION: 3035X509_policy_node_get0_policy 3463 EXIST::FUNCTION:
3036PKCS12_add_safes 3464 EXIST::FUNCTION: 3036PKCS12_add_safes 3464 EXIST::FUNCTION:
3037BN_BLINDING_convert_ex 3465 EXIST::FUNCTION: 3037BN_BLINDING_convert_ex 3465 EXIST::FUNCTION:
3038X509_policy_tree_free 3466 EXIST::FUNCTION: 3038X509_policy_tree_free 3466 EXIST::FUNCTION:
3039OPENSSL_ia32cap_loc 3467 EXIST::FUNCTION: 3039OPENSSL_ia32cap_loc 3467 EXIST::FUNCTION:
3040BN_GF2m_poly2arr 3468 EXIST::FUNCTION: 3040BN_GF2m_poly2arr 3468 EXIST::FUNCTION:
3041STORE_ctrl 3469 NOEXIST::FUNCTION: 3041STORE_ctrl 3469 EXIST::FUNCTION:
3042STORE_ATTR_INFO_compare 3470 NOEXIST::FUNCTION: 3042STORE_ATTR_INFO_compare 3470 EXIST::FUNCTION:
3043BN_get0_nist_prime_224 3471 EXIST::FUNCTION: 3043BN_get0_nist_prime_224 3471 EXIST::FUNCTION:
3044i2d_ECParameters 3472 EXIST::FUNCTION:EC 3044i2d_ECParameters 3472 EXIST::FUNCTION:EC
3045i2d_ECPKParameters 3473 EXIST::FUNCTION:EC 3045i2d_ECPKParameters 3473 EXIST::FUNCTION:EC
3046BN_GENCB_call 3474 EXIST::FUNCTION: 3046BN_GENCB_call 3474 EXIST::FUNCTION:
3047d2i_ECPKParameters 3475 EXIST::FUNCTION:EC 3047d2i_ECPKParameters 3475 EXIST::FUNCTION:EC
3048STORE_meth_set_generate_fn 3476 NOEXIST::FUNCTION: 3048STORE_method_set_generate_function 3476 EXIST:!VMS:FUNCTION:
3049STORE_method_set_generate_function 3476 NOEXIST::FUNCTION: 3049STORE_meth_set_generate_fn 3476 EXIST:VMS:FUNCTION:
3050ENGINE_set_ECDH 3477 EXIST::FUNCTION:ENGINE 3050ENGINE_set_ECDH 3477 EXIST::FUNCTION:ENGINE
3051NAME_CONSTRAINTS_new 3478 EXIST::FUNCTION: 3051NAME_CONSTRAINTS_new 3478 EXIST::FUNCTION:
3052SHA256_Init 3479 EXIST::FUNCTION:SHA,SHA256 3052SHA256_Init 3479 EXIST::FUNCTION:SHA,SHA256
3053EC_KEY_get0_public_key 3480 EXIST::FUNCTION:EC 3053EC_KEY_get0_public_key 3480 EXIST::FUNCTION:EC
3054PEM_write_bio_EC_PUBKEY 3481 EXIST::FUNCTION:EC 3054PEM_write_bio_EC_PUBKEY 3481 EXIST::FUNCTION:EC
3055STORE_ATTR_INFO_set_cstr 3482 NOEXIST::FUNCTION: 3055STORE_ATTR_INFO_set_cstr 3482 EXIST::FUNCTION:
3056STORE_list_crl_next 3483 NOEXIST::FUNCTION: 3056STORE_list_crl_next 3483 EXIST::FUNCTION:
3057STORE_ATTR_INFO_in_range 3484 NOEXIST::FUNCTION: 3057STORE_ATTR_INFO_in_range 3484 EXIST::FUNCTION:
3058ECParameters_print 3485 EXIST::FUNCTION:BIO,EC 3058ECParameters_print 3485 EXIST::FUNCTION:BIO,EC
3059STORE_meth_set_delete_fn 3486 NOEXIST::FUNCTION: 3059STORE_method_set_delete_function 3486 EXIST:!VMS:FUNCTION:
3060STORE_method_set_delete_function 3486 NOEXIST::FUNCTION: 3060STORE_meth_set_delete_fn 3486 EXIST:VMS:FUNCTION:
3061STORE_list_certificate_next 3487 NOEXIST::FUNCTION: 3061STORE_list_certificate_next 3487 EXIST::FUNCTION:
3062ASN1_generate_nconf 3488 EXIST::FUNCTION: 3062ASN1_generate_nconf 3488 EXIST::FUNCTION:
3063BUF_memdup 3489 EXIST::FUNCTION: 3063BUF_memdup 3489 EXIST::FUNCTION:
3064BN_GF2m_mod_mul 3490 EXIST::FUNCTION: 3064BN_GF2m_mod_mul 3490 EXIST::FUNCTION:
3065STORE_meth_get_list_next_fn 3491 NOEXIST::FUNCTION: 3065STORE_method_get_list_next_function 3491 EXIST:!VMS:FUNCTION:
3066STORE_method_get_list_next_function 3491 NOEXIST::FUNCTION: 3066STORE_meth_get_list_next_fn 3491 EXIST:VMS:FUNCTION:
3067STORE_ATTR_INFO_get0_dn 3492 NOEXIST::FUNCTION: 3067STORE_ATTR_INFO_get0_dn 3492 EXIST::FUNCTION:
3068STORE_list_private_key_next 3493 NOEXIST::FUNCTION: 3068STORE_list_private_key_next 3493 EXIST::FUNCTION:
3069EC_GROUP_set_seed 3494 EXIST::FUNCTION:EC 3069EC_GROUP_set_seed 3494 EXIST::FUNCTION:EC
3070X509_VERIFY_PARAM_set_trust 3495 EXIST::FUNCTION: 3070X509_VERIFY_PARAM_set_trust 3495 EXIST::FUNCTION:
3071STORE_ATTR_INFO_free 3496 NOEXIST::FUNCTION: 3071STORE_ATTR_INFO_free 3496 EXIST::FUNCTION:
3072STORE_get_private_key 3497 NOEXIST::FUNCTION: 3072STORE_get_private_key 3497 EXIST::FUNCTION:
3073EVP_PKEY_get_attr_count 3498 EXIST::FUNCTION: 3073EVP_PKEY_get_attr_count 3498 EXIST::FUNCTION:
3074STORE_ATTR_INFO_new 3499 NOEXIST::FUNCTION: 3074STORE_ATTR_INFO_new 3499 EXIST::FUNCTION:
3075EC_GROUP_get_curve_GF2m 3500 EXIST::FUNCTION:EC 3075EC_GROUP_get_curve_GF2m 3500 EXIST::FUNCTION:EC
3076STORE_meth_set_revoke_fn 3501 NOEXIST::FUNCTION: 3076STORE_method_set_revoke_function 3501 EXIST:!VMS:FUNCTION:
3077STORE_method_set_revoke_function 3501 NOEXIST::FUNCTION: 3077STORE_meth_set_revoke_fn 3501 EXIST:VMS:FUNCTION:
3078STORE_store_number 3502 NOEXIST::FUNCTION: 3078STORE_store_number 3502 EXIST::FUNCTION:
3079BN_is_prime_ex 3503 EXIST::FUNCTION: 3079BN_is_prime_ex 3503 EXIST::FUNCTION:
3080STORE_revoke_public_key 3504 NOEXIST::FUNCTION: 3080STORE_revoke_public_key 3504 EXIST::FUNCTION:
3081X509_STORE_CTX_get0_param 3505 EXIST::FUNCTION: 3081X509_STORE_CTX_get0_param 3505 EXIST::FUNCTION:
3082STORE_delete_arbitrary 3506 NOEXIST::FUNCTION: 3082STORE_delete_arbitrary 3506 EXIST::FUNCTION:
3083PEM_read_X509_CERT_PAIR 3507 EXIST:!WIN16:FUNCTION: 3083PEM_read_X509_CERT_PAIR 3507 EXIST:!WIN16:FUNCTION:
3084X509_STORE_set_depth 3508 EXIST::FUNCTION: 3084X509_STORE_set_depth 3508 EXIST::FUNCTION:
3085ECDSA_get_ex_data 3509 EXIST::FUNCTION:ECDSA 3085ECDSA_get_ex_data 3509 EXIST::FUNCTION:ECDSA
@@ -3087,40 +3087,40 @@ SHA224 3510 EXIST::FUNCTION:SHA,SHA256
3087BIO_dump_indent_fp 3511 EXIST::FUNCTION:FP_API 3087BIO_dump_indent_fp 3511 EXIST::FUNCTION:FP_API
3088EC_KEY_set_group 3512 EXIST::FUNCTION:EC 3088EC_KEY_set_group 3512 EXIST::FUNCTION:EC
3089BUF_strndup 3513 EXIST::FUNCTION: 3089BUF_strndup 3513 EXIST::FUNCTION:
3090STORE_list_certificate_start 3514 NOEXIST::FUNCTION: 3090STORE_list_certificate_start 3514 EXIST::FUNCTION:
3091BN_GF2m_mod 3515 EXIST::FUNCTION: 3091BN_GF2m_mod 3515 EXIST::FUNCTION:
3092X509_REQ_check_private_key 3516 EXIST::FUNCTION: 3092X509_REQ_check_private_key 3516 EXIST::FUNCTION:
3093EC_GROUP_get_seed_len 3517 EXIST::FUNCTION:EC 3093EC_GROUP_get_seed_len 3517 EXIST::FUNCTION:EC
3094ERR_load_STORE_strings 3518 NOEXIST::FUNCTION: 3094ERR_load_STORE_strings 3518 EXIST::FUNCTION:
3095PEM_read_bio_EC_PUBKEY 3519 EXIST::FUNCTION:EC 3095PEM_read_bio_EC_PUBKEY 3519 EXIST::FUNCTION:EC
3096STORE_list_private_key_end 3520 NOEXIST::FUNCTION: 3096STORE_list_private_key_end 3520 EXIST::FUNCTION:
3097i2d_EC_PUBKEY 3521 EXIST::FUNCTION:EC 3097i2d_EC_PUBKEY 3521 EXIST::FUNCTION:EC
3098ECDSA_get_default_method 3522 EXIST::FUNCTION:ECDSA 3098ECDSA_get_default_method 3522 EXIST::FUNCTION:ECDSA
3099ASN1_put_eoc 3523 EXIST::FUNCTION: 3099ASN1_put_eoc 3523 EXIST::FUNCTION:
3100X509_STORE_CTX_get_explicit_policy 3524 EXIST:!VMS:FUNCTION: 3100X509_STORE_CTX_get_explicit_policy 3524 EXIST:!VMS:FUNCTION:
3101X509_STORE_CTX_get_expl_policy 3524 EXIST:VMS:FUNCTION: 3101X509_STORE_CTX_get_expl_policy 3524 EXIST:VMS:FUNCTION:
3102X509_VERIFY_PARAM_table_cleanup 3525 EXIST::FUNCTION: 3102X509_VERIFY_PARAM_table_cleanup 3525 EXIST::FUNCTION:
3103STORE_modify_private_key 3526 NOEXIST::FUNCTION: 3103STORE_modify_private_key 3526 EXIST::FUNCTION:
3104X509_VERIFY_PARAM_free 3527 EXIST::FUNCTION: 3104X509_VERIFY_PARAM_free 3527 EXIST::FUNCTION:
3105EC_METHOD_get_field_type 3528 EXIST::FUNCTION:EC 3105EC_METHOD_get_field_type 3528 EXIST::FUNCTION:EC
3106EC_GFp_nist_method 3529 EXIST::FUNCTION:EC 3106EC_GFp_nist_method 3529 EXIST::FUNCTION:EC
3107STORE_meth_set_modify_fn 3530 NOEXIST::FUNCTION: 3107STORE_method_set_modify_function 3530 EXIST:!VMS:FUNCTION:
3108STORE_method_set_modify_function 3530 NOEXIST::FUNCTION: 3108STORE_meth_set_modify_fn 3530 EXIST:VMS:FUNCTION:
3109STORE_parse_attrs_next 3531 NOEXIST::FUNCTION: 3109STORE_parse_attrs_next 3531 EXIST::FUNCTION:
3110ENGINE_load_padlock 3532 EXIST::FUNCTION:ENGINE,STATIC_ENGINE 3110ENGINE_load_padlock 3532 EXIST::FUNCTION:ENGINE
3111EC_GROUP_set_curve_name 3533 EXIST::FUNCTION:EC 3111EC_GROUP_set_curve_name 3533 EXIST::FUNCTION:EC
3112X509_CERT_PAIR_it 3534 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 3112X509_CERT_PAIR_it 3534 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
3113X509_CERT_PAIR_it 3534 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 3113X509_CERT_PAIR_it 3534 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
3114STORE_meth_get_revoke_fn 3535 NOEXIST::FUNCTION: 3114STORE_method_get_revoke_function 3535 EXIST:!VMS:FUNCTION:
3115STORE_method_get_revoke_function 3535 NOEXIST::FUNCTION: 3115STORE_meth_get_revoke_fn 3535 EXIST:VMS:FUNCTION:
3116STORE_method_set_get_function 3536 NOEXIST::FUNCTION: 3116STORE_method_set_get_function 3536 EXIST::FUNCTION:
3117STORE_modify_number 3537 NOEXIST::FUNCTION: 3117STORE_modify_number 3537 EXIST::FUNCTION:
3118STORE_method_get_store_function 3538 NOEXIST::FUNCTION: 3118STORE_method_get_store_function 3538 EXIST::FUNCTION:
3119STORE_store_private_key 3539 NOEXIST::FUNCTION: 3119STORE_store_private_key 3539 EXIST::FUNCTION:
3120BN_GF2m_mod_sqr_arr 3540 EXIST::FUNCTION: 3120BN_GF2m_mod_sqr_arr 3540 EXIST::FUNCTION:
3121RSA_setup_blinding 3541 EXIST::FUNCTION:RSA 3121RSA_setup_blinding 3541 EXIST::FUNCTION:RSA
3122BIO_s_datagram 3542 EXIST::FUNCTION:DGRAM 3122BIO_s_datagram 3542 EXIST::FUNCTION:DGRAM
3123STORE_Memory 3543 NOEXIST::FUNCTION: 3123STORE_Memory 3543 EXIST::FUNCTION:
3124sk_find_ex 3544 EXIST::FUNCTION: 3124sk_find_ex 3544 EXIST::FUNCTION:
3125EC_GROUP_set_curve_GF2m 3545 EXIST::FUNCTION:EC 3125EC_GROUP_set_curve_GF2m 3545 EXIST::FUNCTION:EC
3126ENGINE_set_default_ECDSA 3546 EXIST::FUNCTION:ENGINE 3126ENGINE_set_default_ECDSA 3546 EXIST::FUNCTION:ENGINE
@@ -3128,69 +3128,69 @@ POLICY_CONSTRAINTS_new 3547 EXIST::FUNCTION:
3128BN_GF2m_mod_sqrt 3548 EXIST::FUNCTION: 3128BN_GF2m_mod_sqrt 3548 EXIST::FUNCTION:
3129ECDH_set_default_method 3549 EXIST::FUNCTION:ECDH 3129ECDH_set_default_method 3549 EXIST::FUNCTION:ECDH
3130EC_KEY_generate_key 3550 EXIST::FUNCTION:EC 3130EC_KEY_generate_key 3550 EXIST::FUNCTION:EC
3131SHA384_Update 3551 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 3131SHA384_Update 3551 EXIST::FUNCTION:SHA,SHA512
3132BN_GF2m_arr2poly 3552 EXIST::FUNCTION: 3132BN_GF2m_arr2poly 3552 EXIST::FUNCTION:
3133STORE_method_get_get_function 3553 NOEXIST::FUNCTION: 3133STORE_method_get_get_function 3553 EXIST::FUNCTION:
3134STORE_meth_set_cleanup_fn 3554 NOEXIST::FUNCTION: 3134STORE_method_set_cleanup_function 3554 EXIST:!VMS:FUNCTION:
3135STORE_method_set_cleanup_function 3554 NOEXIST::FUNCTION: 3135STORE_meth_set_cleanup_fn 3554 EXIST:VMS:FUNCTION:
3136EC_GROUP_check 3555 EXIST::FUNCTION:EC 3136EC_GROUP_check 3555 EXIST::FUNCTION:EC
3137d2i_ECPrivateKey_bio 3556 EXIST::FUNCTION:BIO,EC 3137d2i_ECPrivateKey_bio 3556 EXIST::FUNCTION:BIO,EC
3138EC_KEY_insert_key_method_data 3557 EXIST::FUNCTION:EC 3138EC_KEY_insert_key_method_data 3557 EXIST::FUNCTION:EC
3139STORE_meth_get_lock_store_fn 3558 NOEXIST::FUNCTION: 3139STORE_method_get_lock_store_function 3558 EXIST:!VMS:FUNCTION:
3140STORE_method_get_lock_store_function 3558 NOEXIST::FUNCTION: 3140STORE_meth_get_lock_store_fn 3558 EXIST:VMS:FUNCTION:
3141X509_VERIFY_PARAM_get_depth 3559 EXIST::FUNCTION: 3141X509_VERIFY_PARAM_get_depth 3559 EXIST::FUNCTION:
3142SHA224_Final 3560 EXIST::FUNCTION:SHA,SHA256 3142SHA224_Final 3560 EXIST::FUNCTION:SHA,SHA256
3143STORE_meth_set_update_store_fn 3561 NOEXIST::FUNCTION: 3143STORE_method_set_update_store_function 3561 EXIST:!VMS:FUNCTION:
3144STORE_method_set_update_store_function 3561 NOEXIST::FUNCTION: 3144STORE_meth_set_update_store_fn 3561 EXIST:VMS:FUNCTION:
3145SHA224_Update 3562 EXIST::FUNCTION:SHA,SHA256 3145SHA224_Update 3562 EXIST::FUNCTION:SHA,SHA256
3146d2i_ECPrivateKey 3563 EXIST::FUNCTION:EC 3146d2i_ECPrivateKey 3563 EXIST::FUNCTION:EC
3147ASN1_item_ndef_i2d 3564 EXIST::FUNCTION: 3147ASN1_item_ndef_i2d 3564 EXIST::FUNCTION:
3148STORE_delete_private_key 3565 NOEXIST::FUNCTION: 3148STORE_delete_private_key 3565 EXIST::FUNCTION:
3149ERR_pop_to_mark 3566 EXIST::FUNCTION: 3149ERR_pop_to_mark 3566 EXIST::FUNCTION:
3150ENGINE_register_all_STORE 3567 EXIST::FUNCTION:ENGINE 3150ENGINE_register_all_STORE 3567 EXIST::FUNCTION:ENGINE
3151X509_policy_level_get0_node 3568 EXIST::FUNCTION: 3151X509_policy_level_get0_node 3568 EXIST::FUNCTION:
3152i2d_PKCS7_NDEF 3569 EXIST::FUNCTION: 3152i2d_PKCS7_NDEF 3569 EXIST::FUNCTION:
3153EC_GROUP_get_degree 3570 EXIST::FUNCTION:EC 3153EC_GROUP_get_degree 3570 EXIST::FUNCTION:EC
3154ASN1_generate_v3 3571 EXIST::FUNCTION: 3154ASN1_generate_v3 3571 EXIST::FUNCTION:
3155STORE_ATTR_INFO_modify_cstr 3572 NOEXIST::FUNCTION: 3155STORE_ATTR_INFO_modify_cstr 3572 EXIST::FUNCTION:
3156X509_policy_tree_level_count 3573 EXIST::FUNCTION: 3156X509_policy_tree_level_count 3573 EXIST::FUNCTION:
3157BN_GF2m_add 3574 EXIST::FUNCTION: 3157BN_GF2m_add 3574 EXIST::FUNCTION:
3158EC_KEY_get0_group 3575 EXIST::FUNCTION:EC 3158EC_KEY_get0_group 3575 EXIST::FUNCTION:EC
3159STORE_generate_crl 3576 NOEXIST::FUNCTION: 3159STORE_generate_crl 3576 EXIST::FUNCTION:
3160STORE_store_public_key 3577 NOEXIST::FUNCTION: 3160STORE_store_public_key 3577 EXIST::FUNCTION:
3161X509_CERT_PAIR_free 3578 EXIST::FUNCTION: 3161X509_CERT_PAIR_free 3578 EXIST::FUNCTION:
3162STORE_revoke_private_key 3579 NOEXIST::FUNCTION: 3162STORE_revoke_private_key 3579 EXIST::FUNCTION:
3163BN_nist_mod_224 3580 EXIST::FUNCTION: 3163BN_nist_mod_224 3580 EXIST::FUNCTION:
3164SHA512_Final 3581 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 3164SHA512_Final 3581 EXIST::FUNCTION:SHA,SHA512
3165STORE_ATTR_INFO_modify_dn 3582 NOEXIST::FUNCTION: 3165STORE_ATTR_INFO_modify_dn 3582 EXIST::FUNCTION:
3166STORE_meth_get_initialise_fn 3583 NOEXIST::FUNCTION: 3166STORE_method_get_initialise_function 3583 EXIST:!VMS:FUNCTION:
3167STORE_method_get_initialise_function 3583 NOEXIST::FUNCTION: 3167STORE_meth_get_initialise_fn 3583 EXIST:VMS:FUNCTION:
3168STORE_delete_number 3584 NOEXIST::FUNCTION: 3168STORE_delete_number 3584 EXIST::FUNCTION:
3169i2d_EC_PUBKEY_bio 3585 EXIST::FUNCTION:BIO,EC 3169i2d_EC_PUBKEY_bio 3585 EXIST::FUNCTION:BIO,EC
3170BIO_dgram_non_fatal_error 3586 EXIST::FUNCTION: 3170BIO_dgram_non_fatal_error 3586 EXIST::FUNCTION:
3171EC_GROUP_get_asn1_flag 3587 EXIST::FUNCTION:EC 3171EC_GROUP_get_asn1_flag 3587 EXIST::FUNCTION:EC
3172STORE_ATTR_INFO_in_ex 3588 NOEXIST::FUNCTION: 3172STORE_ATTR_INFO_in_ex 3588 EXIST::FUNCTION:
3173STORE_list_crl_start 3589 NOEXIST::FUNCTION: 3173STORE_list_crl_start 3589 EXIST::FUNCTION:
3174ECDH_get_ex_new_index 3590 EXIST::FUNCTION:ECDH 3174ECDH_get_ex_new_index 3590 EXIST::FUNCTION:ECDH
3175STORE_meth_get_modify_fn 3591 NOEXIST::FUNCTION: 3175STORE_method_get_modify_function 3591 EXIST:!VMS:FUNCTION:
3176STORE_method_get_modify_function 3591 NOEXIST::FUNCTION: 3176STORE_meth_get_modify_fn 3591 EXIST:VMS:FUNCTION:
3177v2i_ASN1_BIT_STRING 3592 EXIST::FUNCTION: 3177v2i_ASN1_BIT_STRING 3592 EXIST::FUNCTION:
3178STORE_store_certificate 3593 NOEXIST::FUNCTION: 3178STORE_store_certificate 3593 EXIST::FUNCTION:
3179OBJ_bsearch_ex 3594 NOEXIST::FUNCTION: 3179OBJ_bsearch_ex 3594 EXIST::FUNCTION:
3180X509_STORE_CTX_set_default 3595 EXIST::FUNCTION: 3180X509_STORE_CTX_set_default 3595 EXIST::FUNCTION:
3181STORE_ATTR_INFO_set_sha1str 3596 NOEXIST::FUNCTION: 3181STORE_ATTR_INFO_set_sha1str 3596 EXIST::FUNCTION:
3182BN_GF2m_mod_inv 3597 EXIST::FUNCTION: 3182BN_GF2m_mod_inv 3597 EXIST::FUNCTION:
3183BN_GF2m_mod_exp 3598 EXIST::FUNCTION: 3183BN_GF2m_mod_exp 3598 EXIST::FUNCTION:
3184STORE_modify_public_key 3599 NOEXIST::FUNCTION: 3184STORE_modify_public_key 3599 EXIST::FUNCTION:
3185STORE_meth_get_list_start_fn 3600 NOEXIST::FUNCTION: 3185STORE_method_get_list_start_function 3600 EXIST:!VMS:FUNCTION:
3186STORE_method_get_list_start_function 3600 NOEXIST::FUNCTION: 3186STORE_meth_get_list_start_fn 3600 EXIST:VMS:FUNCTION:
3187EC_GROUP_get0_seed 3601 EXIST::FUNCTION:EC 3187EC_GROUP_get0_seed 3601 EXIST::FUNCTION:EC
3188STORE_store_arbitrary 3602 NOEXIST::FUNCTION: 3188STORE_store_arbitrary 3602 EXIST::FUNCTION:
3189STORE_meth_set_unlock_store_fn 3603 NOEXIST::FUNCTION: 3189STORE_method_set_unlock_store_function 3603 EXIST:!VMS:FUNCTION:
3190STORE_method_set_unlock_store_function 3603 NOEXIST::FUNCTION: 3190STORE_meth_set_unlock_store_fn 3603 EXIST:VMS:FUNCTION:
3191BN_GF2m_mod_div_arr 3604 EXIST::FUNCTION: 3191BN_GF2m_mod_div_arr 3604 EXIST::FUNCTION:
3192ENGINE_set_ECDSA 3605 EXIST::FUNCTION:ENGINE 3192ENGINE_set_ECDSA 3605 EXIST::FUNCTION:ENGINE
3193STORE_create_method 3606 NOEXIST::FUNCTION: 3193STORE_create_method 3606 EXIST::FUNCTION:
3194ECPKParameters_print 3607 EXIST::FUNCTION:BIO,EC 3194ECPKParameters_print 3607 EXIST::FUNCTION:BIO,EC
3195EC_KEY_get0_private_key 3608 EXIST::FUNCTION:EC 3195EC_KEY_get0_private_key 3608 EXIST::FUNCTION:EC
3196PEM_write_EC_PUBKEY 3609 EXIST:!WIN16:FUNCTION:EC 3196PEM_write_EC_PUBKEY 3609 EXIST:!WIN16:FUNCTION:EC
@@ -3198,7 +3198,7 @@ X509_VERIFY_PARAM_set1 3610 EXIST::FUNCTION:
3198ECDH_set_method 3611 EXIST::FUNCTION:ECDH 3198ECDH_set_method 3611 EXIST::FUNCTION:ECDH
3199v2i_GENERAL_NAME_ex 3612 EXIST::FUNCTION: 3199v2i_GENERAL_NAME_ex 3612 EXIST::FUNCTION:
3200ECDH_set_ex_data 3613 EXIST::FUNCTION:ECDH 3200ECDH_set_ex_data 3613 EXIST::FUNCTION:ECDH
3201STORE_generate_key 3614 NOEXIST::FUNCTION: 3201STORE_generate_key 3614 EXIST::FUNCTION:
3202BN_nist_mod_521 3615 EXIST::FUNCTION: 3202BN_nist_mod_521 3615 EXIST::FUNCTION:
3203X509_policy_tree_get0_level 3616 EXIST::FUNCTION: 3203X509_policy_tree_get0_level 3616 EXIST::FUNCTION:
3204EC_GROUP_set_point_conversion_form 3617 EXIST:!VMS:FUNCTION:EC 3204EC_GROUP_set_point_conversion_form 3617 EXIST:!VMS:FUNCTION:EC
@@ -3206,7 +3206,7 @@ EC_GROUP_set_point_conv_form 3617 EXIST:VMS:FUNCTION:EC
3206PEM_read_EC_PUBKEY 3618 EXIST:!WIN16:FUNCTION:EC 3206PEM_read_EC_PUBKEY 3618 EXIST:!WIN16:FUNCTION:EC
3207i2d_ECDSA_SIG 3619 EXIST::FUNCTION:ECDSA 3207i2d_ECDSA_SIG 3619 EXIST::FUNCTION:ECDSA
3208ECDSA_OpenSSL 3620 EXIST::FUNCTION:ECDSA 3208ECDSA_OpenSSL 3620 EXIST::FUNCTION:ECDSA
3209STORE_delete_crl 3621 NOEXIST::FUNCTION: 3209STORE_delete_crl 3621 EXIST::FUNCTION:
3210EC_KEY_get_enc_flags 3622 EXIST::FUNCTION:EC 3210EC_KEY_get_enc_flags 3622 EXIST::FUNCTION:EC
3211ASN1_const_check_infinite_end 3623 EXIST::FUNCTION: 3211ASN1_const_check_infinite_end 3623 EXIST::FUNCTION:
3212EVP_PKEY_delete_attr 3624 EXIST::FUNCTION: 3212EVP_PKEY_delete_attr 3624 EXIST::FUNCTION:
@@ -3214,31 +3214,31 @@ ECDSA_set_default_method 3625 EXIST::FUNCTION:ECDSA
3214EC_POINT_set_compressed_coordinates_GF2m 3626 EXIST:!VMS:FUNCTION:EC 3214EC_POINT_set_compressed_coordinates_GF2m 3626 EXIST:!VMS:FUNCTION:EC
3215EC_POINT_set_compr_coords_GF2m 3626 EXIST:VMS:FUNCTION:EC 3215EC_POINT_set_compr_coords_GF2m 3626 EXIST:VMS:FUNCTION:EC
3216EC_GROUP_cmp 3627 EXIST::FUNCTION:EC 3216EC_GROUP_cmp 3627 EXIST::FUNCTION:EC
3217STORE_revoke_certificate 3628 NOEXIST::FUNCTION: 3217STORE_revoke_certificate 3628 EXIST::FUNCTION:
3218BN_get0_nist_prime_256 3629 EXIST::FUNCTION: 3218BN_get0_nist_prime_256 3629 EXIST::FUNCTION:
3219STORE_meth_get_delete_fn 3630 NOEXIST::FUNCTION: 3219STORE_method_get_delete_function 3630 EXIST:!VMS:FUNCTION:
3220STORE_method_get_delete_function 3630 NOEXIST::FUNCTION: 3220STORE_meth_get_delete_fn 3630 EXIST:VMS:FUNCTION:
3221SHA224_Init 3631 EXIST::FUNCTION:SHA,SHA256 3221SHA224_Init 3631 EXIST::FUNCTION:SHA,SHA256
3222PEM_read_ECPrivateKey 3632 EXIST:!WIN16:FUNCTION:EC 3222PEM_read_ECPrivateKey 3632 EXIST:!WIN16:FUNCTION:EC
3223SHA512_Init 3633 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 3223SHA512_Init 3633 EXIST::FUNCTION:SHA,SHA512
3224STORE_parse_attrs_endp 3634 NOEXIST::FUNCTION: 3224STORE_parse_attrs_endp 3634 EXIST::FUNCTION:
3225BN_set_negative 3635 EXIST::FUNCTION: 3225BN_set_negative 3635 EXIST::FUNCTION:
3226ERR_load_ECDSA_strings 3636 EXIST::FUNCTION:ECDSA 3226ERR_load_ECDSA_strings 3636 EXIST::FUNCTION:ECDSA
3227EC_GROUP_get_basis_type 3637 EXIST::FUNCTION:EC 3227EC_GROUP_get_basis_type 3637 EXIST::FUNCTION:EC
3228STORE_list_public_key_next 3638 NOEXIST::FUNCTION: 3228STORE_list_public_key_next 3638 EXIST::FUNCTION:
3229i2v_ASN1_BIT_STRING 3639 EXIST::FUNCTION: 3229i2v_ASN1_BIT_STRING 3639 EXIST::FUNCTION:
3230STORE_OBJECT_free 3640 NOEXIST::FUNCTION: 3230STORE_OBJECT_free 3640 EXIST::FUNCTION:
3231BN_nist_mod_384 3641 EXIST::FUNCTION: 3231BN_nist_mod_384 3641 EXIST::FUNCTION:
3232i2d_X509_CERT_PAIR 3642 EXIST::FUNCTION: 3232i2d_X509_CERT_PAIR 3642 EXIST::FUNCTION:
3233PEM_write_ECPKParameters 3643 EXIST:!WIN16:FUNCTION:EC 3233PEM_write_ECPKParameters 3643 EXIST:!WIN16:FUNCTION:EC
3234ECDH_compute_key 3644 EXIST::FUNCTION:ECDH 3234ECDH_compute_key 3644 EXIST::FUNCTION:ECDH
3235STORE_ATTR_INFO_get0_sha1str 3645 NOEXIST::FUNCTION: 3235STORE_ATTR_INFO_get0_sha1str 3645 EXIST::FUNCTION:
3236ENGINE_register_all_ECDH 3646 EXIST::FUNCTION:ENGINE 3236ENGINE_register_all_ECDH 3646 EXIST::FUNCTION:ENGINE
3237pqueue_pop 3647 EXIST::FUNCTION: 3237pqueue_pop 3647 EXIST::FUNCTION:
3238STORE_ATTR_INFO_get0_cstr 3648 NOEXIST::FUNCTION: 3238STORE_ATTR_INFO_get0_cstr 3648 EXIST::FUNCTION:
3239POLICY_CONSTRAINTS_it 3649 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 3239POLICY_CONSTRAINTS_it 3649 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
3240POLICY_CONSTRAINTS_it 3649 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 3240POLICY_CONSTRAINTS_it 3649 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
3241STORE_get_ex_new_index 3650 NOEXIST::FUNCTION: 3241STORE_get_ex_new_index 3650 EXIST::FUNCTION:
3242EVP_PKEY_get_attr_by_OBJ 3651 EXIST::FUNCTION: 3242EVP_PKEY_get_attr_by_OBJ 3651 EXIST::FUNCTION:
3243X509_VERIFY_PARAM_add0_policy 3652 EXIST::FUNCTION: 3243X509_VERIFY_PARAM_add0_policy 3652 EXIST::FUNCTION:
3244BN_GF2m_mod_solve_quad 3653 EXIST::FUNCTION: 3244BN_GF2m_mod_solve_quad 3653 EXIST::FUNCTION:
@@ -3259,20 +3259,20 @@ EC_KEY_set_enc_flags 3665 EXIST::FUNCTION:EC
3259ECDSA_verify 3666 EXIST::FUNCTION:ECDSA 3259ECDSA_verify 3666 EXIST::FUNCTION:ECDSA
3260EC_POINT_point2hex 3667 EXIST::FUNCTION:EC 3260EC_POINT_point2hex 3667 EXIST::FUNCTION:EC
3261ENGINE_get_STORE 3668 EXIST::FUNCTION:ENGINE 3261ENGINE_get_STORE 3668 EXIST::FUNCTION:ENGINE
3262SHA512 3669 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 3262SHA512 3669 EXIST::FUNCTION:SHA,SHA512
3263STORE_get_certificate 3670 NOEXIST::FUNCTION: 3263STORE_get_certificate 3670 EXIST::FUNCTION:
3264ECDSA_do_sign_ex 3671 EXIST::FUNCTION:ECDSA 3264ECDSA_do_sign_ex 3671 EXIST::FUNCTION:ECDSA
3265ECDSA_do_verify 3672 EXIST::FUNCTION:ECDSA 3265ECDSA_do_verify 3672 EXIST::FUNCTION:ECDSA
3266d2i_ECPrivateKey_fp 3673 EXIST::FUNCTION:EC,FP_API 3266d2i_ECPrivateKey_fp 3673 EXIST::FUNCTION:EC,FP_API
3267STORE_delete_certificate 3674 NOEXIST::FUNCTION: 3267STORE_delete_certificate 3674 EXIST::FUNCTION:
3268SHA512_Transform 3675 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 3268SHA512_Transform 3675 EXIST::FUNCTION:SHA,SHA512
3269X509_STORE_set1_param 3676 EXIST::FUNCTION: 3269X509_STORE_set1_param 3676 EXIST::FUNCTION:
3270STORE_method_get_ctrl_function 3677 NOEXIST::FUNCTION: 3270STORE_method_get_ctrl_function 3677 EXIST::FUNCTION:
3271STORE_free 3678 NOEXIST::FUNCTION: 3271STORE_free 3678 EXIST::FUNCTION:
3272PEM_write_ECPrivateKey 3679 EXIST:!WIN16:FUNCTION:EC 3272PEM_write_ECPrivateKey 3679 EXIST:!WIN16:FUNCTION:EC
3273STORE_meth_get_unlock_store_fn 3680 NOEXIST::FUNCTION: 3273STORE_method_get_unlock_store_function 3680 EXIST:!VMS:FUNCTION:
3274STORE_method_get_unlock_store_function 3680 NOEXIST::FUNCTION: 3274STORE_meth_get_unlock_store_fn 3680 EXIST:VMS:FUNCTION:
3275STORE_get_ex_data 3681 NOEXIST::FUNCTION: 3275STORE_get_ex_data 3681 EXIST::FUNCTION:
3276EC_KEY_set_public_key 3682 EXIST::FUNCTION:EC 3276EC_KEY_set_public_key 3682 EXIST::FUNCTION:EC
3277PEM_read_ECPKParameters 3683 EXIST:!WIN16:FUNCTION:EC 3277PEM_read_ECPKParameters 3683 EXIST:!WIN16:FUNCTION:EC
3278X509_CERT_PAIR_new 3684 EXIST::FUNCTION: 3278X509_CERT_PAIR_new 3684 EXIST::FUNCTION:
@@ -3282,8 +3282,8 @@ DSA_generate_parameters_ex 3687 EXIST::FUNCTION:DSA
3282ECParameters_print_fp 3688 EXIST::FUNCTION:EC,FP_API 3282ECParameters_print_fp 3688 EXIST::FUNCTION:EC,FP_API
3283X509V3_NAME_from_section 3689 EXIST::FUNCTION: 3283X509V3_NAME_from_section 3689 EXIST::FUNCTION:
3284EVP_PKEY_add1_attr 3690 EXIST::FUNCTION: 3284EVP_PKEY_add1_attr 3690 EXIST::FUNCTION:
3285STORE_modify_crl 3691 NOEXIST::FUNCTION: 3285STORE_modify_crl 3691 EXIST::FUNCTION:
3286STORE_list_private_key_start 3692 NOEXIST::FUNCTION: 3286STORE_list_private_key_start 3692 EXIST::FUNCTION:
3287POLICY_MAPPINGS_it 3693 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 3287POLICY_MAPPINGS_it 3693 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
3288POLICY_MAPPINGS_it 3693 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: 3288POLICY_MAPPINGS_it 3693 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
3289GENERAL_SUBTREE_it 3694 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: 3289GENERAL_SUBTREE_it 3694 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
@@ -3292,7 +3292,7 @@ EC_GROUP_get_curve_name 3695 EXIST::FUNCTION:EC
3292PEM_write_X509_CERT_PAIR 3696 EXIST:!WIN16:FUNCTION: 3292PEM_write_X509_CERT_PAIR 3696 EXIST:!WIN16:FUNCTION:
3293BIO_dump_indent_cb 3697 EXIST::FUNCTION: 3293BIO_dump_indent_cb 3697 EXIST::FUNCTION:
3294d2i_X509_CERT_PAIR 3698 EXIST::FUNCTION: 3294d2i_X509_CERT_PAIR 3698 EXIST::FUNCTION:
3295STORE_list_private_key_endp 3699 NOEXIST::FUNCTION: 3295STORE_list_private_key_endp 3699 EXIST::FUNCTION:
3296asn1_const_Finish 3700 EXIST::FUNCTION: 3296asn1_const_Finish 3700 EXIST::FUNCTION:
3297i2d_EC_PUBKEY_fp 3701 EXIST::FUNCTION:EC,FP_API 3297i2d_EC_PUBKEY_fp 3701 EXIST::FUNCTION:EC,FP_API
3298BN_nist_mod_256 3702 EXIST::FUNCTION: 3298BN_nist_mod_256 3702 EXIST::FUNCTION:
@@ -3302,47 +3302,47 @@ BN_BLINDING_create_param 3705 EXIST::FUNCTION:
3302ECDSA_size 3706 EXIST::FUNCTION:ECDSA 3302ECDSA_size 3706 EXIST::FUNCTION:ECDSA
3303d2i_EC_PUBKEY_bio 3707 EXIST::FUNCTION:BIO,EC 3303d2i_EC_PUBKEY_bio 3707 EXIST::FUNCTION:BIO,EC
3304BN_get0_nist_prime_521 3708 EXIST::FUNCTION: 3304BN_get0_nist_prime_521 3708 EXIST::FUNCTION:
3305STORE_ATTR_INFO_modify_sha1str 3709 NOEXIST::FUNCTION: 3305STORE_ATTR_INFO_modify_sha1str 3709 EXIST::FUNCTION:
3306BN_generate_prime_ex 3710 EXIST::FUNCTION: 3306BN_generate_prime_ex 3710 EXIST::FUNCTION:
3307EC_GROUP_new_by_curve_name 3711 EXIST::FUNCTION:EC 3307EC_GROUP_new_by_curve_name 3711 EXIST::FUNCTION:EC
3308SHA256_Final 3712 EXIST::FUNCTION:SHA,SHA256 3308SHA256_Final 3712 EXIST::FUNCTION:SHA,SHA256
3309DH_generate_parameters_ex 3713 EXIST::FUNCTION:DH 3309DH_generate_parameters_ex 3713 EXIST::FUNCTION:DH
3310PEM_read_bio_ECPrivateKey 3714 EXIST::FUNCTION:EC 3310PEM_read_bio_ECPrivateKey 3714 EXIST::FUNCTION:EC
3311STORE_meth_get_cleanup_fn 3715 NOEXIST::FUNCTION: 3311STORE_method_get_cleanup_function 3715 EXIST:!VMS:FUNCTION:
3312STORE_method_get_cleanup_function 3715 NOEXIST::FUNCTION: 3312STORE_meth_get_cleanup_fn 3715 EXIST:VMS:FUNCTION:
3313ENGINE_get_ECDH 3716 EXIST::FUNCTION:ENGINE 3313ENGINE_get_ECDH 3716 EXIST::FUNCTION:ENGINE
3314d2i_ECDSA_SIG 3717 EXIST::FUNCTION:ECDSA 3314d2i_ECDSA_SIG 3717 EXIST::FUNCTION:ECDSA
3315BN_is_prime_fasttest_ex 3718 EXIST::FUNCTION: 3315BN_is_prime_fasttest_ex 3718 EXIST::FUNCTION:
3316ECDSA_sign 3719 EXIST::FUNCTION:ECDSA 3316ECDSA_sign 3719 EXIST::FUNCTION:ECDSA
3317X509_policy_check 3720 EXIST::FUNCTION: 3317X509_policy_check 3720 EXIST::FUNCTION:
3318EVP_PKEY_get_attr_by_NID 3721 EXIST::FUNCTION: 3318EVP_PKEY_get_attr_by_NID 3721 EXIST::FUNCTION:
3319STORE_set_ex_data 3722 NOEXIST::FUNCTION: 3319STORE_set_ex_data 3722 EXIST::FUNCTION:
3320ENGINE_get_ECDSA 3723 EXIST::FUNCTION:ENGINE 3320ENGINE_get_ECDSA 3723 EXIST::FUNCTION:ENGINE
3321EVP_ecdsa 3724 EXIST::FUNCTION:SHA 3321EVP_ecdsa 3724 EXIST::FUNCTION:SHA
3322BN_BLINDING_get_flags 3725 EXIST::FUNCTION: 3322BN_BLINDING_get_flags 3725 EXIST::FUNCTION:
3323PKCS12_add_cert 3726 EXIST::FUNCTION: 3323PKCS12_add_cert 3726 EXIST::FUNCTION:
3324STORE_OBJECT_new 3727 NOEXIST::FUNCTION: 3324STORE_OBJECT_new 3727 EXIST::FUNCTION:
3325ERR_load_ECDH_strings 3728 EXIST::FUNCTION:ECDH 3325ERR_load_ECDH_strings 3728 EXIST::FUNCTION:ECDH
3326EC_KEY_dup 3729 EXIST::FUNCTION:EC 3326EC_KEY_dup 3729 EXIST::FUNCTION:EC
3327EVP_CIPHER_CTX_rand_key 3730 EXIST::FUNCTION: 3327EVP_CIPHER_CTX_rand_key 3730 EXIST::FUNCTION:
3328ECDSA_set_method 3731 EXIST::FUNCTION:ECDSA 3328ECDSA_set_method 3731 EXIST::FUNCTION:ECDSA
3329a2i_IPADDRESS_NC 3732 EXIST::FUNCTION: 3329a2i_IPADDRESS_NC 3732 EXIST::FUNCTION:
3330d2i_ECParameters 3733 EXIST::FUNCTION:EC 3330d2i_ECParameters 3733 EXIST::FUNCTION:EC
3331STORE_list_certificate_end 3734 NOEXIST::FUNCTION: 3331STORE_list_certificate_end 3734 EXIST::FUNCTION:
3332STORE_get_crl 3735 NOEXIST::FUNCTION: 3332STORE_get_crl 3735 EXIST::FUNCTION:
3333X509_POLICY_NODE_print 3736 EXIST::FUNCTION: 3333X509_POLICY_NODE_print 3736 EXIST::FUNCTION:
3334SHA384_Init 3737 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 3334SHA384_Init 3737 EXIST::FUNCTION:SHA,SHA512
3335EC_GF2m_simple_method 3738 EXIST::FUNCTION:EC 3335EC_GF2m_simple_method 3738 EXIST::FUNCTION:EC
3336ECDSA_set_ex_data 3739 EXIST::FUNCTION:ECDSA 3336ECDSA_set_ex_data 3739 EXIST::FUNCTION:ECDSA
3337SHA384_Final 3740 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 3337SHA384_Final 3740 EXIST::FUNCTION:SHA,SHA512
3338PKCS7_set_digest 3741 EXIST::FUNCTION: 3338PKCS7_set_digest 3741 EXIST::FUNCTION:
3339EC_KEY_print 3742 EXIST::FUNCTION:BIO,EC 3339EC_KEY_print 3742 EXIST::FUNCTION:BIO,EC
3340STORE_meth_set_lock_store_fn 3743 NOEXIST::FUNCTION: 3340STORE_method_set_lock_store_function 3743 EXIST:!VMS:FUNCTION:
3341STORE_method_set_lock_store_function 3743 NOEXIST::FUNCTION: 3341STORE_meth_set_lock_store_fn 3743 EXIST:VMS:FUNCTION:
3342ECDSA_get_ex_new_index 3744 EXIST::FUNCTION:ECDSA 3342ECDSA_get_ex_new_index 3744 EXIST::FUNCTION:ECDSA
3343SHA384 3745 EXIST:!VMSVAX:FUNCTION:SHA,SHA512 3343SHA384 3745 EXIST::FUNCTION:SHA,SHA512
3344POLICY_MAPPING_new 3746 EXIST::FUNCTION: 3344POLICY_MAPPING_new 3746 EXIST::FUNCTION:
3345STORE_list_certificate_endp 3747 NOEXIST::FUNCTION: 3345STORE_list_certificate_endp 3747 EXIST::FUNCTION:
3346X509_STORE_CTX_get0_policy_tree 3748 EXIST::FUNCTION: 3346X509_STORE_CTX_get0_policy_tree 3748 EXIST::FUNCTION:
3347EC_GROUP_set_asn1_flag 3749 EXIST::FUNCTION:EC 3347EC_GROUP_set_asn1_flag 3749 EXIST::FUNCTION:EC
3348EC_KEY_check_key 3750 EXIST::FUNCTION:EC 3348EC_KEY_check_key 3750 EXIST::FUNCTION:EC
@@ -3350,13 +3350,13 @@ d2i_EC_PUBKEY_fp 3751 EXIST::FUNCTION:EC,FP_API
3350PKCS7_set0_type_other 3752 EXIST::FUNCTION: 3350PKCS7_set0_type_other 3752 EXIST::FUNCTION:
3351PEM_read_bio_X509_CERT_PAIR 3753 EXIST::FUNCTION: 3351PEM_read_bio_X509_CERT_PAIR 3753 EXIST::FUNCTION:
3352pqueue_next 3754 EXIST::FUNCTION: 3352pqueue_next 3754 EXIST::FUNCTION:
3353STORE_meth_get_list_end_fn 3755 NOEXIST::FUNCTION: 3353STORE_method_get_list_end_function 3755 EXIST:!VMS:FUNCTION:
3354STORE_method_get_list_end_function 3755 NOEXIST::FUNCTION: 3354STORE_meth_get_list_end_fn 3755 EXIST:VMS:FUNCTION:
3355EVP_PKEY_add1_attr_by_OBJ 3756 EXIST::FUNCTION: 3355EVP_PKEY_add1_attr_by_OBJ 3756 EXIST::FUNCTION:
3356X509_VERIFY_PARAM_set_time 3757 EXIST::FUNCTION: 3356X509_VERIFY_PARAM_set_time 3757 EXIST::FUNCTION:
3357pqueue_new 3758 EXIST::FUNCTION: 3357pqueue_new 3758 EXIST::FUNCTION:
3358ENGINE_set_default_ECDH 3759 EXIST::FUNCTION:ENGINE 3358ENGINE_set_default_ECDH 3759 EXIST::FUNCTION:ENGINE
3359STORE_new_method 3760 NOEXIST::FUNCTION: 3359STORE_new_method 3760 EXIST::FUNCTION:
3360PKCS12_add_key 3761 EXIST::FUNCTION: 3360PKCS12_add_key 3761 EXIST::FUNCTION:
3361DSO_merge 3762 EXIST::FUNCTION: 3361DSO_merge 3762 EXIST::FUNCTION:
3362EC_POINT_hex2point 3763 EXIST::FUNCTION:EC 3362EC_POINT_hex2point 3763 EXIST::FUNCTION:EC
@@ -3366,7 +3366,7 @@ pqueue_insert 3766 EXIST::FUNCTION:
3366pitem_free 3767 EXIST::FUNCTION: 3366pitem_free 3767 EXIST::FUNCTION:
3367BN_GF2m_mod_inv_arr 3768 EXIST::FUNCTION: 3367BN_GF2m_mod_inv_arr 3768 EXIST::FUNCTION:
3368ENGINE_unregister_ECDSA 3769 EXIST::FUNCTION:ENGINE 3368ENGINE_unregister_ECDSA 3769 EXIST::FUNCTION:ENGINE
3369BN_BLINDING_set_thread_id 3770 EXIST::FUNCTION:DEPRECATED 3369BN_BLINDING_set_thread_id 3770 EXIST::FUNCTION:
3370get_rfc3526_prime_8192 3771 EXIST::FUNCTION: 3370get_rfc3526_prime_8192 3771 EXIST::FUNCTION:
3371X509_VERIFY_PARAM_clear_flags 3772 EXIST::FUNCTION: 3371X509_VERIFY_PARAM_clear_flags 3772 EXIST::FUNCTION:
3372get_rfc2409_prime_1024 3773 EXIST::FUNCTION: 3372get_rfc2409_prime_1024 3773 EXIST::FUNCTION:
@@ -3385,7 +3385,7 @@ Camellia_cfb128_encrypt 3785 EXIST::FUNCTION:CAMELLIA
3385Camellia_cfb1_encrypt 3786 EXIST::FUNCTION:CAMELLIA 3385Camellia_cfb1_encrypt 3786 EXIST::FUNCTION:CAMELLIA
3386Camellia_cfb8_encrypt 3787 EXIST::FUNCTION:CAMELLIA 3386Camellia_cfb8_encrypt 3787 EXIST::FUNCTION:CAMELLIA
3387Camellia_ctr128_encrypt 3788 EXIST::FUNCTION:CAMELLIA 3387Camellia_ctr128_encrypt 3788 EXIST::FUNCTION:CAMELLIA
3388Camellia_cfbr_encrypt_block 3789 NOEXIST::FUNCTION: 3388Camellia_cfbr_encrypt_block 3789 EXIST::FUNCTION:CAMELLIA
3389Camellia_decrypt 3790 EXIST::FUNCTION:CAMELLIA 3389Camellia_decrypt 3790 EXIST::FUNCTION:CAMELLIA
3390Camellia_ecb_encrypt 3791 EXIST::FUNCTION:CAMELLIA 3390Camellia_ecb_encrypt 3791 EXIST::FUNCTION:CAMELLIA
3391Camellia_encrypt 3792 EXIST::FUNCTION:CAMELLIA 3391Camellia_encrypt 3792 EXIST::FUNCTION:CAMELLIA
@@ -3585,7 +3585,7 @@ CMS_data_create 3975 EXIST::FUNCTION:CMS
3585i2d_CMS_bio 3976 EXIST::FUNCTION:CMS 3585i2d_CMS_bio 3976 EXIST::FUNCTION:CMS
3586CMS_EncryptedData_set1_key 3977 EXIST::FUNCTION:CMS 3586CMS_EncryptedData_set1_key 3977 EXIST::FUNCTION:CMS
3587CMS_decrypt 3978 EXIST::FUNCTION:CMS 3587CMS_decrypt 3978 EXIST::FUNCTION:CMS
3588int_smime_write_ASN1 3979 NOEXIST::FUNCTION: 3588int_smime_write_ASN1 3979 EXIST::FUNCTION:
3589CMS_unsigned_delete_attr 3980 EXIST::FUNCTION:CMS 3589CMS_unsigned_delete_attr 3980 EXIST::FUNCTION:CMS
3590CMS_unsigned_get_attr_count 3981 EXIST::FUNCTION:CMS 3590CMS_unsigned_get_attr_count 3981 EXIST::FUNCTION:CMS
3591CMS_add_smimecap 3982 EXIST::FUNCTION:CMS 3591CMS_add_smimecap 3982 EXIST::FUNCTION:CMS
@@ -3657,52 +3657,53 @@ ENGINE_set_ld_ssl_clnt_cert_fn 4044 EXIST:VMS:FUNCTION:ENGINE
3657ENGINE_get_ssl_client_cert_function 4045 EXIST:!VMS:FUNCTION:ENGINE 3657ENGINE_get_ssl_client_cert_function 4045 EXIST:!VMS:FUNCTION:ENGINE
3658ENGINE_get_ssl_client_cert_fn 4045 EXIST:VMS:FUNCTION:ENGINE 3658ENGINE_get_ssl_client_cert_fn 4045 EXIST:VMS:FUNCTION:ENGINE
3659ENGINE_load_ssl_client_cert 4046 EXIST::FUNCTION:ENGINE 3659ENGINE_load_ssl_client_cert 4046 EXIST::FUNCTION:ENGINE
3660ENGINE_load_capi 4047 EXIST::FUNCTION:ENGINE,STATIC_ENGINE 3660ENGINE_load_capi 4047 EXIST::FUNCTION:CAPIENG,ENGINE
3661OPENSSL_isservice 4048 EXIST::FUNCTION: 3661OPENSSL_isservice 4048 EXIST::FUNCTION:
3662FIPS_dsa_sig_decode 4049 NOEXIST::FUNCTION: 3662FIPS_dsa_sig_decode 4049 EXIST:OPENSSL_FIPS:FUNCTION:DSA
3663EVP_CIPHER_CTX_clear_flags 4050 EXIST::FUNCTION: 3663EVP_CIPHER_CTX_clear_flags 4050 EXIST::FUNCTION:
3664FIPS_rand_status 4051 NOEXIST::FUNCTION: 3664FIPS_rand_status 4051 EXIST:OPENSSL_FIPS:FUNCTION:
3665FIPS_rand_set_key 4052 NOEXIST::FUNCTION: 3665FIPS_rand_set_key 4052 EXIST:OPENSSL_FIPS:FUNCTION:
3666CRYPTO_set_mem_info_functions 4053 NOEXIST::FUNCTION: 3666CRYPTO_set_mem_info_functions 4053 EXIST::FUNCTION:
3667RSA_X931_generate_key_ex 4054 NOEXIST::FUNCTION: 3667RSA_X931_generate_key_ex 4054 EXIST::FUNCTION:RSA
3668int_ERR_set_state_func 4055 NOEXIST::FUNCTION: 3668int_ERR_set_state_func 4055 EXIST:OPENSSL_FIPS:FUNCTION:
3669int_EVP_MD_set_engine_callbacks 4056 NOEXIST::FUNCTION: 3669int_EVP_MD_set_engine_callbacks 4056 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE
3670int_CRYPTO_set_do_dynlock_callback 4057 NOEXIST::FUNCTION: 3670int_CRYPTO_set_do_dynlock_callback 4057 EXIST:!VMS:FUNCTION:
3671FIPS_rng_stick 4058 NOEXIST::FUNCTION: 3671int_CRYPTO_set_do_dynlock_cb 4057 EXIST:VMS:FUNCTION:
3672FIPS_rng_stick 4058 EXIST:OPENSSL_FIPS:FUNCTION:
3672EVP_CIPHER_CTX_set_flags 4059 EXIST::FUNCTION: 3673EVP_CIPHER_CTX_set_flags 4059 EXIST::FUNCTION:
3673BN_X931_generate_prime_ex 4060 NOEXIST::FUNCTION: 3674BN_X931_generate_prime_ex 4060 EXIST::FUNCTION:
3674FIPS_selftest_check 4061 NOEXIST::FUNCTION: 3675FIPS_selftest_check 4061 EXIST:OPENSSL_FIPS:FUNCTION:
3675FIPS_rand_set_dt 4062 NOEXIST::FUNCTION: 3676FIPS_rand_set_dt 4062 EXIST:OPENSSL_FIPS:FUNCTION:
3676CRYPTO_dbg_pop_info 4063 NOEXIST::FUNCTION: 3677CRYPTO_dbg_pop_info 4063 EXIST::FUNCTION:
3677FIPS_dsa_free 4064 NOEXIST::FUNCTION: 3678FIPS_dsa_free 4064 EXIST:OPENSSL_FIPS:FUNCTION:DSA
3678RSA_X931_derive_ex 4065 NOEXIST::FUNCTION: 3679RSA_X931_derive_ex 4065 EXIST::FUNCTION:RSA
3679FIPS_rsa_new 4066 NOEXIST::FUNCTION: 3680FIPS_rsa_new 4066 EXIST:OPENSSL_FIPS:FUNCTION:RSA
3680FIPS_rand_bytes 4067 NOEXIST::FUNCTION: 3681FIPS_rand_bytes 4067 EXIST:OPENSSL_FIPS:FUNCTION:
3681fips_cipher_test 4068 NOEXIST::FUNCTION: 3682fips_cipher_test 4068 EXIST:OPENSSL_FIPS:FUNCTION:
3682EVP_CIPHER_CTX_test_flags 4069 EXIST::FUNCTION: 3683EVP_CIPHER_CTX_test_flags 4069 EXIST::FUNCTION:
3683CRYPTO_malloc_debug_init 4070 NOEXIST::FUNCTION: 3684CRYPTO_malloc_debug_init 4070 EXIST::FUNCTION:
3684CRYPTO_dbg_push_info 4071 NOEXIST::FUNCTION: 3685CRYPTO_dbg_push_info 4071 EXIST::FUNCTION:
3685FIPS_corrupt_rsa_keygen 4072 NOEXIST::FUNCTION: 3686FIPS_corrupt_rsa_keygen 4072 EXIST:OPENSSL_FIPS:FUNCTION:
3686FIPS_dh_new 4073 NOEXIST::FUNCTION: 3687FIPS_dh_new 4073 EXIST:OPENSSL_FIPS:FUNCTION:DH
3687FIPS_corrupt_dsa_keygen 4074 NOEXIST::FUNCTION: 3688FIPS_corrupt_dsa_keygen 4074 EXIST:OPENSSL_FIPS:FUNCTION:
3688FIPS_dh_free 4075 NOEXIST::FUNCTION: 3689FIPS_dh_free 4075 EXIST:OPENSSL_FIPS:FUNCTION:DH
3689fips_pkey_signature_test 4076 NOEXIST::FUNCTION: 3690fips_pkey_signature_test 4076 EXIST:OPENSSL_FIPS:FUNCTION:
3690EVP_add_alg_module 4077 NOEXIST::FUNCTION: 3691EVP_add_alg_module 4077 EXIST::FUNCTION:
3691int_RAND_init_engine_callbacks 4078 NOEXIST::FUNCTION: 3692int_RAND_init_engine_callbacks 4078 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE
3692int_EVP_CIPHER_set_engine_callbacks 4079 NOEXIST::FUNCTION: 3693int_EVP_CIPHER_set_engine_callbacks 4079 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE
3693int_EVP_MD_init_engine_callbacks 4080 NOEXIST::FUNCTION: 3694int_EVP_MD_init_engine_callbacks 4080 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE
3694FIPS_rand_test_mode 4081 NOEXIST::FUNCTION: 3695FIPS_rand_test_mode 4081 EXIST:OPENSSL_FIPS:FUNCTION:
3695FIPS_rand_reset 4082 NOEXIST::FUNCTION: 3696FIPS_rand_reset 4082 EXIST:OPENSSL_FIPS:FUNCTION:
3696FIPS_dsa_new 4083 NOEXIST::FUNCTION: 3697FIPS_dsa_new 4083 EXIST:OPENSSL_FIPS:FUNCTION:DSA
3697int_RAND_set_callbacks 4084 NOEXIST::FUNCTION: 3698int_RAND_set_callbacks 4084 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE
3698BN_X931_derive_prime_ex 4085 NOEXIST::FUNCTION: 3699BN_X931_derive_prime_ex 4085 EXIST::FUNCTION:
3699int_ERR_lib_init 4086 NOEXIST::FUNCTION: 3700int_ERR_lib_init 4086 EXIST:OPENSSL_FIPS:FUNCTION:
3700int_EVP_CIPHER_init_engine_callbacks 4087 NOEXIST::FUNCTION: 3701int_EVP_CIPHER_init_engine_callbacks 4087 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE
3701FIPS_rsa_free 4088 NOEXIST::FUNCTION: 3702FIPS_rsa_free 4088 EXIST:OPENSSL_FIPS:FUNCTION:RSA
3702FIPS_dsa_sig_encode 4089 NOEXIST::FUNCTION: 3703FIPS_dsa_sig_encode 4089 EXIST:OPENSSL_FIPS:FUNCTION:DSA
3703CRYPTO_dbg_remove_all_info 4090 NOEXIST::FUNCTION: 3704CRYPTO_dbg_remove_all_info 4090 EXIST::FUNCTION:
3704OPENSSL_init 4091 NOEXIST::FUNCTION: 3705OPENSSL_init 4091 EXIST::FUNCTION:
3705private_Camellia_set_key 4092 NOEXIST::FUNCTION: 3706private_Camellia_set_key 4092 EXIST:OPENSSL_FIPS:FUNCTION:CAMELLIA
3706CRYPTO_strdup 4093 EXIST::FUNCTION: 3707CRYPTO_strdup 4093 EXIST::FUNCTION:
3707JPAKE_STEP3A_process 4094 EXIST::FUNCTION:JPAKE 3708JPAKE_STEP3A_process 4094 EXIST::FUNCTION:JPAKE
3708JPAKE_STEP1_release 4095 EXIST::FUNCTION:JPAKE 3709JPAKE_STEP1_release 4095 EXIST::FUNCTION:JPAKE
@@ -3724,457 +3725,4 @@ JPAKE_STEP2_release 4110 EXIST::FUNCTION:JPAKE
3724JPAKE_STEP3A_init 4111 EXIST::FUNCTION:JPAKE 3725JPAKE_STEP3A_init 4111 EXIST::FUNCTION:JPAKE
3725ERR_load_JPAKE_strings 4112 EXIST::FUNCTION:JPAKE 3726ERR_load_JPAKE_strings 4112 EXIST::FUNCTION:JPAKE
3726JPAKE_STEP2_init 4113 EXIST::FUNCTION:JPAKE 3727JPAKE_STEP2_init 4113 EXIST::FUNCTION:JPAKE
3727pqueue_size 4114 EXIST::FUNCTION: 3728ENGINE_load_aesni 4114 EXIST::FUNCTION:ENGINE
3728i2d_TS_ACCURACY 4115 EXIST::FUNCTION:
3729i2d_TS_MSG_IMPRINT_fp 4116 EXIST::FUNCTION:
3730i2d_TS_MSG_IMPRINT 4117 EXIST::FUNCTION:
3731EVP_PKEY_print_public 4118 EXIST::FUNCTION:
3732EVP_PKEY_CTX_new 4119 EXIST::FUNCTION:
3733i2d_TS_TST_INFO 4120 EXIST::FUNCTION:
3734EVP_PKEY_asn1_find 4121 EXIST::FUNCTION:
3735DSO_METHOD_beos 4122 EXIST::FUNCTION:
3736TS_CONF_load_cert 4123 EXIST::FUNCTION:
3737TS_REQ_get_ext 4124 EXIST::FUNCTION:
3738EVP_PKEY_sign_init 4125 EXIST::FUNCTION:
3739ASN1_item_print 4126 EXIST::FUNCTION:
3740TS_TST_INFO_set_nonce 4127 EXIST::FUNCTION:
3741TS_RESP_dup 4128 EXIST::FUNCTION:
3742ENGINE_register_pkey_meths 4129 EXIST::FUNCTION:ENGINE
3743EVP_PKEY_asn1_add0 4130 EXIST::FUNCTION:
3744PKCS7_add0_attrib_signing_time 4131 EXIST::FUNCTION:
3745i2d_TS_TST_INFO_fp 4132 EXIST::FUNCTION:
3746BIO_asn1_get_prefix 4133 EXIST::FUNCTION:
3747TS_TST_INFO_set_time 4134 EXIST::FUNCTION:
3748EVP_PKEY_meth_set_decrypt 4135 EXIST::FUNCTION:
3749EVP_PKEY_set_type_str 4136 EXIST::FUNCTION:
3750EVP_PKEY_CTX_get_keygen_info 4137 EXIST::FUNCTION:
3751TS_REQ_set_policy_id 4138 EXIST::FUNCTION:
3752d2i_TS_RESP_fp 4139 EXIST::FUNCTION:
3753ENGINE_get_pkey_asn1_meth_engine 4140 EXIST:!VMS:FUNCTION:ENGINE
3754ENGINE_get_pkey_asn1_meth_eng 4140 EXIST:VMS:FUNCTION:ENGINE
3755WHIRLPOOL_Init 4141 EXIST:!VMSVAX:FUNCTION:WHIRLPOOL
3756TS_RESP_set_status_info 4142 EXIST::FUNCTION:
3757EVP_PKEY_keygen 4143 EXIST::FUNCTION:
3758EVP_DigestSignInit 4144 EXIST::FUNCTION:
3759TS_ACCURACY_set_millis 4145 EXIST::FUNCTION:
3760TS_REQ_dup 4146 EXIST::FUNCTION:
3761GENERAL_NAME_dup 4147 EXIST::FUNCTION:
3762ASN1_SEQUENCE_ANY_it 4148 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
3763ASN1_SEQUENCE_ANY_it 4148 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
3764WHIRLPOOL 4149 EXIST:!VMSVAX:FUNCTION:WHIRLPOOL
3765X509_STORE_get1_crls 4150 EXIST::FUNCTION:
3766ENGINE_get_pkey_asn1_meth 4151 EXIST::FUNCTION:ENGINE
3767EVP_PKEY_asn1_new 4152 EXIST::FUNCTION:
3768BIO_new_NDEF 4153 EXIST::FUNCTION:
3769ENGINE_get_pkey_meth 4154 EXIST::FUNCTION:ENGINE
3770TS_MSG_IMPRINT_set_algo 4155 EXIST::FUNCTION:
3771i2d_TS_TST_INFO_bio 4156 EXIST::FUNCTION:
3772TS_TST_INFO_set_ordering 4157 EXIST::FUNCTION:
3773TS_TST_INFO_get_ext_by_OBJ 4158 EXIST::FUNCTION:
3774CRYPTO_THREADID_set_pointer 4159 EXIST::FUNCTION:
3775TS_CONF_get_tsa_section 4160 EXIST::FUNCTION:
3776SMIME_write_ASN1 4161 EXIST::FUNCTION:
3777TS_RESP_CTX_set_signer_key 4162 EXIST::FUNCTION:
3778EVP_PKEY_encrypt_old 4163 EXIST::FUNCTION:
3779EVP_PKEY_encrypt_init 4164 EXIST::FUNCTION:
3780CRYPTO_THREADID_cpy 4165 EXIST::FUNCTION:
3781ASN1_PCTX_get_cert_flags 4166 EXIST::FUNCTION:
3782i2d_ESS_SIGNING_CERT 4167 EXIST::FUNCTION:
3783TS_CONF_load_key 4168 EXIST::FUNCTION:
3784i2d_ASN1_SEQUENCE_ANY 4169 EXIST::FUNCTION:
3785d2i_TS_MSG_IMPRINT_bio 4170 EXIST::FUNCTION:
3786EVP_PKEY_asn1_set_public 4171 EXIST::FUNCTION:
3787b2i_PublicKey_bio 4172 EXIST::FUNCTION:
3788BIO_asn1_set_prefix 4173 EXIST::FUNCTION:
3789EVP_PKEY_new_mac_key 4174 EXIST::FUNCTION:
3790BIO_new_CMS 4175 EXIST::FUNCTION:CMS
3791CRYPTO_THREADID_cmp 4176 EXIST::FUNCTION:
3792TS_REQ_ext_free 4177 EXIST::FUNCTION:
3793EVP_PKEY_asn1_set_free 4178 EXIST::FUNCTION:
3794EVP_PKEY_get0_asn1 4179 EXIST::FUNCTION:
3795d2i_NETSCAPE_X509 4180 EXIST::FUNCTION:
3796EVP_PKEY_verify_recover_init 4181 EXIST::FUNCTION:
3797EVP_PKEY_CTX_set_data 4182 EXIST::FUNCTION:
3798EVP_PKEY_keygen_init 4183 EXIST::FUNCTION:
3799TS_RESP_CTX_set_status_info 4184 EXIST::FUNCTION:
3800TS_MSG_IMPRINT_get_algo 4185 EXIST::FUNCTION:
3801TS_REQ_print_bio 4186 EXIST::FUNCTION:
3802EVP_PKEY_CTX_ctrl_str 4187 EXIST::FUNCTION:
3803EVP_PKEY_get_default_digest_nid 4188 EXIST::FUNCTION:
3804PEM_write_bio_PKCS7_stream 4189 EXIST::FUNCTION:
3805TS_MSG_IMPRINT_print_bio 4190 EXIST::FUNCTION:
3806BN_asc2bn 4191 EXIST::FUNCTION:
3807TS_REQ_get_policy_id 4192 EXIST::FUNCTION:
3808ENGINE_set_default_pkey_asn1_meths 4193 EXIST:!VMS:FUNCTION:ENGINE
3809ENGINE_set_def_pkey_asn1_meths 4193 EXIST:VMS:FUNCTION:ENGINE
3810d2i_TS_ACCURACY 4194 EXIST::FUNCTION:
3811DSO_global_lookup 4195 EXIST::FUNCTION:
3812TS_CONF_set_tsa_name 4196 EXIST::FUNCTION:
3813i2d_ASN1_SET_ANY 4197 EXIST::FUNCTION:
3814ENGINE_load_gost 4198 EXIST::FUNCTION:ENGINE,GOST,STATIC_ENGINE
3815WHIRLPOOL_BitUpdate 4199 EXIST:!VMSVAX:FUNCTION:WHIRLPOOL
3816ASN1_PCTX_get_flags 4200 EXIST::FUNCTION:
3817TS_TST_INFO_get_ext_by_NID 4201 EXIST::FUNCTION:
3818TS_RESP_new 4202 EXIST::FUNCTION:
3819ESS_CERT_ID_dup 4203 EXIST::FUNCTION:
3820TS_STATUS_INFO_dup 4204 EXIST::FUNCTION:
3821TS_REQ_delete_ext 4205 EXIST::FUNCTION:
3822EVP_DigestVerifyFinal 4206 EXIST::FUNCTION:
3823EVP_PKEY_print_params 4207 EXIST::FUNCTION:
3824i2d_CMS_bio_stream 4208 EXIST::FUNCTION:CMS
3825TS_REQ_get_msg_imprint 4209 EXIST::FUNCTION:
3826OBJ_find_sigid_by_algs 4210 EXIST::FUNCTION:
3827TS_TST_INFO_get_serial 4211 EXIST::FUNCTION:
3828TS_REQ_get_nonce 4212 EXIST::FUNCTION:
3829X509_PUBKEY_set0_param 4213 EXIST::FUNCTION:
3830EVP_PKEY_CTX_set0_keygen_info 4214 EXIST::FUNCTION:
3831DIST_POINT_set_dpname 4215 EXIST::FUNCTION:
3832i2d_ISSUING_DIST_POINT 4216 EXIST::FUNCTION:
3833ASN1_SET_ANY_it 4217 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
3834ASN1_SET_ANY_it 4217 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
3835EVP_PKEY_CTX_get_data 4218 EXIST::FUNCTION:
3836TS_STATUS_INFO_print_bio 4219 EXIST::FUNCTION:
3837EVP_PKEY_derive_init 4220 EXIST::FUNCTION:
3838d2i_TS_TST_INFO 4221 EXIST::FUNCTION:
3839EVP_PKEY_asn1_add_alias 4222 EXIST::FUNCTION:
3840d2i_TS_RESP_bio 4223 EXIST::FUNCTION:
3841OTHERNAME_cmp 4224 EXIST::FUNCTION:
3842GENERAL_NAME_set0_value 4225 EXIST::FUNCTION:
3843PKCS7_RECIP_INFO_get0_alg 4226 EXIST::FUNCTION:
3844TS_RESP_CTX_new 4227 EXIST::FUNCTION:
3845TS_RESP_set_tst_info 4228 EXIST::FUNCTION:
3846PKCS7_final 4229 EXIST::FUNCTION:
3847EVP_PKEY_base_id 4230 EXIST::FUNCTION:
3848TS_RESP_CTX_set_signer_cert 4231 EXIST::FUNCTION:
3849TS_REQ_set_msg_imprint 4232 EXIST::FUNCTION:
3850EVP_PKEY_CTX_ctrl 4233 EXIST::FUNCTION:
3851TS_CONF_set_digests 4234 EXIST::FUNCTION:
3852d2i_TS_MSG_IMPRINT 4235 EXIST::FUNCTION:
3853EVP_PKEY_meth_set_ctrl 4236 EXIST::FUNCTION:
3854TS_REQ_get_ext_by_NID 4237 EXIST::FUNCTION:
3855PKCS5_pbe_set0_algor 4238 EXIST::FUNCTION:
3856BN_BLINDING_thread_id 4239 EXIST::FUNCTION:
3857TS_ACCURACY_new 4240 EXIST::FUNCTION:
3858X509_CRL_METHOD_free 4241 EXIST::FUNCTION:
3859ASN1_PCTX_get_nm_flags 4242 EXIST::FUNCTION:
3860EVP_PKEY_meth_set_sign 4243 EXIST::FUNCTION:
3861CRYPTO_THREADID_current 4244 EXIST::FUNCTION:
3862EVP_PKEY_decrypt_init 4245 EXIST::FUNCTION:
3863NETSCAPE_X509_free 4246 EXIST::FUNCTION:
3864i2b_PVK_bio 4247 EXIST::FUNCTION:RC4
3865EVP_PKEY_print_private 4248 EXIST::FUNCTION:
3866GENERAL_NAME_get0_value 4249 EXIST::FUNCTION:
3867b2i_PVK_bio 4250 EXIST::FUNCTION:RC4
3868ASN1_UTCTIME_adj 4251 EXIST::FUNCTION:
3869TS_TST_INFO_new 4252 EXIST::FUNCTION:
3870EVP_MD_do_all_sorted 4253 EXIST::FUNCTION:
3871TS_CONF_set_default_engine 4254 EXIST::FUNCTION:
3872TS_ACCURACY_set_seconds 4255 EXIST::FUNCTION:
3873TS_TST_INFO_get_time 4256 EXIST::FUNCTION:
3874PKCS8_pkey_get0 4257 EXIST::FUNCTION:
3875EVP_PKEY_asn1_get0 4258 EXIST::FUNCTION:
3876OBJ_add_sigid 4259 EXIST::FUNCTION:
3877PKCS7_SIGNER_INFO_sign 4260 EXIST::FUNCTION:
3878EVP_PKEY_paramgen_init 4261 EXIST::FUNCTION:
3879EVP_PKEY_sign 4262 EXIST::FUNCTION:
3880OBJ_sigid_free 4263 EXIST::FUNCTION:
3881EVP_PKEY_meth_set_init 4264 EXIST::FUNCTION:
3882d2i_ESS_ISSUER_SERIAL 4265 EXIST::FUNCTION:
3883ISSUING_DIST_POINT_new 4266 EXIST::FUNCTION:
3884ASN1_TIME_adj 4267 EXIST::FUNCTION:
3885TS_OBJ_print_bio 4268 EXIST::FUNCTION:
3886EVP_PKEY_meth_set_verify_recover 4269 EXIST:!VMS:FUNCTION:
3887EVP_PKEY_meth_set_vrfy_recover 4269 EXIST:VMS:FUNCTION:
3888TS_RESP_get_status_info 4270 EXIST::FUNCTION:
3889CMS_stream 4271 EXIST::FUNCTION:CMS
3890EVP_PKEY_CTX_set_cb 4272 EXIST::FUNCTION:
3891PKCS7_to_TS_TST_INFO 4273 EXIST::FUNCTION:
3892ASN1_PCTX_get_oid_flags 4274 EXIST::FUNCTION:
3893TS_TST_INFO_add_ext 4275 EXIST::FUNCTION:
3894EVP_PKEY_meth_set_derive 4276 EXIST::FUNCTION:
3895i2d_TS_RESP_fp 4277 EXIST::FUNCTION:
3896i2d_TS_MSG_IMPRINT_bio 4278 EXIST::FUNCTION:
3897TS_RESP_CTX_set_accuracy 4279 EXIST::FUNCTION:
3898TS_REQ_set_nonce 4280 EXIST::FUNCTION:
3899ESS_CERT_ID_new 4281 EXIST::FUNCTION:
3900ENGINE_pkey_asn1_find_str 4282 EXIST::FUNCTION:ENGINE
3901TS_REQ_get_ext_count 4283 EXIST::FUNCTION:
3902BUF_reverse 4284 EXIST::FUNCTION:
3903TS_TST_INFO_print_bio 4285 EXIST::FUNCTION:
3904d2i_ISSUING_DIST_POINT 4286 EXIST::FUNCTION:
3905ENGINE_get_pkey_meths 4287 EXIST::FUNCTION:ENGINE
3906i2b_PrivateKey_bio 4288 EXIST::FUNCTION:
3907i2d_TS_RESP 4289 EXIST::FUNCTION:
3908b2i_PublicKey 4290 EXIST::FUNCTION:
3909TS_VERIFY_CTX_cleanup 4291 EXIST::FUNCTION:
3910TS_STATUS_INFO_free 4292 EXIST::FUNCTION:
3911TS_RESP_verify_token 4293 EXIST::FUNCTION:
3912OBJ_bsearch_ex_ 4294 EXIST::FUNCTION:
3913ASN1_bn_print 4295 EXIST::FUNCTION:BIO
3914EVP_PKEY_asn1_get_count 4296 EXIST::FUNCTION:
3915ENGINE_register_pkey_asn1_meths 4297 EXIST::FUNCTION:ENGINE
3916ASN1_PCTX_set_nm_flags 4298 EXIST::FUNCTION:
3917EVP_DigestVerifyInit 4299 EXIST::FUNCTION:
3918ENGINE_set_default_pkey_meths 4300 EXIST::FUNCTION:ENGINE
3919TS_TST_INFO_get_policy_id 4301 EXIST::FUNCTION:
3920TS_REQ_get_cert_req 4302 EXIST::FUNCTION:
3921X509_CRL_set_meth_data 4303 EXIST::FUNCTION:
3922PKCS8_pkey_set0 4304 EXIST::FUNCTION:
3923ASN1_STRING_copy 4305 EXIST::FUNCTION:
3924d2i_TS_TST_INFO_fp 4306 EXIST::FUNCTION:
3925X509_CRL_match 4307 EXIST::FUNCTION:
3926EVP_PKEY_asn1_set_private 4308 EXIST::FUNCTION:
3927TS_TST_INFO_get_ext_d2i 4309 EXIST::FUNCTION:
3928TS_RESP_CTX_add_policy 4310 EXIST::FUNCTION:
3929d2i_TS_RESP 4311 EXIST::FUNCTION:
3930TS_CONF_load_certs 4312 EXIST::FUNCTION:
3931TS_TST_INFO_get_msg_imprint 4313 EXIST::FUNCTION:
3932ERR_load_TS_strings 4314 EXIST::FUNCTION:
3933TS_TST_INFO_get_version 4315 EXIST::FUNCTION:
3934EVP_PKEY_CTX_dup 4316 EXIST::FUNCTION:
3935EVP_PKEY_meth_set_verify 4317 EXIST::FUNCTION:
3936i2b_PublicKey_bio 4318 EXIST::FUNCTION:
3937TS_CONF_set_certs 4319 EXIST::FUNCTION:
3938EVP_PKEY_asn1_get0_info 4320 EXIST::FUNCTION:
3939TS_VERIFY_CTX_free 4321 EXIST::FUNCTION:
3940TS_REQ_get_ext_by_critical 4322 EXIST::FUNCTION:
3941TS_RESP_CTX_set_serial_cb 4323 EXIST::FUNCTION:
3942X509_CRL_get_meth_data 4324 EXIST::FUNCTION:
3943TS_RESP_CTX_set_time_cb 4325 EXIST::FUNCTION:
3944TS_MSG_IMPRINT_get_msg 4326 EXIST::FUNCTION:
3945TS_TST_INFO_ext_free 4327 EXIST::FUNCTION:
3946TS_REQ_get_version 4328 EXIST::FUNCTION:
3947TS_REQ_add_ext 4329 EXIST::FUNCTION:
3948EVP_PKEY_CTX_set_app_data 4330 EXIST::FUNCTION:
3949OBJ_bsearch_ 4331 EXIST::FUNCTION:
3950EVP_PKEY_meth_set_verifyctx 4332 EXIST::FUNCTION:
3951i2d_PKCS7_bio_stream 4333 EXIST::FUNCTION:
3952CRYPTO_THREADID_set_numeric 4334 EXIST::FUNCTION:
3953PKCS7_sign_add_signer 4335 EXIST::FUNCTION:
3954d2i_TS_TST_INFO_bio 4336 EXIST::FUNCTION:
3955TS_TST_INFO_get_ordering 4337 EXIST::FUNCTION:
3956TS_RESP_print_bio 4338 EXIST::FUNCTION:
3957TS_TST_INFO_get_exts 4339 EXIST::FUNCTION:
3958HMAC_CTX_copy 4340 EXIST::FUNCTION:HMAC
3959PKCS5_pbe2_set_iv 4341 EXIST::FUNCTION:
3960ENGINE_get_pkey_asn1_meths 4342 EXIST::FUNCTION:ENGINE
3961b2i_PrivateKey 4343 EXIST::FUNCTION:
3962EVP_PKEY_CTX_get_app_data 4344 EXIST::FUNCTION:
3963TS_REQ_set_cert_req 4345 EXIST::FUNCTION:
3964CRYPTO_THREADID_set_callback 4346 EXIST::FUNCTION:
3965TS_CONF_set_serial 4347 EXIST::FUNCTION:
3966TS_TST_INFO_free 4348 EXIST::FUNCTION:
3967d2i_TS_REQ_fp 4349 EXIST::FUNCTION:
3968TS_RESP_verify_response 4350 EXIST::FUNCTION:
3969i2d_ESS_ISSUER_SERIAL 4351 EXIST::FUNCTION:
3970TS_ACCURACY_get_seconds 4352 EXIST::FUNCTION:
3971EVP_CIPHER_do_all 4353 EXIST::FUNCTION:
3972b2i_PrivateKey_bio 4354 EXIST::FUNCTION:
3973OCSP_CERTID_dup 4355 EXIST::FUNCTION:
3974X509_PUBKEY_get0_param 4356 EXIST::FUNCTION:
3975TS_MSG_IMPRINT_dup 4357 EXIST::FUNCTION:
3976PKCS7_print_ctx 4358 EXIST::FUNCTION:
3977i2d_TS_REQ_bio 4359 EXIST::FUNCTION:
3978EVP_whirlpool 4360 EXIST:!VMSVAX:FUNCTION:WHIRLPOOL
3979EVP_PKEY_asn1_set_param 4361 EXIST::FUNCTION:
3980EVP_PKEY_meth_set_encrypt 4362 EXIST::FUNCTION:
3981ASN1_PCTX_set_flags 4363 EXIST::FUNCTION:
3982i2d_ESS_CERT_ID 4364 EXIST::FUNCTION:
3983TS_VERIFY_CTX_new 4365 EXIST::FUNCTION:
3984TS_RESP_CTX_set_extension_cb 4366 EXIST::FUNCTION:
3985ENGINE_register_all_pkey_meths 4367 EXIST::FUNCTION:ENGINE
3986TS_RESP_CTX_set_status_info_cond 4368 EXIST:!VMS:FUNCTION:
3987TS_RESP_CTX_set_stat_info_cond 4368 EXIST:VMS:FUNCTION:
3988EVP_PKEY_verify 4369 EXIST::FUNCTION:
3989WHIRLPOOL_Final 4370 EXIST:!VMSVAX:FUNCTION:WHIRLPOOL
3990X509_CRL_METHOD_new 4371 EXIST::FUNCTION:
3991EVP_DigestSignFinal 4372 EXIST::FUNCTION:
3992TS_RESP_CTX_set_def_policy 4373 EXIST::FUNCTION:
3993NETSCAPE_X509_it 4374 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
3994NETSCAPE_X509_it 4374 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
3995TS_RESP_create_response 4375 EXIST::FUNCTION:
3996PKCS7_SIGNER_INFO_get0_algs 4376 EXIST::FUNCTION:
3997TS_TST_INFO_get_nonce 4377 EXIST::FUNCTION:
3998EVP_PKEY_decrypt_old 4378 EXIST::FUNCTION:
3999TS_TST_INFO_set_policy_id 4379 EXIST::FUNCTION:
4000TS_CONF_set_ess_cert_id_chain 4380 EXIST::FUNCTION:
4001EVP_PKEY_CTX_get0_pkey 4381 EXIST::FUNCTION:
4002d2i_TS_REQ 4382 EXIST::FUNCTION:
4003EVP_PKEY_asn1_find_str 4383 EXIST::FUNCTION:
4004BIO_f_asn1 4384 EXIST::FUNCTION:
4005ESS_SIGNING_CERT_new 4385 EXIST::FUNCTION:
4006EVP_PBE_find 4386 EXIST::FUNCTION:
4007X509_CRL_get0_by_cert 4387 EXIST::FUNCTION:
4008EVP_PKEY_derive 4388 EXIST::FUNCTION:
4009i2d_TS_REQ 4389 EXIST::FUNCTION:
4010TS_TST_INFO_delete_ext 4390 EXIST::FUNCTION:
4011ESS_ISSUER_SERIAL_free 4391 EXIST::FUNCTION:
4012ASN1_PCTX_set_str_flags 4392 EXIST::FUNCTION:
4013ENGINE_get_pkey_asn1_meth_str 4393 EXIST::FUNCTION:ENGINE
4014TS_CONF_set_signer_key 4394 EXIST::FUNCTION:
4015TS_ACCURACY_get_millis 4395 EXIST::FUNCTION:
4016TS_RESP_get_token 4396 EXIST::FUNCTION:
4017TS_ACCURACY_dup 4397 EXIST::FUNCTION:
4018ENGINE_register_all_pkey_asn1_meths 4398 EXIST:!VMS:FUNCTION:ENGINE
4019ENGINE_reg_all_pkey_asn1_meths 4398 EXIST:VMS:FUNCTION:ENGINE
4020X509_CRL_set_default_method 4399 EXIST::FUNCTION:
4021CRYPTO_THREADID_hash 4400 EXIST::FUNCTION:
4022CMS_ContentInfo_print_ctx 4401 EXIST::FUNCTION:CMS
4023TS_RESP_free 4402 EXIST::FUNCTION:
4024ISSUING_DIST_POINT_free 4403 EXIST::FUNCTION:
4025ESS_ISSUER_SERIAL_new 4404 EXIST::FUNCTION:
4026CMS_add1_crl 4405 EXIST::FUNCTION:CMS
4027PKCS7_add1_attrib_digest 4406 EXIST::FUNCTION:
4028TS_RESP_CTX_add_md 4407 EXIST::FUNCTION:
4029TS_TST_INFO_dup 4408 EXIST::FUNCTION:
4030ENGINE_set_pkey_asn1_meths 4409 EXIST::FUNCTION:ENGINE
4031PEM_write_bio_Parameters 4410 EXIST::FUNCTION:
4032TS_TST_INFO_get_accuracy 4411 EXIST::FUNCTION:
4033X509_CRL_get0_by_serial 4412 EXIST::FUNCTION:
4034TS_TST_INFO_set_version 4413 EXIST::FUNCTION:
4035TS_RESP_CTX_get_tst_info 4414 EXIST::FUNCTION:
4036TS_RESP_verify_signature 4415 EXIST::FUNCTION:
4037CRYPTO_THREADID_get_callback 4416 EXIST::FUNCTION:
4038TS_TST_INFO_get_tsa 4417 EXIST::FUNCTION:
4039TS_STATUS_INFO_new 4418 EXIST::FUNCTION:
4040EVP_PKEY_CTX_get_cb 4419 EXIST::FUNCTION:
4041TS_REQ_get_ext_d2i 4420 EXIST::FUNCTION:
4042GENERAL_NAME_set0_othername 4421 EXIST::FUNCTION:
4043TS_TST_INFO_get_ext_count 4422 EXIST::FUNCTION:
4044TS_RESP_CTX_get_request 4423 EXIST::FUNCTION:
4045i2d_NETSCAPE_X509 4424 EXIST::FUNCTION:
4046ENGINE_get_pkey_meth_engine 4425 EXIST::FUNCTION:ENGINE
4047EVP_PKEY_meth_set_signctx 4426 EXIST::FUNCTION:
4048EVP_PKEY_asn1_copy 4427 EXIST::FUNCTION:
4049ASN1_TYPE_cmp 4428 EXIST::FUNCTION:
4050EVP_CIPHER_do_all_sorted 4429 EXIST::FUNCTION:
4051EVP_PKEY_CTX_free 4430 EXIST::FUNCTION:
4052ISSUING_DIST_POINT_it 4431 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
4053ISSUING_DIST_POINT_it 4431 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
4054d2i_TS_MSG_IMPRINT_fp 4432 EXIST::FUNCTION:
4055X509_STORE_get1_certs 4433 EXIST::FUNCTION:
4056EVP_PKEY_CTX_get_operation 4434 EXIST::FUNCTION:
4057d2i_ESS_SIGNING_CERT 4435 EXIST::FUNCTION:
4058TS_CONF_set_ordering 4436 EXIST::FUNCTION:
4059EVP_PBE_alg_add_type 4437 EXIST::FUNCTION:
4060TS_REQ_set_version 4438 EXIST::FUNCTION:
4061EVP_PKEY_get0 4439 EXIST::FUNCTION:
4062BIO_asn1_set_suffix 4440 EXIST::FUNCTION:
4063i2d_TS_STATUS_INFO 4441 EXIST::FUNCTION:
4064EVP_MD_do_all 4442 EXIST::FUNCTION:
4065TS_TST_INFO_set_accuracy 4443 EXIST::FUNCTION:
4066PKCS7_add_attrib_content_type 4444 EXIST::FUNCTION:
4067ERR_remove_thread_state 4445 EXIST::FUNCTION:
4068EVP_PKEY_meth_add0 4446 EXIST::FUNCTION:
4069TS_TST_INFO_set_tsa 4447 EXIST::FUNCTION:
4070EVP_PKEY_meth_new 4448 EXIST::FUNCTION:
4071WHIRLPOOL_Update 4449 EXIST:!VMSVAX:FUNCTION:WHIRLPOOL
4072TS_CONF_set_accuracy 4450 EXIST::FUNCTION:
4073ASN1_PCTX_set_oid_flags 4451 EXIST::FUNCTION:
4074ESS_SIGNING_CERT_dup 4452 EXIST::FUNCTION:
4075d2i_TS_REQ_bio 4453 EXIST::FUNCTION:
4076X509_time_adj_ex 4454 EXIST::FUNCTION:
4077TS_RESP_CTX_add_flags 4455 EXIST::FUNCTION:
4078d2i_TS_STATUS_INFO 4456 EXIST::FUNCTION:
4079TS_MSG_IMPRINT_set_msg 4457 EXIST::FUNCTION:
4080BIO_asn1_get_suffix 4458 EXIST::FUNCTION:
4081TS_REQ_free 4459 EXIST::FUNCTION:
4082EVP_PKEY_meth_free 4460 EXIST::FUNCTION:
4083TS_REQ_get_exts 4461 EXIST::FUNCTION:
4084TS_RESP_CTX_set_clock_precision_digits 4462 EXIST:!VMS:FUNCTION:
4085TS_RESP_CTX_set_clk_prec_digits 4462 EXIST:VMS:FUNCTION:
4086TS_RESP_CTX_add_failure_info 4463 EXIST::FUNCTION:
4087i2d_TS_RESP_bio 4464 EXIST::FUNCTION:
4088EVP_PKEY_CTX_get0_peerkey 4465 EXIST::FUNCTION:
4089PEM_write_bio_CMS_stream 4466 EXIST::FUNCTION:CMS
4090TS_REQ_new 4467 EXIST::FUNCTION:
4091TS_MSG_IMPRINT_new 4468 EXIST::FUNCTION:
4092EVP_PKEY_meth_find 4469 EXIST::FUNCTION:
4093EVP_PKEY_id 4470 EXIST::FUNCTION:
4094TS_TST_INFO_set_serial 4471 EXIST::FUNCTION:
4095a2i_GENERAL_NAME 4472 EXIST::FUNCTION:
4096TS_CONF_set_crypto_device 4473 EXIST::FUNCTION:
4097EVP_PKEY_verify_init 4474 EXIST::FUNCTION:
4098TS_CONF_set_policies 4475 EXIST::FUNCTION:
4099ASN1_PCTX_new 4476 EXIST::FUNCTION:
4100ESS_CERT_ID_free 4477 EXIST::FUNCTION:
4101ENGINE_unregister_pkey_meths 4478 EXIST::FUNCTION:ENGINE
4102TS_MSG_IMPRINT_free 4479 EXIST::FUNCTION:
4103TS_VERIFY_CTX_init 4480 EXIST::FUNCTION:
4104PKCS7_stream 4481 EXIST::FUNCTION:
4105TS_RESP_CTX_set_certs 4482 EXIST::FUNCTION:
4106TS_CONF_set_def_policy 4483 EXIST::FUNCTION:
4107ASN1_GENERALIZEDTIME_adj 4484 EXIST::FUNCTION:
4108NETSCAPE_X509_new 4485 EXIST::FUNCTION:
4109TS_ACCURACY_free 4486 EXIST::FUNCTION:
4110TS_RESP_get_tst_info 4487 EXIST::FUNCTION:
4111EVP_PKEY_derive_set_peer 4488 EXIST::FUNCTION:
4112PEM_read_bio_Parameters 4489 EXIST::FUNCTION:
4113TS_CONF_set_clock_precision_digits 4490 EXIST:!VMS:FUNCTION:
4114TS_CONF_set_clk_prec_digits 4490 EXIST:VMS:FUNCTION:
4115ESS_ISSUER_SERIAL_dup 4491 EXIST::FUNCTION:
4116TS_ACCURACY_get_micros 4492 EXIST::FUNCTION:
4117ASN1_PCTX_get_str_flags 4493 EXIST::FUNCTION:
4118NAME_CONSTRAINTS_check 4494 EXIST::FUNCTION:
4119ASN1_BIT_STRING_check 4495 EXIST::FUNCTION:
4120X509_check_akid 4496 EXIST::FUNCTION:
4121ENGINE_unregister_pkey_asn1_meths 4497 EXIST:!VMS:FUNCTION:ENGINE
4122ENGINE_unreg_pkey_asn1_meths 4497 EXIST:VMS:FUNCTION:ENGINE
4123ASN1_PCTX_free 4498 EXIST::FUNCTION:
4124PEM_write_bio_ASN1_stream 4499 EXIST::FUNCTION:
4125i2d_ASN1_bio_stream 4500 EXIST::FUNCTION:
4126TS_X509_ALGOR_print_bio 4501 EXIST::FUNCTION:
4127EVP_PKEY_meth_set_cleanup 4502 EXIST::FUNCTION:
4128EVP_PKEY_asn1_free 4503 EXIST::FUNCTION:
4129ESS_SIGNING_CERT_free 4504 EXIST::FUNCTION:
4130TS_TST_INFO_set_msg_imprint 4505 EXIST::FUNCTION:
4131GENERAL_NAME_cmp 4506 EXIST::FUNCTION:
4132d2i_ASN1_SET_ANY 4507 EXIST::FUNCTION:
4133ENGINE_set_pkey_meths 4508 EXIST::FUNCTION:ENGINE
4134i2d_TS_REQ_fp 4509 EXIST::FUNCTION:
4135d2i_ASN1_SEQUENCE_ANY 4510 EXIST::FUNCTION:
4136GENERAL_NAME_get0_otherName 4511 EXIST::FUNCTION:
4137d2i_ESS_CERT_ID 4512 EXIST::FUNCTION:
4138OBJ_find_sigid_algs 4513 EXIST::FUNCTION:
4139EVP_PKEY_meth_set_keygen 4514 EXIST::FUNCTION:
4140PKCS5_PBKDF2_HMAC 4515 EXIST::FUNCTION:
4141EVP_PKEY_paramgen 4516 EXIST::FUNCTION:
4142EVP_PKEY_meth_set_paramgen 4517 EXIST::FUNCTION:
4143BIO_new_PKCS7 4518 EXIST::FUNCTION:
4144EVP_PKEY_verify_recover 4519 EXIST::FUNCTION:
4145TS_ext_print_bio 4520 EXIST::FUNCTION:
4146TS_ASN1_INTEGER_print_bio 4521 EXIST::FUNCTION:
4147check_defer 4522 EXIST::FUNCTION:
4148DSO_pathbyaddr 4523 EXIST::FUNCTION:
4149EVP_PKEY_set_type 4524 EXIST::FUNCTION:
4150TS_ACCURACY_set_micros 4525 EXIST::FUNCTION:
4151TS_REQ_to_TS_VERIFY_CTX 4526 EXIST::FUNCTION:
4152EVP_PKEY_meth_set_copy 4527 EXIST::FUNCTION:
4153ASN1_PCTX_set_cert_flags 4528 EXIST::FUNCTION:
4154TS_TST_INFO_get_ext 4529 EXIST::FUNCTION:
4155EVP_PKEY_asn1_set_ctrl 4530 EXIST::FUNCTION:
4156TS_TST_INFO_get_ext_by_critical 4531 EXIST::FUNCTION:
4157EVP_PKEY_CTX_new_id 4532 EXIST::FUNCTION:
4158TS_REQ_get_ext_by_OBJ 4533 EXIST::FUNCTION:
4159TS_CONF_set_signer_cert 4534 EXIST::FUNCTION:
4160X509_NAME_hash_old 4535 EXIST::FUNCTION:
4161ASN1_TIME_set_string 4536 EXIST::FUNCTION:
4162EVP_MD_flags 4537 EXIST::FUNCTION:
4163TS_RESP_CTX_free 4538 EXIST::FUNCTION:
4164DSAparams_dup 4539 EXIST::FUNCTION:DSA
4165DHparams_dup 4540 EXIST::FUNCTION:DH
4166OCSP_REQ_CTX_add1_header 4541 EXIST::FUNCTION:
4167OCSP_REQ_CTX_set1_req 4542 EXIST::FUNCTION:
4168X509_STORE_set_verify_cb 4543 EXIST::FUNCTION:
4169X509_STORE_CTX_get0_current_crl 4544 EXIST::FUNCTION:
4170X509_STORE_CTX_get0_parent_ctx 4545 EXIST::FUNCTION:
4171X509_STORE_CTX_get0_current_issuer 4546 EXIST:!VMS:FUNCTION:
4172X509_STORE_CTX_get0_cur_issuer 4546 EXIST:VMS:FUNCTION:
4173X509_issuer_name_hash_old 4547 EXIST::FUNCTION:MD5
4174X509_subject_name_hash_old 4548 EXIST::FUNCTION:MD5
4175EVP_CIPHER_CTX_copy 4549 EXIST::FUNCTION:
4176UI_method_get_prompt_constructor 4550 EXIST:!VMS:FUNCTION:
4177UI_method_get_prompt_constructr 4550 EXIST:VMS:FUNCTION:
4178UI_method_set_prompt_constructor 4551 EXIST:!VMS:FUNCTION:
4179UI_method_set_prompt_constructr 4551 EXIST:VMS:FUNCTION:
4180EVP_read_pw_string_min 4552 EXIST::FUNCTION:
diff --git a/src/lib/libcrypto/util/mk1mf.pl b/src/lib/libcrypto/util/mk1mf.pl
index 280e9de1ad..4c16f1dc9e 100644
--- a/src/lib/libcrypto/util/mk1mf.pl
+++ b/src/lib/libcrypto/util/mk1mf.pl
@@ -6,56 +6,36 @@
6# 6#
7 7
8$INSTALLTOP="/usr/local/ssl"; 8$INSTALLTOP="/usr/local/ssl";
9$OPENSSLDIR="/usr/local/ssl";
10$OPTIONS=""; 9$OPTIONS="";
11$ssl_version=""; 10$ssl_version="";
12$banner="\t\@echo Building OpenSSL"; 11$banner="\t\@echo Building OpenSSL";
13 12
14my $no_static_engine = 1; 13my $no_static_engine = 0;
15my $engines = ""; 14my $engines = "";
16local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic 15local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic
17local $zlib_lib = ""; 16local $zlib_lib = "";
18local $perl_asm = 0; # 1 to autobuild asm files from perl scripts
19
20# Options to import from top level Makefile
21
22my %mf_import = (
23 VERSION => \$ssl_version,
24 OPTIONS => \$OPTIONS,
25 INSTALLTOP => \$INSTALLTOP,
26 OPENSSLDIR => \$OPENSSLDIR,
27 PLATFORM => \$mf_platform,
28 CFLAG => \$mf_cflag,
29 DEPFLAG => \$mf_depflag,
30 CPUID_OBJ => \$mf_cpuid_asm,
31 BN_ASM => \$mf_bn_asm,
32 DES_ENC => \$mf_des_asm,
33 AES_ENC => \$mf_aes_asm,
34 BF_ENC => \$mf_bf_asm,
35 CAST_ENC => \$mf_cast_asm,
36 RC4_ENC => \$mf_rc4_asm,
37 RC5_ENC => \$mf_rc5_asm,
38 MD5_ASM_OBJ => \$mf_md5_asm,
39 SHA1_ASM_OBJ => \$mf_sha_asm,
40 RMD160_ASM_OBJ => \$mf_rmd_asm,
41 WP_ASM_OBJ => \$mf_wp_asm,
42 CMLL_ENC => \$mf_cm_asm
43);
44 17
18local $fips_canister_path = "";
19my $fips_premain_dso_exe_path = "";
20my $fips_premain_c_path = "";
21my $fips_sha1_exe_path = "";
22
23local $fipscanisterbuild = 0;
24local $fipsdso = 0;
25
26my $fipslibdir = "";
27my $baseaddr = "";
28
29my $ex_l_libs = "";
45 30
46open(IN,"<Makefile") || die "unable to open Makefile!\n"; 31open(IN,"<Makefile") || die "unable to open Makefile!\n";
47while(<IN>) { 32while(<IN>) {
48 my ($mf_opt, $mf_ref); 33 $ssl_version=$1 if (/^VERSION=(.*)$/);
49 while (($mf_opt, $mf_ref) = each %mf_import) { 34 $OPTIONS=$1 if (/^OPTIONS=(.*)$/);
50 if (/^$mf_opt\s*=\s*(.*)$/) { 35 $INSTALLTOP=$1 if (/^INSTALLTOP=(.*$)/);
51 $$mf_ref = $1;
52 }
53 }
54} 36}
55close(IN); 37close(IN);
56 38
57$debug = 1 if $mf_platform =~ /^debug-/;
58
59die "Makefile is not the toplevel Makefile!\n" if $ssl_version eq ""; 39die "Makefile is not the toplevel Makefile!\n" if $ssl_version eq "";
60 40
61$infile="MINFO"; 41$infile="MINFO";
@@ -78,7 +58,6 @@ $infile="MINFO";
78 "netware-libc", "CodeWarrior for NetWare - LibC - with WinSock Sockets", 58 "netware-libc", "CodeWarrior for NetWare - LibC - with WinSock Sockets",
79 "netware-libc-bsdsock", "CodeWarrior for NetWare - LibC - with BSD Sockets", 59 "netware-libc-bsdsock", "CodeWarrior for NetWare - LibC - with BSD Sockets",
80 "default","cc under unix", 60 "default","cc under unix",
81 "auto", "auto detect from top level Makefile"
82 ); 61 );
83 62
84$platform=""; 63$platform="";
@@ -165,12 +144,6 @@ $bin_dir=(defined($VARS{'BIN'}))?$VARS{'BIN'}:'';
165$NT=0; 144$NT=0;
166 145
167push(@INC,"util/pl","pl"); 146push(@INC,"util/pl","pl");
168
169if ($platform eq "auto") {
170 $platform = $mf_platform;
171 print STDERR "Imported platform $mf_platform\n";
172}
173
174if (($platform =~ /VC-(.+)/)) 147if (($platform =~ /VC-(.+)/))
175 { 148 {
176 $FLAVOR=$1; 149 $FLAVOR=$1;
@@ -255,12 +228,13 @@ $cflags.=" -DOPENSSL_NO_DES" if $no_des;
255$cflags.=" -DOPENSSL_NO_RSA" if $no_rsa; 228$cflags.=" -DOPENSSL_NO_RSA" if $no_rsa;
256$cflags.=" -DOPENSSL_NO_DSA" if $no_dsa; 229$cflags.=" -DOPENSSL_NO_DSA" if $no_dsa;
257$cflags.=" -DOPENSSL_NO_DH" if $no_dh; 230$cflags.=" -DOPENSSL_NO_DH" if $no_dh;
258$cflags.=" -DOPENSSL_NO_WHIRLPOOL" if $no_whirlpool;
259$cflags.=" -DOPENSSL_NO_SOCK" if $no_sock; 231$cflags.=" -DOPENSSL_NO_SOCK" if $no_sock;
260$cflags.=" -DOPENSSL_NO_SSL2" if $no_ssl2; 232$cflags.=" -DOPENSSL_NO_SSL2" if $no_ssl2;
261$cflags.=" -DOPENSSL_NO_SSL3" if $no_ssl3; 233$cflags.=" -DOPENSSL_NO_SSL3" if $no_ssl3;
262$cflags.=" -DOPENSSL_NO_TLSEXT" if $no_tlsext; 234$cflags.=" -DOPENSSL_NO_TLSEXT" if $no_tlsext;
263$cflags.=" -DOPENSSL_NO_CMS" if $no_cms; 235$cflags.=" -DOPENSSL_NO_CMS" if $no_cms;
236$cflags.=" -DOPENSSL_NO_JPAKE" if $no_jpake;
237$cflags.=" -DOPENSSL_NO_CAPIENG" if $no_capieng;
264$cflags.=" -DOPENSSL_NO_ERR" if $no_err; 238$cflags.=" -DOPENSSL_NO_ERR" if $no_err;
265$cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5; 239$cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5;
266$cflags.=" -DOPENSSL_NO_EC" if $no_ec; 240$cflags.=" -DOPENSSL_NO_EC" if $no_ec;
@@ -268,7 +242,7 @@ $cflags.=" -DOPENSSL_NO_ECDSA" if $no_ecdsa;
268$cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh; 242$cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh;
269$cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine; 243$cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine;
270$cflags.=" -DOPENSSL_NO_HW" if $no_hw; 244$cflags.=" -DOPENSSL_NO_HW" if $no_hw;
271$cflags.=" -DOPENSSL_NO_JPAKE" if $no_jpake; 245$cflags.=" -DOPENSSL_FIPS" if $fips;
272$cflags.= " -DZLIB" if $zlib_opt; 246$cflags.= " -DZLIB" if $zlib_opt;
273$cflags.= " -DZLIB_SHARED" if $zlib_opt == 2; 247$cflags.= " -DZLIB_SHARED" if $zlib_opt == 2;
274 248
@@ -290,9 +264,9 @@ else
290 264
291$ex_libs="$l_flags$ex_libs" if ($l_flags ne ""); 265$ex_libs="$l_flags$ex_libs" if ($l_flags ne "");
292 266
293
294%shlib_ex_cflags=("SSL" => " -DOPENSSL_BUILD_SHLIBSSL", 267%shlib_ex_cflags=("SSL" => " -DOPENSSL_BUILD_SHLIBSSL",
295 "CRYPTO" => " -DOPENSSL_BUILD_SHLIBCRYPTO"); 268 "CRYPTO" => " -DOPENSSL_BUILD_SHLIBCRYPTO",
269 "FIPS" => " -DOPENSSL_BUILD_SHLIBCRYPTO");
296 270
297if ($msdos) 271if ($msdos)
298 { 272 {
@@ -306,7 +280,6 @@ if ($msdos)
306$link="$bin_dir$link" if ($link !~ /^\$/); 280$link="$bin_dir$link" if ($link !~ /^\$/);
307 281
308$INSTALLTOP =~ s|/|$o|g; 282$INSTALLTOP =~ s|/|$o|g;
309$OPENSSLDIR =~ s|/|$o|g;
310 283
311############################################# 284#############################################
312# We parse in input file and 'store' info for later printing. 285# We parse in input file and 'store' info for later printing.
@@ -321,11 +294,21 @@ for (;;)
321 { 294 {
322 if ($lib ne "") 295 if ($lib ne "")
323 { 296 {
324 $uc=$lib; 297 if ($fips && $dir =~ /^fips/)
325 $uc =~ s/^lib(.*)\.a/$1/; 298 {
326 $uc =~ tr/a-z/A-Z/; 299 $uc = "FIPS";
327 $lib_nam{$uc}=$uc; 300 }
328 $lib_obj{$uc}.=$libobj." "; 301 else
302 {
303 $uc=$lib;
304 $uc =~ s/^lib(.*)\.a/$1/;
305 $uc =~ tr/a-z/A-Z/;
306 }
307 if (($uc ne "FIPS") || $fipscanisterbuild)
308 {
309 $lib_nam{$uc}=$uc;
310 $lib_obj{$uc}.=$libobj." ";
311 }
329 } 312 }
330 last if ($val eq "FINISHED"); 313 last if ($val eq "FINISHED");
331 $lib=""; 314 $lib="";
@@ -368,11 +351,130 @@ for (;;)
368 if ($key eq "LIBNAMES" && $dir eq "engines" && $no_static_engine) 351 if ($key eq "LIBNAMES" && $dir eq "engines" && $no_static_engine)
369 { $engines.=$val } 352 { $engines.=$val }
370 353
354 if ($key eq "FIPS_EX_OBJ")
355 {
356 $fips_ex_obj=&var_add("crypto",$val,0);
357 }
358
359 if ($key eq "FIPSLIBDIR")
360 {
361 $fipslibdir=$val;
362 $fipslibdir =~ s/\/$//;
363 $fipslibdir =~ s/\//$o/g;
364 }
365
366 if ($key eq "BASEADDR")
367 { $baseaddr=$val;}
368
371 if (!($_=<IN>)) 369 if (!($_=<IN>))
372 { $_="RELATIVE_DIRECTORY=FINISHED\n"; } 370 { $_="RELATIVE_DIRECTORY=FINISHED\n"; }
373 } 371 }
374close(IN); 372close(IN);
375 373
374if ($fips)
375 {
376
377 foreach (split " ", $fips_ex_obj)
378 {
379 $fips_exclude_obj{$1} = 1 if (/\/([^\/]*)$/);
380 }
381
382 $fips_exclude_obj{"cpu_win32"} = 1;
383 $fips_exclude_obj{"bn_asm"} = 1;
384 $fips_exclude_obj{"des_enc"} = 1;
385 $fips_exclude_obj{"fcrypt_b"} = 1;
386 $fips_exclude_obj{"aes_core"} = 1;
387 $fips_exclude_obj{"aes_cbc"} = 1;
388
389 my @ltmp = split " ", $lib_obj{"CRYPTO"};
390
391
392 $lib_obj{"CRYPTO"} = "";
393
394 foreach(@ltmp)
395 {
396 if (/\/([^\/]*)$/ && exists $fips_exclude_obj{$1})
397 {
398 if ($fipscanisterbuild)
399 {
400 $lib_obj{"FIPS"} .= "$_ ";
401 }
402 }
403 else
404 {
405 $lib_obj{"CRYPTO"} .= "$_ ";
406 }
407 }
408
409 }
410
411if ($fipscanisterbuild)
412 {
413 $fips_canister_path = "\$(LIB_D)${o}fipscanister.lib" if $fips_canister_path eq "";
414 $fips_premain_c_path = "\$(LIB_D)${o}fips_premain.c";
415 }
416else
417 {
418 if ($fips_canister_path eq "")
419 {
420 $fips_canister_path = "\$(FIPSLIB_D)${o}fipscanister.lib";
421 }
422
423 if ($fips_premain_c_path eq "")
424 {
425 $fips_premain_c_path = "\$(FIPSLIB_D)${o}fips_premain.c";
426 }
427 }
428
429if ($fips)
430 {
431 if ($fips_sha1_exe_path eq "")
432 {
433 $fips_sha1_exe_path =
434 "\$(BIN_D)${o}fips_standalone_sha1$exep";
435 }
436 }
437 else
438 {
439 $fips_sha1_exe_path = "";
440 }
441
442if ($fips_premain_dso_exe_path eq "")
443 {
444 $fips_premain_dso_exe_path = "\$(BIN_D)${o}fips_premain_dso$exep";
445 }
446
447# $ex_build_targets .= "\$(BIN_D)${o}\$(E_PREMAIN_DSO)$exep" if ($fips);
448
449#$ex_l_libs .= " \$(L_FIPS)" if $fipsdso;
450
451if ($fips)
452 {
453 if (!$shlib)
454 {
455 $ex_build_targets .= " \$(LIB_D)$o$crypto_compat \$(PREMAIN_DSO_EXE)";
456 $ex_l_libs .= " \$(O_FIPSCANISTER)";
457 $ex_libs_dep .= " \$(O_FIPSCANISTER)" if $fipscanisterbuild;
458 }
459 if ($fipscanisterbuild)
460 {
461 $fipslibdir = "\$(LIB_D)";
462 }
463 else
464 {
465 if ($fipslibdir eq "")
466 {
467 open (IN, "util/fipslib_path.txt") || fipslib_error();
468 $fipslibdir = <IN>;
469 chomp $fipslibdir;
470 close IN;
471 }
472 fips_check_files($fipslibdir,
473 "fipscanister.lib", "fipscanister.lib.sha1",
474 "fips_premain.c", "fips_premain.c.sha1");
475 }
476 }
477
376if ($shlib) 478if ($shlib)
377 { 479 {
378 $extra_install= <<"EOF"; 480 $extra_install= <<"EOF";
@@ -418,7 +520,6 @@ $defs .= $preamble if defined $preamble;
418 520
419$defs.= <<"EOF"; 521$defs.= <<"EOF";
420INSTALLTOP=$INSTALLTOP 522INSTALLTOP=$INSTALLTOP
421OPENSSLDIR=$OPENSSLDIR
422 523
423# Set your compiler options 524# Set your compiler options
424PLATFORM=$platform 525PLATFORM=$platform
@@ -439,6 +540,32 @@ SRC_D=$src_dir
439LINK=$link 540LINK=$link
440LFLAGS=$lflags 541LFLAGS=$lflags
441RSC=$rsc 542RSC=$rsc
543FIPSLINK=\$(PERL) util${o}fipslink.pl
544
545AES_ASM_OBJ=$aes_asm_obj
546AES_ASM_SRC=$aes_asm_src
547BN_ASM_OBJ=$bn_asm_obj
548BN_ASM_SRC=$bn_asm_src
549BNCO_ASM_OBJ=$bnco_asm_obj
550BNCO_ASM_SRC=$bnco_asm_src
551DES_ENC_OBJ=$des_enc_obj
552DES_ENC_SRC=$des_enc_src
553BF_ENC_OBJ=$bf_enc_obj
554BF_ENC_SRC=$bf_enc_src
555CAST_ENC_OBJ=$cast_enc_obj
556CAST_ENC_SRC=$cast_enc_src
557RC4_ENC_OBJ=$rc4_enc_obj
558RC4_ENC_SRC=$rc4_enc_src
559RC5_ENC_OBJ=$rc5_enc_obj
560RC5_ENC_SRC=$rc5_enc_src
561MD5_ASM_OBJ=$md5_asm_obj
562MD5_ASM_SRC=$md5_asm_src
563SHA1_ASM_OBJ=$sha1_asm_obj
564SHA1_ASM_SRC=$sha1_asm_src
565RMD160_ASM_OBJ=$rmd160_asm_obj
566RMD160_ASM_SRC=$rmd160_asm_src
567CPUID_ASM_OBJ=$cpuid_asm_obj
568CPUID_ASM_SRC=$cpuid_asm_src
442 569
443# The output directory for everything intersting 570# The output directory for everything intersting
444OUT_D=$out_dir 571OUT_D=$out_dir
@@ -457,6 +584,17 @@ MKLIB=$bin_dir$mklib
457MLFLAGS=$mlflags 584MLFLAGS=$mlflags
458ASM=$bin_dir$asm 585ASM=$bin_dir$asm
459 586
587# FIPS validated module and support file locations
588
589E_PREMAIN_DSO=fips_premain_dso
590
591FIPSLIB_D=$fipslibdir
592BASEADDR=$baseaddr
593FIPS_PREMAIN_SRC=$fips_premain_c_path
594O_FIPSCANISTER=$fips_canister_path
595FIPS_SHA1_EXE=$fips_sha1_exe_path
596PREMAIN_DSO_EXE=$fips_premain_dso_exe_path
597
460###################################################### 598######################################################
461# You should not need to touch anything below this point 599# You should not need to touch anything below this point
462###################################################### 600######################################################
@@ -464,6 +602,7 @@ ASM=$bin_dir$asm
464E_EXE=openssl 602E_EXE=openssl
465SSL=$ssl 603SSL=$ssl
466CRYPTO=$crypto 604CRYPTO=$crypto
605LIBFIPS=libosslfips
467 606
468# BIN_D - Binary output directory 607# BIN_D - Binary output directory
469# TEST_D - Binary test file output directory 608# TEST_D - Binary test file output directory
@@ -484,12 +623,14 @@ INCL_D=\$(TMP_D)
484 623
485O_SSL= \$(LIB_D)$o$plib\$(SSL)$shlibp 624O_SSL= \$(LIB_D)$o$plib\$(SSL)$shlibp
486O_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$shlibp 625O_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$shlibp
626O_FIPS= \$(LIB_D)$o$plib\$(LIBFIPS)$shlibp
487SO_SSL= $plib\$(SSL)$so_shlibp 627SO_SSL= $plib\$(SSL)$so_shlibp
488SO_CRYPTO= $plib\$(CRYPTO)$so_shlibp 628SO_CRYPTO= $plib\$(CRYPTO)$so_shlibp
489L_SSL= \$(LIB_D)$o$plib\$(SSL)$libp 629L_SSL= \$(LIB_D)$o$plib\$(SSL)$libp
490L_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$libp 630L_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$libp
631L_FIPS= \$(LIB_D)$o$plib\$(LIBFIPS)$libp
491 632
492L_LIBS= \$(L_SSL) \$(L_CRYPTO) 633L_LIBS= \$(L_SSL) \$(L_CRYPTO) $ex_l_libs
493 634
494###################################################### 635######################################################
495# Don't touch anything below this point 636# Don't touch anything below this point
@@ -499,13 +640,13 @@ INC=-I\$(INC_D) -I\$(INCL_D)
499APP_CFLAGS=\$(INC) \$(CFLAG) \$(APP_CFLAG) 640APP_CFLAGS=\$(INC) \$(CFLAG) \$(APP_CFLAG)
500LIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) 641LIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG)
501SHLIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) \$(SHLIB_CFLAG) 642SHLIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) \$(SHLIB_CFLAG)
502LIBS_DEP=\$(O_CRYPTO) \$(O_SSL) 643LIBS_DEP=\$(O_CRYPTO) \$(O_SSL) $ex_libs_dep
503 644
504############################################# 645#############################################
505EOF 646EOF
506 647
507$rules=<<"EOF"; 648$rules=<<"EOF";
508all: banner \$(TMP_D) \$(BIN_D) \$(TEST_D) \$(LIB_D) \$(INCO_D) headers lib exe 649all: banner \$(TMP_D) \$(BIN_D) \$(TEST_D) \$(LIB_D) \$(INCO_D) headers \$(FIPS_SHA1_EXE) lib exe $ex_build_targets
509 650
510banner: 651banner:
511$banner 652$banner
@@ -542,9 +683,8 @@ install: all
542 \$(MKDIR) \"\$(INSTALLTOP)${o}include${o}openssl\" 683 \$(MKDIR) \"\$(INSTALLTOP)${o}include${o}openssl\"
543 \$(MKDIR) \"\$(INSTALLTOP)${o}lib\" 684 \$(MKDIR) \"\$(INSTALLTOP)${o}lib\"
544 \$(CP) \"\$(INCO_D)${o}*.\[ch\]\" \"\$(INSTALLTOP)${o}include${o}openssl\" 685 \$(CP) \"\$(INCO_D)${o}*.\[ch\]\" \"\$(INSTALLTOP)${o}include${o}openssl\"
545 \$(CP) \"\$(BIN_D)$o\$(E_EXE)$exep \$(INSTALLTOP)${o}bin\" 686 \$(CP) \"\$(BIN_D)$o\$(E_EXE)$exep\" \"\$(INSTALLTOP)${o}bin\"
546 \$(MKDIR) \"\$(OPENSSLDIR)\" 687 \$(CP) \"apps${o}openssl.cnf\" \"\$(INSTALLTOP)\"
547 \$(CP) apps${o}openssl.cnf \"\$(OPENSSLDIR)\"
548$extra_install 688$extra_install
549 689
550 690
@@ -621,6 +761,26 @@ $rules.=&do_compile_rule("\$(OBJ_D)",$test,"\$(APP_CFLAGS)");
621$defs.=&do_defs("E_OBJ",$e_exe,"\$(OBJ_D)",$obj); 761$defs.=&do_defs("E_OBJ",$e_exe,"\$(OBJ_D)",$obj);
622$rules.=&do_compile_rule("\$(OBJ_D)",$e_exe,'-DMONOLITH $(APP_CFLAGS)'); 762$rules.=&do_compile_rule("\$(OBJ_D)",$e_exe,'-DMONOLITH $(APP_CFLAGS)');
623 763
764# Special case rules for fips_start and fips_end fips_premain_dso
765
766if ($fips)
767 {
768 if ($fipscanisterbuild)
769 {
770 $rules.=&cc_compile_target("\$(OBJ_D)${o}fips_start$obj",
771 "fips${o}fips_canister.c",
772 "-DFIPS_START \$(SHLIB_CFLAGS)");
773 $rules.=&cc_compile_target("\$(OBJ_D)${o}fips_end$obj",
774 "fips${o}fips_canister.c", "\$(SHLIB_CFLAGS)");
775 }
776 $rules.=&cc_compile_target("\$(OBJ_D)${o}fips_standalone_sha1$obj",
777 "fips${o}sha${o}fips_standalone_sha1.c",
778 "\$(SHLIB_CFLAGS)");
779 $rules.=&cc_compile_target("\$(OBJ_D)${o}\$(E_PREMAIN_DSO)$obj",
780 "fips${o}fips_premain.c",
781 "-DFINGERPRINT_PREMAIN_DSO_LOAD \$(SHLIB_CFLAGS)");
782 }
783
624foreach (values %lib_nam) 784foreach (values %lib_nam)
625 { 785 {
626 $lib_obj=$lib_obj{$_}; 786 $lib_obj=$lib_obj{$_};
@@ -632,14 +792,78 @@ foreach (values %lib_nam)
632 next; 792 next;
633 } 793 }
634 794
795 if ((!$fips && ($_ eq "CRYPTO")) || ($fips && ($_ eq "FIPS")))
796 {
797 if ($cpuid_asm_obj ne "")
798 {
799 $lib_obj =~ s/(\S*\/cryptlib\S*)/$1 \$(CPUID_ASM_OBJ)/;
800 $rules.=&do_asm_rule($cpuid_asm_obj,$cpuid_asm_src);
801 }
802 if ($aes_asm_obj ne "")
803 {
804 $lib_obj =~ s/\s(\S*\/aes_core\S*)/ \$(AES_ASM_OBJ)/;
805 $lib_obj =~ s/\s\S*\/aes_cbc\S*//;
806 $rules.=&do_asm_rule($aes_asm_obj,$aes_asm_src);
807 }
808 if ($sha1_asm_obj ne "")
809 {
810 $lib_obj =~ s/\s(\S*\/sha1dgst\S*)/ $1 \$(SHA1_ASM_OBJ)/;
811 $rules.=&do_asm_rule($sha1_asm_obj,$sha1_asm_src);
812 }
813 if ($bn_asm_obj ne "")
814 {
815 $lib_obj =~ s/\s\S*\/bn_asm\S*/ \$(BN_ASM_OBJ)/;
816 $rules.=&do_asm_rule($bn_asm_obj,$bn_asm_src);
817 }
818 if ($bnco_asm_obj ne "")
819 {
820 $lib_obj .= "\$(BNCO_ASM_OBJ)";
821 $rules.=&do_asm_rule($bnco_asm_obj,$bnco_asm_src);
822 }
823 if ($des_enc_obj ne "")
824 {
825 $lib_obj =~ s/\s\S*des_enc\S*/ \$(DES_ENC_OBJ)/;
826 $lib_obj =~ s/\s\S*\/fcrypt_b\S*\s*/ /;
827 $rules.=&do_asm_rule($des_enc_obj,$des_enc_src);
828 }
829 }
830 if (($bf_enc_obj ne "") && ($_ eq "CRYPTO"))
831 {
832 $lib_obj =~ s/\s\S*\/bf_enc\S*/ \$(BF_ENC_OBJ)/;
833 $rules.=&do_asm_rule($bf_enc_obj,$bf_enc_src);
834 }
835 if (($cast_enc_obj ne "") && ($_ eq "CRYPTO"))
836 {
837 $lib_obj =~ s/(\s\S*\/c_enc\S*)/ \$(CAST_ENC_OBJ)/;
838 $rules.=&do_asm_rule($cast_enc_obj,$cast_enc_src);
839 }
840 if (($rc4_enc_obj ne "") && ($_ eq "CRYPTO"))
841 {
842 $lib_obj =~ s/\s\S*\/rc4_enc\S*/ \$(RC4_ENC_OBJ)/;
843 $rules.=&do_asm_rule($rc4_enc_obj,$rc4_enc_src);
844 }
845 if (($rc5_enc_obj ne "") && ($_ eq "CRYPTO"))
846 {
847 $lib_obj =~ s/\s\S*\/rc5_enc\S*/ \$(RC5_ENC_OBJ)/;
848 $rules.=&do_asm_rule($rc5_enc_obj,$rc5_enc_src);
849 }
850 if (($md5_asm_obj ne "") && ($_ eq "CRYPTO"))
851 {
852 $lib_obj =~ s/\s(\S*\/md5_dgst\S*)/ $1 \$(MD5_ASM_OBJ)/;
853 $rules.=&do_asm_rule($md5_asm_obj,$md5_asm_src);
854 }
855 if (($rmd160_asm_obj ne "") && ($_ eq "CRYPTO"))
856 {
857 $lib_obj =~ s/\s(\S*\/rmd_dgst\S*)/ $1 \$(RMD160_ASM_OBJ)/;
858 $rules.=&do_asm_rule($rmd160_asm_obj,$rmd160_asm_src);
859 }
635 $defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj); 860 $defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj);
636 $lib=($slib)?" \$(SHLIB_CFLAGS)".$shlib_ex_cflags{$_}:" \$(LIB_CFLAGS)"; 861 $lib=($slib)?" \$(SHLIB_CFLAGS)".$shlib_ex_cflags{$_}:" \$(LIB_CFLAGS)";
637 $rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib); 862 $rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib);
638 } 863 }
639 864
640# hack to add version info on MSVC 865# hack to add version info on MSVC
641if (($platform eq "VC-WIN32") || ($platform eq "VC-WIN64A") 866if (($platform eq "VC-WIN32") || ($platform eq "VC-NT")) {
642 || ($platform eq "VC-WIN64I") || ($platform eq "VC-NT")) {
643 $rules.= <<"EOF"; 867 $rules.= <<"EOF";
644\$(OBJ_D)\\\$(CRYPTO).res: ms\\version32.rc 868\$(OBJ_D)\\\$(CRYPTO).res: ms\\version32.rc
645 \$(RSC) /fo"\$(OBJ_D)\\\$(CRYPTO).res" /d CRYPTO ms\\version32.rc 869 \$(RSC) /fo"\$(OBJ_D)\\\$(CRYPTO).res" /d CRYPTO ms\\version32.rc
@@ -647,15 +871,43 @@ if (($platform eq "VC-WIN32") || ($platform eq "VC-WIN64A")
647\$(OBJ_D)\\\$(SSL).res: ms\\version32.rc 871\$(OBJ_D)\\\$(SSL).res: ms\\version32.rc
648 \$(RSC) /fo"\$(OBJ_D)\\\$(SSL).res" /d SSL ms\\version32.rc 872 \$(RSC) /fo"\$(OBJ_D)\\\$(SSL).res" /d SSL ms\\version32.rc
649 873
874\$(OBJ_D)\\\$(LIBFIPS).res: ms\\version32.rc
875 \$(RSC) /fo"\$(OBJ_D)\\\$(LIBFIPS).res" /d FIPS ms\\version32.rc
876
650EOF 877EOF
651} 878}
652 879
653$defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep); 880$defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep);
654foreach (split(/\s+/,$test)) 881foreach (split(/\s+/,$test))
655 { 882 {
883 my $t_libs;
656 $t=&bname($_); 884 $t=&bname($_);
885 my $ltype;
886 # Check to see if test program is FIPS
887 if ($fips && /fips/)
888 {
889 # If fipsdso link to libosslfips.dll
890 # otherwise perform static link to
891 # $(O_FIPSCANISTER)
892 if ($fipsdso)
893 {
894 $t_libs = "\$(L_FIPS)";
895 $ltype = 0;
896 }
897 else
898 {
899 $t_libs = "\$(O_FIPSCANISTER)";
900 $ltype = 2;
901 }
902 }
903 else
904 {
905 $t_libs = "\$(L_LIBS)";
906 $ltype = 0;
907 }
908
657 $tt="\$(OBJ_D)${o}$t${obj}"; 909 $tt="\$(OBJ_D)${o}$t${obj}";
658 $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); 910 $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","$t_libs \$(EX_LIBS)", $ltype);
659 } 911 }
660 912
661$defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp); 913$defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp);
@@ -669,9 +921,69 @@ foreach (split(/\s+/,$engines))
669 921
670 922
671$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)"); 923$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)");
672$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)");
673 924
674$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); 925if ($fips)
926 {
927 if ($shlib)
928 {
929 if ($fipsdso)
930 {
931 $rules.= &do_lib_rule("\$(CRYPTOOBJ)",
932 "\$(O_CRYPTO)", "$crypto",
933 $shlib, "", "");
934 $rules.= &do_lib_rule(
935 "\$(O_FIPSCANISTER)",
936 "\$(O_FIPS)", "\$(LIBFIPS)",
937 $shlib, "\$(SO_CRYPTO)", "\$(BASEADDR)");
938 $rules.= &do_sdef_rule();
939 }
940 else
941 {
942 $rules.= &do_lib_rule(
943 "\$(CRYPTOOBJ) \$(O_FIPSCANISTER)",
944 "\$(O_CRYPTO)", "$crypto",
945 $shlib, "\$(SO_CRYPTO)", "\$(BASEADDR)");
946 }
947 }
948 else
949 {
950 $rules.= &do_lib_rule("\$(CRYPTOOBJ)",
951 "\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)", "");
952 $rules.= &do_lib_rule("\$(CRYPTOOBJ) \$(FIPSOBJ)",
953 "\$(LIB_D)$o$crypto_compat",$crypto,$shlib,"\$(SO_CRYPTO)", "");
954 }
955 }
956 else
957 {
958 $rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,
959 "\$(SO_CRYPTO)");
960 }
961
962if ($fips)
963 {
964 if ($fipscanisterbuild)
965 {
966 $rules.= &do_rlink_rule("\$(O_FIPSCANISTER)",
967 "\$(OBJ_D)${o}fips_start$obj",
968 "\$(FIPSOBJ)",
969 "\$(OBJ_D)${o}fips_end$obj",
970 "\$(FIPS_SHA1_EXE)", "");
971 $rules.=&do_link_rule("\$(FIPS_SHA1_EXE)",
972 "\$(OBJ_D)${o}fips_standalone_sha1$obj \$(OBJ_D)${o}sha1dgst$obj \$(SHA1_ASM_OBJ)",
973 "","\$(EX_LIBS)", 1);
974 }
975 else
976 {
977 $rules.=&do_link_rule("\$(FIPS_SHA1_EXE)",
978 "\$(OBJ_D)${o}fips_standalone_sha1$obj \$(O_FIPSCANISTER)",
979 "","", 1);
980
981 }
982 $rules.=&do_link_rule("\$(PREMAIN_DSO_EXE)","\$(OBJ_D)${o}\$(E_PREMAIN_DSO)$obj \$(CRYPTOOBJ) \$(O_FIPSCANISTER)","","\$(EX_LIBS)", 1);
983
984 }
985
986$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)", ($fips && !$shlib) ? 2 : 0);
675 987
676print $defs; 988print $defs;
677 989
@@ -710,6 +1022,7 @@ sub var_add
710 return("") if $no_ec && $dir =~ /\/ec/; 1022 return("") if $no_ec && $dir =~ /\/ec/;
711 return("") if $no_cms && $dir =~ /\/cms/; 1023 return("") if $no_cms && $dir =~ /\/cms/;
712 return("") if $no_jpake && $dir =~ /\/jpake/; 1024 return("") if $no_jpake && $dir =~ /\/jpake/;
1025 return("") if !$fips && $dir =~ /^fips/;
713 if ($no_des && $dir =~ /\/des/) 1026 if ($no_des && $dir =~ /\/des/)
714 { 1027 {
715 if ($val =~ /read_pwd/) 1028 if ($val =~ /read_pwd/)
@@ -721,7 +1034,6 @@ sub var_add
721 return("") if $no_sock && $dir =~ /\/proxy/; 1034 return("") if $no_sock && $dir =~ /\/proxy/;
722 return("") if $no_bf && $dir =~ /\/bf/; 1035 return("") if $no_bf && $dir =~ /\/bf/;
723 return("") if $no_cast && $dir =~ /\/cast/; 1036 return("") if $no_cast && $dir =~ /\/cast/;
724 return("") if $no_whirlpool && $dir =~ /\/whrlpool/;
725 1037
726 $val =~ s/^\s*(.*)\s*$/$1/; 1038 $val =~ s/^\s*(.*)\s*$/$1/;
727 @a=split(/\s+/,$val); 1039 @a=split(/\s+/,$val);
@@ -739,8 +1051,8 @@ sub var_add
739 @a=grep(!/^e_camellia$/,@a) if $no_camellia; 1051 @a=grep(!/^e_camellia$/,@a) if $no_camellia;
740 @a=grep(!/^e_seed$/,@a) if $no_seed; 1052 @a=grep(!/^e_seed$/,@a) if $no_seed;
741 1053
742 #@a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2; 1054 @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2;
743 #@a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3; 1055 @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3;
744 1056
745 @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock; 1057 @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock;
746 1058
@@ -814,7 +1126,6 @@ sub do_defs
814 else { $pf=$postfix; } 1126 else { $pf=$postfix; }
815 if ($_ =~ /BN_ASM/) { $t="$_ "; } 1127 if ($_ =~ /BN_ASM/) { $t="$_ "; }
816 elsif ($_ =~ /BNCO_ASM/){ $t="$_ "; } 1128 elsif ($_ =~ /BNCO_ASM/){ $t="$_ "; }
817 elsif ($_ =~ /AES_ASM/){ $t="$_ "; }
818 elsif ($_ =~ /DES_ENC/) { $t="$_ "; } 1129 elsif ($_ =~ /DES_ENC/) { $t="$_ "; }
819 elsif ($_ =~ /BF_ENC/) { $t="$_ "; } 1130 elsif ($_ =~ /BF_ENC/) { $t="$_ "; }
820 elsif ($_ =~ /CAST_ENC/){ $t="$_ "; } 1131 elsif ($_ =~ /CAST_ENC/){ $t="$_ "; }
@@ -822,8 +1133,8 @@ sub do_defs
822 elsif ($_ =~ /RC5_ENC/) { $t="$_ "; } 1133 elsif ($_ =~ /RC5_ENC/) { $t="$_ "; }
823 elsif ($_ =~ /MD5_ASM/) { $t="$_ "; } 1134 elsif ($_ =~ /MD5_ASM/) { $t="$_ "; }
824 elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; } 1135 elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; }
1136 elsif ($_ =~ /AES_ASM/){ $t="$_ "; }
825 elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; } 1137 elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; }
826 elsif ($_ =~ /WHIRLPOOL_ASM/){ $t="$_ "; }
827 elsif ($_ =~ /CPUID_ASM/){ $t="$_ "; } 1138 elsif ($_ =~ /CPUID_ASM/){ $t="$_ "; }
828 else { $t="$location${o}$_$pf "; } 1139 else { $t="$location${o}$_$pf "; }
829 1140
@@ -831,7 +1142,7 @@ sub do_defs
831 $ret.=$t; 1142 $ret.=$t;
832 } 1143 }
833 # hack to add version info on MSVC 1144 # hack to add version info on MSVC
834 if ($shlib && (($platform eq "VC-WIN32") || ($platfrom eq "VC-WIN64I") || ($platform eq "VC-WIN64A") || ($platform eq "VC-NT"))) 1145 if ($shlib && (($platform eq "VC-WIN32") || ($platform eq "VC-NT")))
835 { 1146 {
836 if ($var eq "CRYPTOOBJ") 1147 if ($var eq "CRYPTOOBJ")
837 { $ret.="\$(OBJ_D)\\\$(CRYPTO).res "; } 1148 { $ret.="\$(OBJ_D)\\\$(CRYPTO).res "; }
@@ -851,13 +1162,6 @@ sub bname
851 return($ret); 1162 return($ret);
852 } 1163 }
853 1164
854# return the leading path
855sub dname
856 {
857 my $ret=shift;
858 $ret =~ s/(^.*)[\\\/][^\\\/]+$/$1/;
859 return($ret);
860 }
861 1165
862############################################################## 1166##############################################################
863# do a rule for each file that says 'compile' to new direcory 1167# do a rule for each file that says 'compile' to new direcory
@@ -865,61 +1169,19 @@ sub dname
865sub do_compile_rule 1169sub do_compile_rule
866 { 1170 {
867 local($to,$files,$ex)=@_; 1171 local($to,$files,$ex)=@_;
868 local($ret,$_,$n,$d,$s); 1172 local($ret,$_,$n);
869 1173
870 $files =~ s/\//$o/g if $o ne '/'; 1174 $files =~ s/\//$o/g if $o ne '/';
871 foreach (split(/\s+/,$files)) 1175 foreach (split(/\s+/,$files))
872 { 1176 {
873 $n=&bname($_); 1177 $n=&bname($_);
874 $d=&dname($_); 1178 $ret.=&cc_compile_target("$to${o}$n$obj","${_}.c",$ex)
875 if (-f "${_}.c")
876 {
877 $ret.=&cc_compile_target("$to${o}$n$obj","${_}.c",$ex)
878 }
879 elsif (-f ($s="${d}${o}asm${o}${n}.pl") or
880 ($s=~s/sha256/sha512/ and -f $s) or
881 -f ($s="${d}${o}${n}.pl"))
882 {
883 $ret.=&perlasm_compile_target("$to${o}$n$obj",$s,$n);
884 }
885 elsif (-f ($s="${d}${o}asm${o}${n}.S") or
886 -f ($s="${d}${o}${n}.S"))
887 {
888 $ret.=&Sasm_compile_target("$to${o}$n$obj",$s,$n);
889 }
890 else { die "no rule for $_"; }
891 } 1179 }
892 return($ret); 1180 return($ret);
893 } 1181 }
894 1182
895############################################################## 1183##############################################################
896# do a rule for each file that says 'compile' to new direcory 1184# do a rule for each file that says 'compile' to new direcory
897sub perlasm_compile_target
898 {
899 my($target,$source,$bname)=@_;
900 my($ret);
901
902 $bname =~ s/(.*)\.[^\.]$/$1/;
903 $ret ="\$(TMP_D)$o$bname.asm: $source\n";
904 $ret.="\t\$(PERL) $source $asmtype \$(CFLAG) >\$\@\n\n";
905 $ret.="$target: \$(TMP_D)$o$bname.asm\n";
906 $ret.="\t\$(ASM) $afile\$\@ \$(TMP_D)$o$bname.asm\n\n";
907 return($ret);
908 }
909
910sub Sasm_compile_target
911 {
912 my($target,$source,$bname)=@_;
913 my($ret);
914
915 $bname =~ s/(.*)\.[^\.]$/$1/;
916 $ret ="\$(TMP_D)$o$bname.asm: $source\n";
917 $ret.="\t\$(CC) -E \$(CFLAG) $source >\$\@\n\n";
918 $ret.="$target: \$(TMP_D)$o$bname.asm\n";
919 $ret.="\t\$(ASM) $afile\$\@ \$(TMP_D)$o$bname.asm\n\n";
920 return($ret);
921 }
922
923sub cc_compile_target 1185sub cc_compile_target
924 { 1186 {
925 local($target,$source,$ex_flags)=@_; 1187 local($target,$source,$ex_flags)=@_;
@@ -942,25 +1204,13 @@ sub do_asm_rule
942 $target =~ s/\//$o/g if $o ne "/"; 1204 $target =~ s/\//$o/g if $o ne "/";
943 $src =~ s/\//$o/g if $o ne "/"; 1205 $src =~ s/\//$o/g if $o ne "/";
944 1206
945 @t=split(/\s+/,$target);
946 @s=split(/\s+/,$src); 1207 @s=split(/\s+/,$src);
947 1208 @t=split(/\s+/,$target);
948 1209
949 for ($i=0; $i<=$#s; $i++) 1210 for ($i=0; $i<=$#s; $i++)
950 { 1211 {
951 my $objfile = $t[$i]; 1212 $ret.="$t[$i]: $s[$i]\n";
952 my $srcfile = $s[$i]; 1213 $ret.="\t\$(ASM) $afile$t[$i] \$(SRC_D)$o$s[$i]\n\n";
953
954 if ($perl_asm == 1)
955 {
956 my $plasm = $objfile;
957 $plasm =~ s/${obj}/.pl/;
958 $ret.="$srcfile: $plasm\n";
959 $ret.="\t\$(PERL) $plasm $asmtype \$(CFLAG) >$srcfile\n\n";
960 }
961
962 $ret.="$objfile: $srcfile\n";
963 $ret.="\t\$(ASM) $afile$objfile \$(SRC_D)$o$srcfile\n\n";
964 } 1214 }
965 return($ret); 1215 return($ret);
966 } 1216 }
@@ -1024,7 +1274,6 @@ sub read_options
1024 "no-sha1" => \$no_sha1, 1274 "no-sha1" => \$no_sha1,
1025 "no-ripemd" => \$no_ripemd, 1275 "no-ripemd" => \$no_ripemd,
1026 "no-mdc2" => \$no_mdc2, 1276 "no-mdc2" => \$no_mdc2,
1027 "no-whirlpool" => \$no_whirlpool,
1028 "no-patents" => 1277 "no-patents" =>
1029 [\$no_rc2, \$no_rc4, \$no_rc5, \$no_idea, \$no_rsa], 1278 [\$no_rc2, \$no_rc4, \$no_rc5, \$no_idea, \$no_rsa],
1030 "no-rsa" => \$no_rsa, 1279 "no-rsa" => \$no_rsa,
@@ -1033,6 +1282,7 @@ sub read_options
1033 "no-hmac" => \$no_hmac, 1282 "no-hmac" => \$no_hmac,
1034 "no-asm" => \$no_asm, 1283 "no-asm" => \$no_asm,
1035 "nasm" => \$nasm, 1284 "nasm" => \$nasm,
1285 "ml64" => \$ml64,
1036 "nw-nasm" => \$nw_nasm, 1286 "nw-nasm" => \$nw_nasm,
1037 "nw-mwasm" => \$nw_mwasm, 1287 "nw-mwasm" => \$nw_mwasm,
1038 "gaswin" => \$gaswin, 1288 "gaswin" => \$gaswin,
@@ -1041,6 +1291,7 @@ sub read_options
1041 "no-tlsext" => \$no_tlsext, 1291 "no-tlsext" => \$no_tlsext,
1042 "no-cms" => \$no_cms, 1292 "no-cms" => \$no_cms,
1043 "no-jpake" => \$no_jpake, 1293 "no-jpake" => \$no_jpake,
1294 "no-capieng" => \$no_capieng,
1044 "no-err" => \$no_err, 1295 "no-err" => \$no_err,
1045 "no-sock" => \$no_sock, 1296 "no-sock" => \$no_sock,
1046 "no-krb5" => \$no_krb5, 1297 "no-krb5" => \$no_krb5,
@@ -1065,9 +1316,11 @@ sub read_options
1065 "no-rfc3779" => 0, 1316 "no-rfc3779" => 0,
1066 "no-montasm" => 0, 1317 "no-montasm" => 0,
1067 "no-shared" => 0, 1318 "no-shared" => 0,
1068 "no-store" => 0,
1069 "no-zlib" => 0, 1319 "no-zlib" => 0,
1070 "no-zlib-dynamic" => 0, 1320 "no-zlib-dynamic" => 0,
1321 "fips" => \$fips,
1322 "fipscanisterbuild" => [\$fips, \$fipscanisterbuild],
1323 "fipsdso" => [\$fips, \$fipscanisterbuild, \$fipsdso],
1071 ); 1324 );
1072 1325
1073 if (exists $valid_options{$_}) 1326 if (exists $valid_options{$_})
@@ -1137,10 +1390,38 @@ sub read_options
1137 } 1390 }
1138 } 1391 }
1139 } 1392 }
1140 elsif (/^([^=]*)=(.*)$/){ $VARS{$1}=$2; } 1393 elsif (/^([^=]*)=(.*)$/ && !/^-D/){ $VARS{$1}=$2; }
1141 elsif (/^-[lL].*$/) { $l_flags.="$_ "; } 1394 elsif (/^-[lL].*$/) { $l_flags.="$_ "; }
1142 elsif ((!/^-help/) && (!/^-h/) && (!/^-\?/) && /^-.*$/) 1395 elsif ((!/^-help/) && (!/^-h/) && (!/^-\?/) && /^-.*$/)
1143 { $c_flags.="$_ "; } 1396 { $c_flags.="$_ "; }
1144 else { return(0); } 1397 else { return(0); }
1145 return(1); 1398 return(1);
1146 } 1399 }
1400
1401sub fipslib_error
1402 {
1403 print STDERR "***FIPS module directory sanity check failed***\n";
1404 print STDERR "FIPS module build failed, or was deleted\n";
1405 print STDERR "Please rebuild FIPS module.\n";
1406 exit 1;
1407 }
1408
1409sub fips_check_files
1410 {
1411 my $dir = shift @_;
1412 my $ret = 1;
1413 if (!-d $dir)
1414 {
1415 print STDERR "FIPS module directory $dir does not exist\n";
1416 fipslib_error();
1417 }
1418 foreach (@_)
1419 {
1420 if (!-f "$dir${o}$_")
1421 {
1422 print STDERR "FIPS module file $_ does not exist!\n";
1423 $ret = 0;
1424 }
1425 }
1426 fipslib_error() if ($ret == 0);
1427 }
diff --git a/src/lib/libcrypto/util/mkdef.pl b/src/lib/libcrypto/util/mkdef.pl
index a4a17e3ae9..5ae9ebb619 100644
--- a/src/lib/libcrypto/util/mkdef.pl
+++ b/src/lib/libcrypto/util/mkdef.pl
@@ -69,7 +69,7 @@ my $do_ctestall = 0;
69my $do_checkexist = 0; 69my $do_checkexist = 0;
70 70
71my $VMSVAX=0; 71my $VMSVAX=0;
72my $VMSNonVAX=0; 72my $VMSAlpha=0;
73my $VMS=0; 73my $VMS=0;
74my $W32=0; 74my $W32=0;
75my $W16=0; 75my $W16=0;
@@ -79,13 +79,12 @@ my $OS2=0;
79my $safe_stack_def = 0; 79my $safe_stack_def = 0;
80 80
81my @known_platforms = ( "__FreeBSD__", "PERL5", "NeXT", 81my @known_platforms = ( "__FreeBSD__", "PERL5", "NeXT",
82 "EXPORT_VAR_AS_FUNCTION", "ZLIB" ); 82 "EXPORT_VAR_AS_FUNCTION", "ZLIB", "OPENSSL_FIPS");
83my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" ); 83my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" );
84my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", 84my @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", "WHIRLPOOL", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", 87 "MDC2", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", "HMAC", "AES", "CAMELLIA", "SEED",
88 "HMAC", "AES", "CAMELLIA", "SEED", "GOST",
89 # Envelope "algorithms" 88 # Envelope "algorithms"
90 "EVP", "X509", "ASN1_TYPEDEFS", 89 "EVP", "X509", "ASN1_TYPEDEFS",
91 # Helper "algorithms" 90 # Helper "algorithms"
@@ -95,16 +94,14 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
95 "FP_API", "STDIO", "SOCK", "KRB5", "DGRAM", 94 "FP_API", "STDIO", "SOCK", "KRB5", "DGRAM",
96 # Engines 95 # Engines
97 "STATIC_ENGINE", "ENGINE", "HW", "GMP", 96 "STATIC_ENGINE", "ENGINE", "HW", "GMP",
98 # RFC3779 97 # RFC3779 support
99 "RFC3779", 98 "RFC3779",
100 # TLS 99 # TLS extension support
101 "TLSEXT", "PSK", 100 "TLSEXT",
102 # CMS 101 # CMS
103 "CMS", 102 "CMS",
104 # CryptoAPI Engine 103 # CryptoAPI Engine
105 "CAPIENG", 104 "CAPIENG",
106 # SSL v2
107 "SSL2",
108 # JPAKE 105 # JPAKE
109 "JPAKE", 106 "JPAKE",
110 # Deprecated functions 107 # Deprecated functions
@@ -121,15 +118,14 @@ close(IN);
121# defined with ifndef(NO_XXX) are not included in the .def file, and everything 118# defined with ifndef(NO_XXX) are not included in the .def file, and everything
122# in directory xxx is ignored. 119# in directory xxx is ignored.
123my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf; 120my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf;
124my $no_cast; my $no_whirlpool; my $no_camellia; my $no_seed; 121my $no_cast;
125my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2; 122my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2;
126my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5; 123my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5;
127my $no_ec; my $no_ecdsa; my $no_ecdh; my $no_engine; my $no_hw; 124my $no_ec; my $no_ecdsa; my $no_ecdh; my $no_engine; my $no_hw; my $no_camellia;
128my $no_fp_api; my $no_static_engine=1; my $no_gmp; my $no_deprecated; 125my $no_seed;
129my $no_rfc3779; my $no_psk; my $no_tlsext; my $no_cms; my $no_capieng; 126my $no_fp_api; my $no_static_engine; my $no_gmp; my $no_deprecated;
130my $no_jpake; my $no_ssl2; 127my $no_rfc3779; my $no_tlsext; my $no_cms; my $no_capieng; my $no_jpake;
131 128my $fips;
132my $zlib;
133 129
134 130
135foreach (@ARGV, split(/ /, $options)) 131foreach (@ARGV, split(/ /, $options))
@@ -145,15 +141,17 @@ foreach (@ARGV, split(/ /, $options))
145 $VMS=1; 141 $VMS=1;
146 $VMSVAX=1; 142 $VMSVAX=1;
147 } 143 }
148 if ($_ eq "VMS-NonVAX") { 144 if ($_ eq "VMS-Alpha") {
149 $VMS=1; 145 $VMS=1;
150 $VMSNonVAX=1; 146 $VMSAlpha=1;
151 } 147 }
152 $VMS=1 if $_ eq "VMS"; 148 $VMS=1 if $_ eq "VMS";
153 $OS2=1 if $_ eq "OS2"; 149 $OS2=1 if $_ eq "OS2";
154 if ($_ eq "zlib" || $_ eq "enable-zlib" || $_ eq "zlib-dynamic" 150 $fips=1 if /^fips/;
155 || $_ eq "enable-zlib-dynamic") { 151
156 $zlib = 1; 152 if ($_ eq "zlib" || $_ eq "zlib-dynamic"
153 || $_ eq "enable-zlib-dynamic") {
154 $zlib = 1;
157 } 155 }
158 156
159 $do_ssl=1 if $_ eq "ssleay"; 157 $do_ssl=1 if $_ eq "ssleay";
@@ -182,7 +180,6 @@ foreach (@ARGV, split(/ /, $options))
182 elsif (/^no-des$/) { $no_des=1; $no_mdc2=1; } 180 elsif (/^no-des$/) { $no_des=1; $no_mdc2=1; }
183 elsif (/^no-bf$/) { $no_bf=1; } 181 elsif (/^no-bf$/) { $no_bf=1; }
184 elsif (/^no-cast$/) { $no_cast=1; } 182 elsif (/^no-cast$/) { $no_cast=1; }
185 elsif (/^no-whirlpool$/) { $no_whirlpool=1; }
186 elsif (/^no-md2$/) { $no_md2=1; } 183 elsif (/^no-md2$/) { $no_md2=1; }
187 elsif (/^no-md4$/) { $no_md4=1; } 184 elsif (/^no-md4$/) { $no_md4=1; }
188 elsif (/^no-md5$/) { $no_md5=1; } 185 elsif (/^no-md5$/) { $no_md5=1; }
@@ -215,7 +212,6 @@ foreach (@ARGV, split(/ /, $options))
215 elsif (/^no-rfc3779$/) { $no_rfc3779=1; } 212 elsif (/^no-rfc3779$/) { $no_rfc3779=1; }
216 elsif (/^no-tlsext$/) { $no_tlsext=1; } 213 elsif (/^no-tlsext$/) { $no_tlsext=1; }
217 elsif (/^no-cms$/) { $no_cms=1; } 214 elsif (/^no-cms$/) { $no_cms=1; }
218 elsif (/^no-ssl2$/) { $no_ssl2=1; }
219 elsif (/^no-capieng$/) { $no_capieng=1; } 215 elsif (/^no-capieng$/) { $no_capieng=1; }
220 elsif (/^no-jpake$/) { $no_jpake=1; } 216 elsif (/^no-jpake$/) { $no_jpake=1; }
221 } 217 }
@@ -264,7 +260,6 @@ $crypto.=" crypto/rc5/rc5.h" ; # unless $no_rc5;
264$crypto.=" crypto/rc2/rc2.h" ; # unless $no_rc2; 260$crypto.=" crypto/rc2/rc2.h" ; # unless $no_rc2;
265$crypto.=" crypto/bf/blowfish.h" ; # unless $no_bf; 261$crypto.=" crypto/bf/blowfish.h" ; # unless $no_bf;
266$crypto.=" crypto/cast/cast.h" ; # unless $no_cast; 262$crypto.=" crypto/cast/cast.h" ; # unless $no_cast;
267$crypto.=" crypto/whrlpool/whrlpool.h" ;
268$crypto.=" crypto/md2/md2.h" ; # unless $no_md2; 263$crypto.=" crypto/md2/md2.h" ; # unless $no_md2;
269$crypto.=" crypto/md4/md4.h" ; # unless $no_md4; 264$crypto.=" crypto/md4/md4.h" ; # unless $no_md4;
270$crypto.=" crypto/md5/md5.h" ; # unless $no_md5; 265$crypto.=" crypto/md5/md5.h" ; # unless $no_md5;
@@ -306,16 +301,17 @@ $crypto.=" crypto/pkcs12/pkcs12.h";
306$crypto.=" crypto/x509/x509.h"; 301$crypto.=" crypto/x509/x509.h";
307$crypto.=" crypto/x509/x509_vfy.h"; 302$crypto.=" crypto/x509/x509_vfy.h";
308$crypto.=" crypto/x509v3/x509v3.h"; 303$crypto.=" crypto/x509v3/x509v3.h";
309$crypto.=" crypto/ts/ts.h";
310$crypto.=" crypto/rand/rand.h"; 304$crypto.=" crypto/rand/rand.h";
311$crypto.=" crypto/comp/comp.h" ; # unless $no_comp; 305$crypto.=" crypto/comp/comp.h" ; # unless $no_comp;
312$crypto.=" crypto/ocsp/ocsp.h"; 306$crypto.=" crypto/ocsp/ocsp.h";
313$crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; 307$crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h";
314$crypto.=" crypto/krb5/krb5_asn.h"; 308$crypto.=" crypto/krb5/krb5_asn.h";
315#$crypto.=" crypto/store/store.h"; 309$crypto.=" crypto/tmdiff.h";
310$crypto.=" crypto/store/store.h";
316$crypto.=" crypto/pqueue/pqueue.h"; 311$crypto.=" crypto/pqueue/pqueue.h";
317$crypto.=" crypto/cms/cms.h"; 312$crypto.=" crypto/cms/cms.h";
318$crypto.=" crypto/jpake/jpake.h"; 313$crypto.=" crypto/jpake/jpake.h";
314$crypto.=" fips/fips.h fips/rand/fips_rand.h";
319 315
320my $symhacks="crypto/symhacks.h"; 316my $symhacks="crypto/symhacks.h";
321 317
@@ -889,7 +885,6 @@ sub do_defs
889 s/\{\}/\(\)/gs; 885 s/\{\}/\(\)/gs;
890 886
891 s/STACK_OF\(\)/void/gs; 887 s/STACK_OF\(\)/void/gs;
892 s/LHASH_OF\(\)/void/gs;
893 888
894 print STDERR "DEBUG: \$_ = \"$_\"\n" if $debug; 889 print STDERR "DEBUG: \$_ = \"$_\"\n" if $debug;
895 if (/^\#INFO:([^:]*):(.*)$/) { 890 if (/^\#INFO:([^:]*):(.*)$/) {
@@ -966,25 +961,6 @@ sub do_defs
966 $platform{"PEM_write_NS_CERT_SEQ"} = "VMS"; 961 $platform{"PEM_write_NS_CERT_SEQ"} = "VMS";
967 $platform{"PEM_read_P8_PRIV_KEY_INFO"} = "VMS"; 962 $platform{"PEM_read_P8_PRIV_KEY_INFO"} = "VMS";
968 $platform{"PEM_write_P8_PRIV_KEY_INFO"} = "VMS"; 963 $platform{"PEM_write_P8_PRIV_KEY_INFO"} = "VMS";
969 $platform{"EVP_sha384"} = "!VMSVAX";
970 $platform{"EVP_sha512"} = "!VMSVAX";
971 $platform{"SHA384_Init"} = "!VMSVAX";
972 $platform{"SHA384_Transform"} = "!VMSVAX";
973 $platform{"SHA384_Update"} = "!VMSVAX";
974 $platform{"SHA384_Final"} = "!VMSVAX";
975 $platform{"SHA384"} = "!VMSVAX";
976 $platform{"SHA512_Init"} = "!VMSVAX";
977 $platform{"SHA512_Transform"} = "!VMSVAX";
978 $platform{"SHA512_Update"} = "!VMSVAX";
979 $platform{"SHA512_Final"} = "!VMSVAX";
980 $platform{"SHA512"} = "!VMSVAX";
981 $platform{"WHIRLPOOL_Init"} = "!VMSVAX";
982 $platform{"WHIRLPOOL"} = "!VMSVAX";
983 $platform{"WHIRLPOOL_BitUpdate"} = "!VMSVAX";
984 $platform{"EVP_whirlpool"} = "!VMSVAX";
985 $platform{"WHIRLPOOL_Final"} = "!VMSVAX";
986 $platform{"WHIRLPOOL_Update"} = "!VMSVAX";
987
988 964
989 # Info we know about 965 # Info we know about
990 966
@@ -1109,8 +1085,6 @@ sub is_valid
1109 1085
1110 if ($platforms) { 1086 if ($platforms) {
1111 # platforms 1087 # platforms
1112 if ($keyword eq "VMSVAX" && $VMSVAX) { return 1; }
1113 if ($keyword eq "VMSNonVAX" && $VMSNonVAX) { return 1; }
1114 if ($keyword eq "VMS" && $VMS) { return 1; } 1088 if ($keyword eq "VMS" && $VMS) { return 1; }
1115 if ($keyword eq "WIN32" && $W32) { return 1; } 1089 if ($keyword eq "WIN32" && $W32) { return 1; }
1116 if ($keyword eq "WIN16" && $W16) { return 1; } 1090 if ($keyword eq "WIN16" && $W16) { return 1; }
@@ -1123,6 +1097,9 @@ sub is_valid
1123 if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { 1097 if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) {
1124 return 1; 1098 return 1;
1125 } 1099 }
1100 if ($keyword eq "OPENSSL_FIPS" && $fips) {
1101 return 1;
1102 }
1126 if ($keyword eq "ZLIB" && $zlib) { return 1; } 1103 if ($keyword eq "ZLIB" && $zlib) { return 1; }
1127 return 0; 1104 return 0;
1128 } else { 1105 } else {
@@ -1140,7 +1117,6 @@ sub is_valid
1140 if ($keyword eq "SHA" && $no_sha) { return 0; } 1117 if ($keyword eq "SHA" && $no_sha) { return 0; }
1141 if ($keyword eq "RIPEMD" && $no_ripemd) { return 0; } 1118 if ($keyword eq "RIPEMD" && $no_ripemd) { return 0; }
1142 if ($keyword eq "MDC2" && $no_mdc2) { return 0; } 1119 if ($keyword eq "MDC2" && $no_mdc2) { return 0; }
1143 if ($keyword eq "WHIRLPOOL" && $no_whirlpool) { return 0; }
1144 if ($keyword eq "RSA" && $no_rsa) { return 0; } 1120 if ($keyword eq "RSA" && $no_rsa) { return 0; }
1145 if ($keyword eq "DSA" && $no_dsa) { return 0; } 1121 if ($keyword eq "DSA" && $no_dsa) { return 0; }
1146 if ($keyword eq "DH" && $no_dh) { return 0; } 1122 if ($keyword eq "DH" && $no_dh) { return 0; }
@@ -1167,9 +1143,7 @@ sub is_valid
1167 if ($keyword eq "GMP" && $no_gmp) { return 0; } 1143 if ($keyword eq "GMP" && $no_gmp) { return 0; }
1168 if ($keyword eq "RFC3779" && $no_rfc3779) { return 0; } 1144 if ($keyword eq "RFC3779" && $no_rfc3779) { return 0; }
1169 if ($keyword eq "TLSEXT" && $no_tlsext) { return 0; } 1145 if ($keyword eq "TLSEXT" && $no_tlsext) { return 0; }
1170 if ($keyword eq "PSK" && $no_psk) { return 0; }
1171 if ($keyword eq "CMS" && $no_cms) { return 0; } 1146 if ($keyword eq "CMS" && $no_cms) { return 0; }
1172 if ($keyword eq "SSL2" && $no_ssl2) { return 0; }
1173 if ($keyword eq "CAPIENG" && $no_capieng) { return 0; } 1147 if ($keyword eq "CAPIENG" && $no_capieng) { return 0; }
1174 if ($keyword eq "JPAKE" && $no_jpake) { return 0; } 1148 if ($keyword eq "JPAKE" && $no_jpake) { return 0; }
1175 if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; } 1149 if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; }
diff --git a/src/lib/libcrypto/util/mkerr.pl b/src/lib/libcrypto/util/mkerr.pl
new file mode 100644
index 0000000000..554bebb159
--- /dev/null
+++ b/src/lib/libcrypto/util/mkerr.pl
@@ -0,0 +1,715 @@
1#!/usr/local/bin/perl -w
2
3my $config = "crypto/err/openssl.ec";
4my $debug = 0;
5my $rebuild = 0;
6my $static = 1;
7my $recurse = 0;
8my $reindex = 0;
9my $dowrite = 0;
10my $staticloader = "";
11
12my $pack_errcode;
13my $load_errcode;
14
15while (@ARGV) {
16 my $arg = $ARGV[0];
17 if($arg eq "-conf") {
18 shift @ARGV;
19 $config = shift @ARGV;
20 } elsif($arg eq "-debug") {
21 $debug = 1;
22 shift @ARGV;
23 } elsif($arg eq "-rebuild") {
24 $rebuild = 1;
25 shift @ARGV;
26 } elsif($arg eq "-recurse") {
27 $recurse = 1;
28 shift @ARGV;
29 } elsif($arg eq "-reindex") {
30 $reindex = 1;
31 shift @ARGV;
32 } elsif($arg eq "-nostatic") {
33 $static = 0;
34 shift @ARGV;
35 } elsif($arg eq "-staticloader") {
36 $staticloader = "static ";
37 shift @ARGV;
38 } elsif($arg eq "-write") {
39 $dowrite = 1;
40 shift @ARGV;
41 } else {
42 last;
43 }
44}
45
46if($recurse) {
47 @source = ( <crypto/*.c>, <crypto/*/*.c>, <ssl/*.c>,
48 <fips/*.c>, <fips/*/*.c>);
49} else {
50 @source = @ARGV;
51}
52
53# Read in the config file
54
55open(IN, "<$config") || die "Can't open config file $config";
56
57# Parse config file
58
59while(<IN>)
60{
61 if(/^L\s+(\S+)\s+(\S+)\s+(\S+)/) {
62 $hinc{$1} = $2;
63 $libinc{$2} = $1;
64 $cskip{$3} = $1;
65 if($3 ne "NONE") {
66 $csrc{$1} = $3;
67 $fmax{$1} = 99;
68 $rmax{$1} = 99;
69 $fassigned{$1} = ":";
70 $rassigned{$1} = ":";
71 $fnew{$1} = 0;
72 $rnew{$1} = 0;
73 }
74 } elsif (/^F\s+(\S+)/) {
75 # Add extra function with $1
76 } elsif (/^R\s+(\S+)\s+(\S+)/) {
77 $rextra{$1} = $2;
78 $rcodes{$1} = $2;
79 }
80}
81
82close IN;
83
84# Scan each header file in turn and make a list of error codes
85# and function names
86
87while (($hdr, $lib) = each %libinc)
88{
89 next if($hdr eq "NONE");
90 print STDERR "Scanning header file $hdr\n" if $debug;
91 my $line = "", $def= "", $linenr = 0, $gotfile = 0;
92 if (open(IN, "<$hdr")) {
93 $gotfile = 1;
94 while(<IN>) {
95 $linenr++;
96 print STDERR "line: $linenr\r" if $debug;
97
98 last if(/BEGIN\s+ERROR\s+CODES/);
99 if ($line ne '') {
100 $_ = $line . $_;
101 $line = '';
102 }
103
104 if (/\\$/) {
105 $line = $_;
106 next;
107 }
108
109 if(/\/\*/) {
110 if (not /\*\//) { # multiline comment...
111 $line = $_; # ... just accumulate
112 next;
113 } else {
114 s/\/\*.*?\*\///gs; # wipe it
115 }
116 }
117
118 if ($cpp) {
119 $cpp++ if /^#\s*if/;
120 $cpp-- if /^#\s*endif/;
121 next;
122 }
123 $cpp = 1 if /^#.*ifdef.*cplusplus/; # skip "C" declaration
124
125 next if (/^\#/); # skip preprocessor directives
126
127 s/{[^{}]*}//gs; # ignore {} blocks
128
129 if (/\{|\/\*/) { # Add a } so editor works...
130 $line = $_;
131 } else {
132 $def .= $_;
133 }
134 }
135 }
136
137 print STDERR " \r" if $debug;
138 $defnr = 0;
139 # Delete any DECLARE_ macros
140 $def =~ s/DECLARE_\w+\([\w,\s]+\)//gs;
141 foreach (split /;/, $def) {
142 $defnr++;
143 print STDERR "def: $defnr\r" if $debug;
144
145 # The goal is to collect function names from function declarations.
146
147 s/^[\n\s]*//g;
148 s/[\n\s]*$//g;
149
150 # Skip over recognized non-function declarations
151 next if(/typedef\W/ or /DECLARE_STACK_OF/ or /TYPEDEF_.*_OF/);
152
153 # Remove STACK_OF(foo)
154 s/STACK_OF\(\w+\)/void/;
155
156 # Reduce argument lists to empty ()
157 # fold round brackets recursively: (t(*v)(t),t) -> (t{}{},t) -> {}
158 while(/\(.*\)/s) {
159 s/\([^\(\)]+\)/\{\}/gs;
160 s/\(\s*\*\s*(\w+)\s*\{\}\s*\)/$1/gs; #(*f{}) -> f
161 }
162 # pretend as we didn't use curly braces: {} -> ()
163 s/\{\}/\(\)/gs;
164
165 if (/(\w+)\s*\(\).*/s) { # first token prior [first] () is
166 my $name = $1; # a function name!
167 $name =~ tr/[a-z]/[A-Z]/;
168 $ftrans{$name} = $1;
169 } elsif (/[\(\)]/ and not (/=/)) {
170 print STDERR "Header $hdr: cannot parse: $_;\n";
171 }
172 }
173
174 print STDERR " \r" if $debug;
175
176 next if $reindex;
177
178 # Scan function and reason codes and store them: keep a note of the
179 # maximum code used.
180
181 if ($gotfile) {
182 while(<IN>) {
183 if(/^\#define\s+(\S+)\s+(\S+)/) {
184 $name = $1;
185 $code = $2;
186 next if $name =~ /^${lib}err/;
187 unless($name =~ /^${lib}_([RF])_(\w+)$/) {
188 print STDERR "Invalid error code $name\n";
189 next;
190 }
191 if($1 eq "R") {
192 $rcodes{$name} = $code;
193 if ($rassigned{$lib} =~ /:$code:/) {
194 print STDERR "!! ERROR: $lib reason code $code assigned twice\n";
195 }
196 $rassigned{$lib} .= "$code:";
197 if(!(exists $rextra{$name}) &&
198 ($code > $rmax{$lib}) ) {
199 $rmax{$lib} = $code;
200 }
201 } else {
202 if ($fassigned{$lib} =~ /:$code:/) {
203 print STDERR "!! ERROR: $lib function code $code assigned twice\n";
204 }
205 $fassigned{$lib} .= "$code:";
206 if($code > $fmax{$lib}) {
207 $fmax{$lib} = $code;
208 }
209 $fcodes{$name} = $code;
210 }
211 }
212 }
213 }
214
215 if ($debug) {
216 if (defined($fmax{$lib})) {
217 print STDERR "Max function code fmax" . "{" . "$lib" . "} = $fmax{$lib}\n";
218 $fassigned{$lib} =~ m/^:(.*):$/;
219 @fassigned = sort {$a <=> $b} split(":", $1);
220 print STDERR " @fassigned\n";
221 }
222 if (defined($rmax{$lib})) {
223 print STDERR "Max reason code rmax" . "{" . "$lib" . "} = $rmax{$lib}\n";
224 $rassigned{$lib} =~ m/^:(.*):$/;
225 @rassigned = sort {$a <=> $b} split(":", $1);
226 print STDERR " @rassigned\n";
227 }
228 }
229
230 if ($lib eq "SSL") {
231 if ($rmax{$lib} >= 1000) {
232 print STDERR "!! ERROR: SSL error codes 1000+ are reserved for alerts.\n";
233 print STDERR "!! Any new alerts must be added to $config.\n";
234 print STDERR "\n";
235 }
236 }
237 close IN;
238}
239
240# Scan each C source file and look for function and reason codes
241# This is done by looking for strings that "look like" function or
242# reason codes: basically anything consisting of all upper case and
243# numerics which has _F_ or _R_ in it and which has the name of an
244# error library at the start. This seems to work fine except for the
245# oddly named structure BIO_F_CTX which needs to be ignored.
246# If a code doesn't exist in list compiled from headers then mark it
247# with the value "X" as a place holder to give it a value later.
248# Store all function and reason codes found in %ufcodes and %urcodes
249# so all those unreferenced can be printed out.
250
251
252foreach $file (@source) {
253 # Don't parse the error source file.
254 next if exists $cskip{$file};
255 print STDERR "File loaded: ".$file."\r" if $debug;
256 open(IN, "<$file") || die "Can't open source file $file\n";
257 while(<IN>) {
258 if(/(([A-Z0-9]+)_F_([A-Z0-9_]+))/) {
259 next unless exists $csrc{$2};
260 next if($1 eq "BIO_F_BUFFER_CTX");
261 $ufcodes{$1} = 1;
262 if(!exists $fcodes{$1}) {
263 $fcodes{$1} = "X";
264 $fnew{$2}++;
265 }
266 $notrans{$1} = 1 unless exists $ftrans{$3};
267 }
268 if(/(([A-Z0-9]+)_R_[A-Z0-9_]+)/) {
269 next unless exists $csrc{$2};
270 $urcodes{$1} = 1;
271 if(!exists $rcodes{$1}) {
272 $rcodes{$1} = "X";
273 $rnew{$2}++;
274 }
275 }
276 }
277 close IN;
278}
279print STDERR " \n" if $debug;
280
281# Now process each library in turn.
282
283foreach $lib (keys %csrc)
284{
285 my $hfile = $hinc{$lib};
286 my $cfile = $csrc{$lib};
287 if(!$fnew{$lib} && !$rnew{$lib}) {
288 print STDERR "$lib:\t\tNo new error codes\n";
289 next unless $rebuild;
290 } else {
291 print STDERR "$lib:\t\t$fnew{$lib} New Functions,";
292 print STDERR " $rnew{$lib} New Reasons.\n";
293 next unless $dowrite;
294 }
295
296 # If we get here then we have some new error codes so we
297 # need to rebuild the header file and C file.
298
299 # Make a sorted list of error and reason codes for later use.
300
301 my @function = sort grep(/^${lib}_/,keys %fcodes);
302 my @reasons = sort grep(/^${lib}_/,keys %rcodes);
303
304 # Rewrite the header file
305
306 if (open(IN, "<$hfile")) {
307 # Copy across the old file
308 while(<IN>) {
309 push @out, $_;
310 last if (/BEGIN ERROR CODES/);
311 }
312 close IN;
313 } else {
314 push @out,
315"/* ====================================================================\n",
316" * Copyright (c) 2001-2008 The OpenSSL Project. All rights reserved.\n",
317" *\n",
318" * Redistribution and use in source and binary forms, with or without\n",
319" * modification, are permitted provided that the following conditions\n",
320" * are met:\n",
321" *\n",
322" * 1. Redistributions of source code must retain the above copyright\n",
323" * notice, this list of conditions and the following disclaimer. \n",
324" *\n",
325" * 2. Redistributions in binary form must reproduce the above copyright\n",
326" * notice, this list of conditions and the following disclaimer in\n",
327" * the documentation and/or other materials provided with the\n",
328" * distribution.\n",
329" *\n",
330" * 3. All advertising materials mentioning features or use of this\n",
331" * software must display the following acknowledgment:\n",
332" * \"This product includes software developed by the OpenSSL Project\n",
333" * for use in the OpenSSL Toolkit. (http://www.openssl.org/)\"\n",
334" *\n",
335" * 4. The names \"OpenSSL Toolkit\" and \"OpenSSL Project\" must not be used to\n",
336" * endorse or promote products derived from this software without\n",
337" * prior written permission. For written permission, please contact\n",
338" * openssl-core\@openssl.org.\n",
339" *\n",
340" * 5. Products derived from this software may not be called \"OpenSSL\"\n",
341" * nor may \"OpenSSL\" appear in their names without prior written\n",
342" * permission of the OpenSSL Project.\n",
343" *\n",
344" * 6. Redistributions of any form whatsoever must retain the following\n",
345" * acknowledgment:\n",
346" * \"This product includes software developed by the OpenSSL Project\n",
347" * for use in the OpenSSL Toolkit (http://www.openssl.org/)\"\n",
348" *\n",
349" * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\n",
350" * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n",
351" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n",
352" * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR\n",
353" * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n",
354" * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n",
355" * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n",
356" * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n",
357" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n",
358" * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n",
359" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n",
360" * OF THE POSSIBILITY OF SUCH DAMAGE.\n",
361" * ====================================================================\n",
362" *\n",
363" * This product includes cryptographic software written by Eric Young\n",
364" * (eay\@cryptsoft.com). This product includes software written by Tim\n",
365" * Hudson (tjh\@cryptsoft.com).\n",
366" *\n",
367" */\n",
368"\n",
369"#ifndef HEADER_${lib}_ERR_H\n",
370"#define HEADER_${lib}_ERR_H\n",
371"\n",
372"/* BEGIN ERROR CODES */\n";
373 }
374 open (OUT, ">$hfile") || die "Can't Open File $hfile for writing\n";
375
376 print OUT @out;
377 undef @out;
378 print OUT <<"EOF";
379/* The following lines are auto generated by the script mkerr.pl. Any changes
380 * made after this point may be overwritten when the script is next run.
381 */
382EOF
383 if($static) {
384 print OUT <<"EOF";
385${staticloader}void ERR_load_${lib}_strings(void);
386
387EOF
388 } else {
389 print OUT <<"EOF";
390${staticloader}void ERR_load_${lib}_strings(void);
391${staticloader}void ERR_unload_${lib}_strings(void);
392${staticloader}void ERR_${lib}_error(int function, int reason, char *file, int line);
393#define ${lib}err(f,r) ERR_${lib}_error((f),(r),__FILE__,__LINE__)
394
395EOF
396 }
397 print OUT <<"EOF";
398/* Error codes for the $lib functions. */
399
400/* Function codes. */
401EOF
402
403 foreach $i (@function) {
404 $z=6-int(length($i)/8);
405 if($fcodes{$i} eq "X") {
406 $fassigned{$lib} =~ m/^:([^:]*):/;
407 $findcode = $1;
408 if (!defined($findcode)) {
409 $findcode = $fmax{$lib};
410 }
411 while ($fassigned{$lib} =~ m/:$findcode:/) {
412 $findcode++;
413 }
414 $fcodes{$i} = $findcode;
415 $fassigned{$lib} .= "$findcode:";
416 print STDERR "New Function code $i\n" if $debug;
417 }
418 printf OUT "#define $i%s $fcodes{$i}\n","\t" x $z;
419 }
420
421 print OUT "\n/* Reason codes. */\n";
422
423 foreach $i (@reasons) {
424 $z=6-int(length($i)/8);
425 if($rcodes{$i} eq "X") {
426 $rassigned{$lib} =~ m/^:([^:]*):/;
427 $findcode = $1;
428 if (!defined($findcode)) {
429 $findcode = $rmax{$lib};
430 }
431 while ($rassigned{$lib} =~ m/:$findcode:/) {
432 $findcode++;
433 }
434 $rcodes{$i} = $findcode;
435 $rassigned{$lib} .= "$findcode:";
436 print STDERR "New Reason code $i\n" if $debug;
437 }
438 printf OUT "#define $i%s $rcodes{$i}\n","\t" x $z;
439 }
440 print OUT <<"EOF";
441
442#ifdef __cplusplus
443}
444#endif
445#endif
446EOF
447 close OUT;
448
449 # Rewrite the C source file containing the error details.
450
451 # First, read any existing reason string definitions:
452 my %err_reason_strings;
453 if (open(IN,"<$cfile")) {
454 while (<IN>) {
455 if (/\b(${lib}_R_\w*)\b.*\"(.*)\"/) {
456 $err_reason_strings{$1} = $2;
457 }
458 }
459 close(IN);
460 }
461
462 my $hincf;
463 if($static) {
464 $hfile =~ /([^\/]+)$/;
465 $hincf = "<openssl/$1>";
466 } else {
467 $hincf = "\"$hfile\"";
468 }
469
470 # If static we know the error code at compile time so use it
471 # in error definitions.
472
473 if ($static)
474 {
475 $pack_errcode = "ERR_LIB_${lib}";
476 $load_errcode = "0";
477 }
478 else
479 {
480 $pack_errcode = "0";
481 $load_errcode = "ERR_LIB_${lib}";
482 }
483
484
485 open (OUT,">$cfile") || die "Can't open $cfile for writing";
486
487 print OUT <<"EOF";
488/* $cfile */
489/* ====================================================================
490 * Copyright (c) 1999-2008 The OpenSSL Project. All rights reserved.
491 *
492 * Redistribution and use in source and binary forms, with or without
493 * modification, are permitted provided that the following conditions
494 * are met:
495 *
496 * 1. Redistributions of source code must retain the above copyright
497 * notice, this list of conditions and the following disclaimer.
498 *
499 * 2. Redistributions in binary form must reproduce the above copyright
500 * notice, this list of conditions and the following disclaimer in
501 * the documentation and/or other materials provided with the
502 * distribution.
503 *
504 * 3. All advertising materials mentioning features or use of this
505 * software must display the following acknowledgment:
506 * "This product includes software developed by the OpenSSL Project
507 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
508 *
509 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
510 * endorse or promote products derived from this software without
511 * prior written permission. For written permission, please contact
512 * openssl-core\@OpenSSL.org.
513 *
514 * 5. Products derived from this software may not be called "OpenSSL"
515 * nor may "OpenSSL" appear in their names without prior written
516 * permission of the OpenSSL Project.
517 *
518 * 6. Redistributions of any form whatsoever must retain the following
519 * acknowledgment:
520 * "This product includes software developed by the OpenSSL Project
521 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
522 *
523 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
524 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
525 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
526 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
527 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
528 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
529 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
530 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
531 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
532 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
533 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
534 * OF THE POSSIBILITY OF SUCH DAMAGE.
535 * ====================================================================
536 *
537 * This product includes cryptographic software written by Eric Young
538 * (eay\@cryptsoft.com). This product includes software written by Tim
539 * Hudson (tjh\@cryptsoft.com).
540 *
541 */
542
543/* NOTE: this file was auto generated by the mkerr.pl script: any changes
544 * made to it will be overwritten when the script next updates this file,
545 * only reason strings will be preserved.
546 */
547
548#include <stdio.h>
549#include <openssl/err.h>
550#include $hincf
551
552/* BEGIN ERROR CODES */
553#ifndef OPENSSL_NO_ERR
554
555#define ERR_FUNC(func) ERR_PACK($pack_errcode,func,0)
556#define ERR_REASON(reason) ERR_PACK($pack_errcode,0,reason)
557
558static ERR_STRING_DATA ${lib}_str_functs[]=
559 {
560EOF
561 # Add each function code: if a function name is found then use it.
562 foreach $i (@function) {
563 my $fn;
564 $i =~ /^${lib}_F_(\S+)$/;
565 $fn = $1;
566 if(exists $ftrans{$fn}) {
567 $fn = $ftrans{$fn};
568 }
569# print OUT "{ERR_PACK($pack_errcode,$i,0),\t\"$fn\"},\n";
570 print OUT "{ERR_FUNC($i),\t\"$fn\"},\n";
571 }
572 print OUT <<"EOF";
573{0,NULL}
574 };
575
576static ERR_STRING_DATA ${lib}_str_reasons[]=
577 {
578EOF
579 # Add each reason code.
580 foreach $i (@reasons) {
581 my $rn;
582 my $rstr = "ERR_REASON($i)";
583 my $nspc = 0;
584 if (exists $err_reason_strings{$i}) {
585 $rn = $err_reason_strings{$i};
586 } else {
587 $i =~ /^${lib}_R_(\S+)$/;
588 $rn = $1;
589 $rn =~ tr/_[A-Z]/ [a-z]/;
590 }
591 $nspc = 40 - length($rstr) unless length($rstr) > 40;
592 $nspc = " " x $nspc;
593 print OUT "{${rstr}${nspc},\"$rn\"},\n";
594 }
595if($static) {
596 print OUT <<"EOF";
597{0,NULL}
598 };
599
600#endif
601
602${staticloader}void ERR_load_${lib}_strings(void)
603 {
604#ifndef OPENSSL_NO_ERR
605
606 if (ERR_func_error_string(${lib}_str_functs[0].error) == NULL)
607 {
608 ERR_load_strings($load_errcode,${lib}_str_functs);
609 ERR_load_strings($load_errcode,${lib}_str_reasons);
610 }
611#endif
612 }
613EOF
614} else {
615 print OUT <<"EOF";
616{0,NULL}
617 };
618
619#endif
620
621#ifdef ${lib}_LIB_NAME
622static ERR_STRING_DATA ${lib}_lib_name[]=
623 {
624{0 ,${lib}_LIB_NAME},
625{0,NULL}
626 };
627#endif
628
629
630static int ${lib}_lib_error_code=0;
631static int ${lib}_error_init=1;
632
633${staticloader}void ERR_load_${lib}_strings(void)
634 {
635 if (${lib}_lib_error_code == 0)
636 ${lib}_lib_error_code=ERR_get_next_error_library();
637
638 if (${lib}_error_init)
639 {
640 ${lib}_error_init=0;
641#ifndef OPENSSL_NO_ERR
642 ERR_load_strings(${lib}_lib_error_code,${lib}_str_functs);
643 ERR_load_strings(${lib}_lib_error_code,${lib}_str_reasons);
644#endif
645
646#ifdef ${lib}_LIB_NAME
647 ${lib}_lib_name->error = ERR_PACK(${lib}_lib_error_code,0,0);
648 ERR_load_strings(0,${lib}_lib_name);
649#endif
650 }
651 }
652
653${staticloader}void ERR_unload_${lib}_strings(void)
654 {
655 if (${lib}_error_init == 0)
656 {
657#ifndef OPENSSL_NO_ERR
658 ERR_unload_strings(${lib}_lib_error_code,${lib}_str_functs);
659 ERR_unload_strings(${lib}_lib_error_code,${lib}_str_reasons);
660#endif
661
662#ifdef ${lib}_LIB_NAME
663 ERR_unload_strings(0,${lib}_lib_name);
664#endif
665 ${lib}_error_init=1;
666 }
667 }
668
669${staticloader}void ERR_${lib}_error(int function, int reason, char *file, int line)
670 {
671 if (${lib}_lib_error_code == 0)
672 ${lib}_lib_error_code=ERR_get_next_error_library();
673 ERR_PUT_error(${lib}_lib_error_code,function,reason,file,line);
674 }
675EOF
676
677}
678
679 close OUT;
680 undef %err_reason_strings;
681}
682
683if($debug && defined(%notrans)) {
684 print STDERR "The following function codes were not translated:\n";
685 foreach(sort keys %notrans)
686 {
687 print STDERR "$_\n";
688 }
689}
690
691# Make a list of unreferenced function and reason codes
692
693foreach (keys %fcodes) {
694 push (@funref, $_) unless exists $ufcodes{$_};
695}
696
697foreach (keys %rcodes) {
698 push (@runref, $_) unless exists $urcodes{$_};
699}
700
701if($debug && defined(@funref) ) {
702 print STDERR "The following function codes were not referenced:\n";
703 foreach(sort @funref)
704 {
705 print STDERR "$_\n";
706 }
707}
708
709if($debug && defined(@runref) ) {
710 print STDERR "The following reason codes were not referenced:\n";
711 foreach(sort @runref)
712 {
713 print STDERR "$_\n";
714 }
715}
diff --git a/src/lib/libcrypto/util/mkfiles.pl b/src/lib/libcrypto/util/mkfiles.pl
index 6d15831450..67fb8694c8 100644
--- a/src/lib/libcrypto/util/mkfiles.pl
+++ b/src/lib/libcrypto/util/mkfiles.pl
@@ -26,7 +26,6 @@ my @dirs = (
26"crypto/aes", 26"crypto/aes",
27"crypto/camellia", 27"crypto/camellia",
28"crypto/seed", 28"crypto/seed",
29"crypto/modes",
30"crypto/bn", 29"crypto/bn",
31"crypto/rsa", 30"crypto/rsa",
32"crypto/dsa", 31"crypto/dsa",
@@ -47,7 +46,6 @@ my @dirs = (
47"crypto/pem", 46"crypto/pem",
48"crypto/x509", 47"crypto/x509",
49"crypto/x509v3", 48"crypto/x509v3",
50"crypto/cms",
51"crypto/conf", 49"crypto/conf",
52"crypto/jpake", 50"crypto/jpake",
53"crypto/txt_db", 51"crypto/txt_db",
@@ -58,20 +56,25 @@ my @dirs = (
58"crypto/ocsp", 56"crypto/ocsp",
59"crypto/ui", 57"crypto/ui",
60"crypto/krb5", 58"crypto/krb5",
61#"crypto/store", 59"crypto/store",
62"crypto/pqueue", 60"crypto/pqueue",
63"crypto/whrlpool", 61"crypto/cms",
64"crypto/ts", 62"fips",
63"fips/aes",
64"fips/des",
65"fips/dsa",
66"fips/dh",
67"fips/hmac",
68"fips/rand",
69"fips/rsa",
70"fips/sha",
65"ssl", 71"ssl",
66"apps", 72"apps",
67"engines", 73"engines",
68"engines/ccgost",
69"test", 74"test",
70"tools" 75"tools"
71); 76);
72 77
73%top;
74
75foreach (@dirs) { 78foreach (@dirs) {
76 &files_dir ($_, "Makefile"); 79 &files_dir ($_, "Makefile");
77} 80}
@@ -115,8 +118,8 @@ while (<IN>)
115 $o =~ s/\s+$//; 118 $o =~ s/\s+$//;
116 $o =~ s/\s+/ /g; 119 $o =~ s/\s+/ /g;
117 120
118 $o =~ s/\$[({]([^)}]+)[)}]/$top{$1} or $sym{$1}/ge; 121 $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
119 $sym{$s}=($top{$s} or $o); 122 $sym{$s}=$o;
120 } 123 }
121 } 124 }
122 125
@@ -126,15 +129,6 @@ foreach (sort keys %sym)
126 { 129 {
127 print "$_=$sym{$_}\n"; 130 print "$_=$sym{$_}\n";
128 } 131 }
129if ($dir eq "." && defined($sym{"BUILDENV"}))
130 {
131 foreach (split(' ',$sym{"BUILDENV"}))
132 {
133 /^(.+)=/;
134 $top{$1}=$sym{$1};
135 }
136 }
137
138print "RELATIVE_DIRECTORY=\n"; 132print "RELATIVE_DIRECTORY=\n";
139 133
140close (IN); 134close (IN);
diff --git a/src/lib/libcrypto/util/mklink.pl b/src/lib/libcrypto/util/mklink.pl
index 61db12c68f..eacc327882 100644
--- a/src/lib/libcrypto/util/mklink.pl
+++ b/src/lib/libcrypto/util/mklink.pl
@@ -15,13 +15,21 @@
15# Apart from this, this script should be able to handle even the most 15# Apart from this, this script should be able to handle even the most
16# pathological cases. 16# pathological cases.
17 17
18use Cwd; 18my $pwd;
19eval 'use Cwd;';
20if ($@)
21 {
22 $pwd = `pwd`;
23 }
24else
25 {
26 $pwd = getcwd();
27 }
19 28
20my $from = shift; 29my $from = shift;
21my @files = @ARGV; 30my @files = @ARGV;
22 31
23my @from_path = split(/[\\\/]/, $from); 32my @from_path = split(/[\\\/]/, $from);
24my $pwd = getcwd();
25chomp($pwd); 33chomp($pwd);
26my @pwd_path = split(/[\\\/]/, $pwd); 34my @pwd_path = split(/[\\\/]/, $pwd);
27 35
@@ -51,7 +59,6 @@ my $to = join('/', @to_path);
51 59
52my $file; 60my $file;
53$symlink_exists=eval {symlink("",""); 1}; 61$symlink_exists=eval {symlink("",""); 1};
54if ($^O eq "msys") { $symlink_exists=0 };
55foreach $file (@files) { 62foreach $file (@files) {
56 my $err = ""; 63 my $err = "";
57 if ($symlink_exists) { 64 if ($symlink_exists) {
diff --git a/src/lib/libcrypto/util/mkstack.pl b/src/lib/libcrypto/util/mkstack.pl
new file mode 100644
index 0000000000..2a968f395f
--- /dev/null
+++ b/src/lib/libcrypto/util/mkstack.pl
@@ -0,0 +1,126 @@
1#!/usr/local/bin/perl -w
2
3# This is a utility that searches out "DECLARE_STACK_OF()"
4# declarations in .h and .c files, and updates/creates/replaces
5# the corresponding macro declarations in crypto/stack/safestack.h.
6# As it's not generally possible to have macros that generate macros,
7# we need to control this from the "outside", here in this script.
8#
9# Geoff Thorpe, June, 2000 (with massive Perl-hacking
10# help from Steve Robb)
11
12my $safestack = "crypto/stack/safestack";
13
14my $do_write;
15while (@ARGV) {
16 my $arg = $ARGV[0];
17 if($arg eq "-write") {
18 $do_write = 1;
19 }
20 shift @ARGV;
21}
22
23
24@source = (<crypto/*.[ch]>, <crypto/*/*.[ch]>, <ssl/*.[ch]>);
25foreach $file (@source) {
26 next if -l $file;
27
28 # Open the .c/.h file for reading
29 open(IN, "< $file") || die "Can't open $file for reading: $!";
30
31 while(<IN>) {
32 if (/^DECLARE_STACK_OF\(([^)]+)\)/) {
33 push @stacklst, $1;
34 } if (/^DECLARE_ASN1_SET_OF\(([^)]+)\)/) {
35 push @asn1setlst, $1;
36 } if (/^DECLARE_PKCS12_STACK_OF\(([^)]+)\)/) {
37 push @p12stklst, $1;
38 }
39 }
40 close(IN);
41}
42
43
44
45my $old_stackfile = "";
46my $new_stackfile = "";
47my $inside_block = 0;
48my $type_thing;
49
50open(IN, "< $safestack.h") || die "Can't open input file: $!";
51while(<IN>) {
52 $old_stackfile .= $_;
53
54 if (m|^/\* This block of defines is updated by util/mkstack.pl, please do not touch! \*/|) {
55 $inside_block = 1;
56 }
57 if (m|^/\* End of util/mkstack.pl block, you may now edit :-\) \*/|) {
58 $inside_block = 0;
59 } elsif ($inside_block == 0) {
60 $new_stackfile .= $_;
61 }
62 next if($inside_block != 1);
63 $new_stackfile .= "/* This block of defines is updated by util/mkstack.pl, please do not touch! */";
64
65 foreach $type_thing (sort @stacklst) {
66 $new_stackfile .= <<EOF;
67
68#define sk_${type_thing}_new(st) SKM_sk_new($type_thing, (st))
69#define sk_${type_thing}_new_null() SKM_sk_new_null($type_thing)
70#define sk_${type_thing}_free(st) SKM_sk_free($type_thing, (st))
71#define sk_${type_thing}_num(st) SKM_sk_num($type_thing, (st))
72#define sk_${type_thing}_value(st, i) SKM_sk_value($type_thing, (st), (i))
73#define sk_${type_thing}_set(st, i, val) SKM_sk_set($type_thing, (st), (i), (val))
74#define sk_${type_thing}_zero(st) SKM_sk_zero($type_thing, (st))
75#define sk_${type_thing}_push(st, val) SKM_sk_push($type_thing, (st), (val))
76#define sk_${type_thing}_unshift(st, val) SKM_sk_unshift($type_thing, (st), (val))
77#define sk_${type_thing}_find(st, val) SKM_sk_find($type_thing, (st), (val))
78#define sk_${type_thing}_find_ex(st, val) SKM_sk_find_ex($type_thing, (st), (val))
79#define sk_${type_thing}_delete(st, i) SKM_sk_delete($type_thing, (st), (i))
80#define sk_${type_thing}_delete_ptr(st, ptr) SKM_sk_delete_ptr($type_thing, (st), (ptr))
81#define sk_${type_thing}_insert(st, val, i) SKM_sk_insert($type_thing, (st), (val), (i))
82#define sk_${type_thing}_set_cmp_func(st, cmp) SKM_sk_set_cmp_func($type_thing, (st), (cmp))
83#define sk_${type_thing}_dup(st) SKM_sk_dup($type_thing, st)
84#define sk_${type_thing}_pop_free(st, free_func) SKM_sk_pop_free($type_thing, (st), (free_func))
85#define sk_${type_thing}_shift(st) SKM_sk_shift($type_thing, (st))
86#define sk_${type_thing}_pop(st) SKM_sk_pop($type_thing, (st))
87#define sk_${type_thing}_sort(st) SKM_sk_sort($type_thing, (st))
88#define sk_${type_thing}_is_sorted(st) SKM_sk_is_sorted($type_thing, (st))
89EOF
90 }
91 foreach $type_thing (sort @asn1setlst) {
92 $new_stackfile .= <<EOF;
93
94#define d2i_ASN1_SET_OF_${type_thing}(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \\
95 SKM_ASN1_SET_OF_d2i($type_thing, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
96#define i2d_ASN1_SET_OF_${type_thing}(st, pp, i2d_func, ex_tag, ex_class, is_set) \\
97 SKM_ASN1_SET_OF_i2d($type_thing, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
98#define ASN1_seq_pack_${type_thing}(st, i2d_func, buf, len) \\
99 SKM_ASN1_seq_pack($type_thing, (st), (i2d_func), (buf), (len))
100#define ASN1_seq_unpack_${type_thing}(buf, len, d2i_func, free_func) \\
101 SKM_ASN1_seq_unpack($type_thing, (buf), (len), (d2i_func), (free_func))
102EOF
103 }
104 foreach $type_thing (sort @p12stklst) {
105 $new_stackfile .= <<EOF;
106
107#define PKCS12_decrypt_d2i_${type_thing}(algor, d2i_func, free_func, pass, passlen, oct, seq) \\
108 SKM_PKCS12_decrypt_d2i($type_thing, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq))
109EOF
110 }
111 $new_stackfile .= "/* End of util/mkstack.pl block, you may now edit :-) */\n";
112 $inside_block = 2;
113}
114
115
116if ($new_stackfile eq $old_stackfile) {
117 print "No changes to $safestack.h.\n";
118 exit 0; # avoid unnecessary rebuild
119}
120
121if ($do_write) {
122 print "Writing new $safestack.h.\n";
123 open OUT, ">$safestack.h" || die "Can't open output file";
124 print OUT $new_stackfile;
125 close OUT;
126}
diff --git a/src/lib/libcrypto/util/pl/BC-32.pl b/src/lib/libcrypto/util/pl/BC-32.pl
index 1f1e13fb40..99b8c058d2 100644
--- a/src/lib/libcrypto/util/pl/BC-32.pl
+++ b/src/lib/libcrypto/util/pl/BC-32.pl
@@ -117,7 +117,7 @@ ___
117 else 117 else
118 { 118 {
119 local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':''; 119 local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':'';
120 $ex.=' ws2_32.lib gdi32.lib'; 120 $ex.=' wsock32.lib gdi32.lib';
121 $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n"; 121 $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n";
122 } 122 }
123 $ret.="\n"; 123 $ret.="\n";
diff --git a/src/lib/libcrypto/util/pl/Mingw32.pl b/src/lib/libcrypto/util/pl/Mingw32.pl
index fe3fb27a78..8f0483fb93 100644
--- a/src/lib/libcrypto/util/pl/Mingw32.pl
+++ b/src/lib/libcrypto/util/pl/Mingw32.pl
@@ -19,7 +19,7 @@ $cc='gcc';
19if ($debug) 19if ($debug)
20 { $cflags="-DL_ENDIAN -DDSO_WIN32 -g2 -ggdb"; } 20 { $cflags="-DL_ENDIAN -DDSO_WIN32 -g2 -ggdb"; }
21else 21else
22 { $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -mcpu=i486 -Wall"; } 22 { $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -march=i486 -Wall"; }
23 23
24if ($gaswin and !$no_asm) 24if ($gaswin and !$no_asm)
25 { 25 {
@@ -43,6 +43,8 @@ if ($gaswin and !$no_asm)
43 $rmd160_asm_src='crypto/ripemd/asm/rm-win32.s'; 43 $rmd160_asm_src='crypto/ripemd/asm/rm-win32.s';
44 $sha1_asm_obj='$(OBJ_D)\s1-win32.o'; 44 $sha1_asm_obj='$(OBJ_D)\s1-win32.o';
45 $sha1_asm_src='crypto/sha/asm/s1-win32.s'; 45 $sha1_asm_src='crypto/sha/asm/s1-win32.s';
46 $cpuid_asm_obj='$(OBJ_D)\cpu-win32.o';
47 $cpuid_asm_src='crypto/cpu-win32.s';
46 $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS"; 48 $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS";
47 } 49 }
48 50
@@ -55,7 +57,7 @@ $link='${CC}';
55$lflags='${CFLAGS}'; 57$lflags='${CFLAGS}';
56$efile='-o '; 58$efile='-o ';
57$exep=''; 59$exep='';
58$ex_libs="-lws2_32 -lgdi32"; 60$ex_libs="-lwsock32 -lgdi32";
59 61
60# static library stuff 62# static library stuff
61$mklib='ar r'; 63$mklib='ar r';
diff --git a/src/lib/libcrypto/util/pl/VC-32.pl b/src/lib/libcrypto/util/pl/VC-32.pl
index c3e29fda96..8eb3c6c4bd 100644
--- a/src/lib/libcrypto/util/pl/VC-32.pl
+++ b/src/lib/libcrypto/util/pl/VC-32.pl
@@ -4,7 +4,21 @@
4# 4#
5 5
6$ssl= "ssleay32"; 6$ssl= "ssleay32";
7$crypto="libeay32"; 7
8if ($fips && !$shlib)
9 {
10 $crypto="libeayfips32";
11 $crypto_compat = "libeaycompat32.lib";
12 }
13else
14 {
15 $crypto="libeay32";
16 }
17
18if ($fipscanisterbuild)
19 {
20 $fips_canister_path = "\$(LIB_D)\\fipscanister.lib";
21 }
8 22
9$o='\\'; 23$o='\\';
10$cp='$(PERL) util/copy.pl'; 24$cp='$(PERL) util/copy.pl';
@@ -13,10 +27,6 @@ $rm='del /Q';
13 27
14$zlib_lib="zlib1.lib"; 28$zlib_lib="zlib1.lib";
15 29
16# Santize -L options for ms link
17$l_flags =~ s/-L("\[^"]+")/\/libpath:$1/g;
18$l_flags =~ s/-L(\S+)/\/libpath:$1/g;
19
20# C compiler stuff 30# C compiler stuff
21$cc='cl'; 31$cc='cl';
22if ($FLAVOR =~ /WIN64/) 32if ($FLAVOR =~ /WIN64/)
@@ -32,28 +42,14 @@ if ($FLAVOR =~ /WIN64/)
32 # per 0.9.8 release remaining warnings were explicitly examined and 42 # per 0.9.8 release remaining warnings were explicitly examined and
33 # considered safe to ignore. 43 # considered safe to ignore.
34 # 44 #
35 $base_cflags= " $mf_cflag"; 45 $base_cflags=' /W3 /Gs0 /GF /Gy /nologo -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DOPENSSL_SYSNAME_WIN32 -DOPENSSL_SYSNAME_WINNT -DUNICODE -D_UNICODE';
46 $base_cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8
47 $base_cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8
36 my $f = $shlib?' /MD':' /MT'; 48 my $f = $shlib?' /MD':' /MT';
37 $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib 49 $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
38 $opt_cflags=$f.' /Ox'; 50 $opt_cflags=$f.' /Ox';
39 $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; 51 $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
40 $lflags="/nologo /subsystem:console /opt:ref"; 52 $lflags="/nologo /subsystem:console /opt:ref";
41
42 *::perlasm_compile_target = sub {
43 my ($target,$source,$bname)=@_;
44 my $ret;
45
46 $bname =~ s/(.*)\.[^\.]$/$1/;
47 $ret=<<___;
48\$(TMP_D)$o$bname.asm: $source
49 set ASM=\$(ASM)
50 \$(PERL) $source \$\@
51
52$target: \$(TMP_D)$o$bname.asm
53 \$(ASM) $afile\$\@ \$(TMP_D)$o$bname.asm
54
55___
56 }
57 } 53 }
58elsif ($FLAVOR =~ /CE/) 54elsif ($FLAVOR =~ /CE/)
59 { 55 {
@@ -103,18 +99,18 @@ elsif ($FLAVOR =~ /CE/)
103 } 99 }
104 100
105 $cc='$(CC)'; 101 $cc='$(CC)';
106 $base_cflags=' /W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT'; 102 $base_cflags=' /W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -I$(WCECOMPAT)/include -DOPENSSL_SMALL_FOOTPRINT';
107 $base_cflags.=" $wcecdefs"; 103 $base_cflags.=" $wcecdefs";
108 $base_cflags.=' -I$(WCECOMPAT)/include' if (defined($ENV{'WCECOMPAT'}));
109 $base_cflags.=' -I$(PORTSDK_LIBPATH)/../../include' if (defined($ENV{'PORTSDK_LIBPATH'}));
110 $opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics... 104 $opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics...
111 $dbg_clfags=' /MC /Od -DDEBUG -D_DEBUG'; 105 $dbg_clfags=' /MC /Od -DDEBUG -D_DEBUG';
112 $lflags="/nologo /opt:ref $wcelflag"; 106 $lflags="/nologo /opt:ref $wcelflag";
113 } 107 }
114else # Win32 108else # Win32
115 { 109 {
116 $base_cflags= " $mf_cflag"; 110 $base_cflags=' /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32';
117 my $f = $shlib?' /MD':' /MT'; 111 $base_cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8
112 $base_cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8
113 my $f = $shlib || $fips ?' /MD':' /MT';
118 $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib 114 $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
119 $opt_cflags=$f.' /Ox /O2 /Ob2'; 115 $opt_cflags=$f.' /Ox /O2 /Ob2';
120 $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; 116 $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
@@ -122,28 +118,22 @@ else # Win32
122 } 118 }
123$mlflags=''; 119$mlflags='';
124 120
125$out_def ="out32"; $out_def.="dll" if ($shlib); 121$out_def="out32"; $out_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/);
126 $out_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); 122$tmp_def="tmp32"; $tmp_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/);
127$tmp_def ="tmp32"; $tmp_def.="dll" if ($shlib);
128 $tmp_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/);
129$inc_def="inc32"; 123$inc_def="inc32";
130 124
131if ($debug) 125if ($debug)
132 { 126 {
133 $cflags=$dbg_cflags.$base_cflags; 127 $cflags=$dbg_cflags.$base_cflags;
128 $lflags.=" /debug";
129 $mlflags.=' /debug';
134 } 130 }
135else 131else
136 { 132 {
137 $cflags=$opt_cflags.$base_cflags; 133 $cflags=$opt_cflags.$base_cflags;
138 } 134 }
139 135
140# generate symbols.pdb unconditionally
141$app_cflag.=" /Zi /Fd$tmp_def/app";
142$lib_cflag.=" /Zi /Fd$tmp_def/lib";
143$lflags.=" /debug";
144
145$obj='.obj'; 136$obj='.obj';
146$asm_suffix='.asm';
147$ofile="/Fo"; 137$ofile="/Fo";
148 138
149# EXE linking stuff 139# EXE linking stuff
@@ -153,23 +143,26 @@ $efile="/out:";
153$exep='.exe'; 143$exep='.exe';
154if ($no_sock) { $ex_libs=''; } 144if ($no_sock) { $ex_libs=''; }
155elsif ($FLAVOR =~ /CE/) { $ex_libs='winsock.lib'; } 145elsif ($FLAVOR =~ /CE/) { $ex_libs='winsock.lib'; }
156else { $ex_libs='ws2_32.lib'; } 146else { $ex_libs='wsock32.lib'; }
157 147
158if ($FLAVOR =~ /CE/) 148if ($FLAVOR =~ /CE/)
159 { 149 {
160 $ex_libs.=' $(WCECOMPAT)/lib/wcecompatex.lib' if (defined($ENV{'WCECOMPAT'})); 150 $ex_libs.=' $(WCECOMPAT)/lib/wcecompatex.lib';
161 $ex_libs.=' $(PORTSDK_LIBPATH)/portlib.lib' if (defined($ENV{'PORTSDK_LIBPATH'}));
162 $ex_libs.=' /nodefaultlib:oldnames.lib coredll.lib corelibc.lib' if ($ENV{'TARGETCPU'} eq "X86"); 151 $ex_libs.=' /nodefaultlib:oldnames.lib coredll.lib corelibc.lib' if ($ENV{'TARGETCPU'} eq "X86");
163 } 152 }
164else 153else
165 { 154 {
166 $ex_libs.=' gdi32.lib advapi32.lib crypt32.lib user32.lib'; 155 $ex_libs.=' gdi32.lib crypt32.lib advapi32.lib user32.lib';
167 $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/ and `cl 2>&1` =~ /14\.00\.4[0-9]{4}\./); 156 $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/);
168 # WIN32 UNICODE build gets linked with unicows.lib for
169 # backward compatibility with Win9x.
170 $ex_libs="unicows.lib $ex_libs" if ($FLAVOR =~ /WIN32/ and $cflags =~ /\-DUNICODE/);
171 } 157 }
172 158
159# As native NT API is pure UNICODE, our WIN-NT build defaults to UNICODE,
160# but gets linked with unicows.lib to ensure backward compatibility.
161if ($FLAVOR =~ /NT/)
162 {
163 $cflags.=" -DOPENSSL_SYSNAME_WINNT -DUNICODE -D_UNICODE";
164 $ex_libs="unicows.lib $ex_libs";
165 }
173# static library stuff 166# static library stuff
174$mklib='lib /nologo'; 167$mklib='lib /nologo';
175$ranlib=''; 168$ranlib='';
@@ -180,30 +173,23 @@ $lfile='/out:';
180 173
181$shlib_ex_obj=""; 174$shlib_ex_obj="";
182$app_ex_obj="setargv.obj" if ($FLAVOR !~ /CE/); 175$app_ex_obj="setargv.obj" if ($FLAVOR !~ /CE/);
183if ($FLAVOR =~ /WIN64A/) { 176if ($nasm) {
184 if (`nasm -v 2>NUL` =~ /NASM version ([0-9]+\.[0-9]+)/ && $1 >= 2.0) {
185 $asm='nasm -f win64 -DNEAR -Ox -g';
186 $afile='-o ';
187 } else {
188 $asm='ml64 /c /Cp /Cx /Zi';
189 $afile='/Fo';
190 }
191} elsif ($FLAVOR =~ /WIN64I/) {
192 $asm='ias -d debug';
193 $afile="-o ";
194} elsif ($nasm) {
195 my $ver=`nasm -v 2>NUL`; 177 my $ver=`nasm -v 2>NUL`;
196 my $vew=`nasmw -v 2>NUL`; 178 my $vew=`nasmw -v 2>NUL`;
197 # pick newest version 179 # pick newest version
198 $asm=($ver gt $vew?"nasm":"nasmw")." -f win32"; 180 $asm=($ver gt $vew?"nasm":"nasmw")." -f win32";
199 $asmtype="win32n";
200 $afile='-o '; 181 $afile='-o ';
182} elsif ($ml64) {
183 $asm='ml64 /c /Cp /Cx';
184 $asm.=' /Zi' if $debug;
185 $afile='/Fo';
201} else { 186} else {
202 $asm='ml /nologo /Cp /coff /c /Cx /Zi'; 187 $asm='ml /nologo /Cp /coff /c /Cx';
188 $asm.=" /Zi" if $debug;
203 $afile='/Fo'; 189 $afile='/Fo';
204 $asmtype="win32";
205} 190}
206 191
192$aes_asm_obj='';
207$bn_asm_obj=''; 193$bn_asm_obj='';
208$bn_asm_src=''; 194$bn_asm_src='';
209$des_enc_obj=''; 195$des_enc_obj='';
@@ -212,26 +198,56 @@ $bf_enc_obj='';
212$bf_enc_src=''; 198$bf_enc_src='';
213 199
214if (!$no_asm) 200if (!$no_asm)
201 {
202 if ($FLAVOR =~ "WIN32")
203 {
204 $aes_asm_obj='crypto\aes\asm\a_win32.obj';
205 $aes_asm_src='crypto\aes\asm\a_win32.asm';
206 $bn_asm_obj='crypto\bn\asm\bn_win32.obj crypto\bn\asm\mt_win32.obj';
207 $bn_asm_src='crypto\bn\asm\bn_win32.asm crypto\bn\asm\mt_win32.asm';
208 $bnco_asm_obj='crypto\bn\asm\co_win32.obj';
209 $bnco_asm_src='crypto\bn\asm\co_win32.asm';
210 $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj';
211 $des_enc_src='crypto\des\asm\d_win32.asm crypto\des\asm\y_win32.asm';
212 $bf_enc_obj='crypto\bf\asm\b_win32.obj';
213 $bf_enc_src='crypto\bf\asm\b_win32.asm';
214 $cast_enc_obj='crypto\cast\asm\c_win32.obj';
215 $cast_enc_src='crypto\cast\asm\c_win32.asm';
216 $rc4_enc_obj='crypto\rc4\asm\r4_win32.obj';
217 $rc4_enc_src='crypto\rc4\asm\r4_win32.asm';
218 $rc5_enc_obj='crypto\rc5\asm\r5_win32.obj';
219 $rc5_enc_src='crypto\rc5\asm\r5_win32.asm';
220 $md5_asm_obj='crypto\md5\asm\m5_win32.obj';
221 $md5_asm_src='crypto\md5\asm\m5_win32.asm';
222 $sha1_asm_obj='crypto\sha\asm\s1_win32.obj crypto\sha\asm\sha512-sse2.obj';
223 $sha1_asm_src='crypto\sha\asm\s1_win32.asm crypto\sha\asm\sha512-sse2.asm';
224 $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj';
225 $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm';
226 $cpuid_asm_obj='crypto\cpu_win32.obj';
227 $cpuid_asm_src='crypto\cpu_win32.asm';
228 $cflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
229 }
230 elsif ($FLAVOR =~ "WIN64A")
215 { 231 {
216 win32_import_asm($mf_bn_asm, "bn", \$bn_asm_obj, \$bn_asm_src); 232 $aes_asm_obj='$(OBJ_D)\aes-x86_64.obj';
217 win32_import_asm($mf_aes_asm, "aes", \$aes_asm_obj, \$aes_asm_src); 233 $aes_asm_src='crypto\aes\asm\aes-x86_64.asm';
218 win32_import_asm($mf_des_asm, "des", \$des_enc_obj, \$des_enc_src); 234 $bn_asm_obj='$(OBJ_D)\x86_64-mont.obj $(OBJ_D)\bn_asm.obj';
219 win32_import_asm($mf_bf_asm, "bf", \$bf_enc_obj, \$bf_enc_src); 235 $bn_asm_src='crypto\bn\asm\x86_64-mont.asm';
220 win32_import_asm($mf_cast_asm, "cast", \$cast_enc_obj, \$cast_enc_src); 236 $sha1_asm_obj='$(OBJ_D)\sha1-x86_64.obj $(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj';
221 win32_import_asm($mf_rc4_asm, "rc4", \$rc4_enc_obj, \$rc4_enc_src); 237 $sha1_asm_src='crypto\sha\asm\sha1-x86_64.asm crypto\sha\asm\sha256-x86_64.asm crypto\sha\asm\sha512-x86_64.asm';
222 win32_import_asm($mf_rc5_asm, "rc5", \$rc5_enc_obj, \$rc5_enc_src); 238 $cpuid_asm_obj='$(OBJ_D)\cpuid-x86_64.obj';
223 win32_import_asm($mf_md5_asm, "md5", \$md5_asm_obj, \$md5_asm_src); 239 $cpuid_asm_src='crypto\cpuid-x86_64.asm';
224 win32_import_asm($mf_sha_asm, "sha", \$sha1_asm_obj, \$sha1_asm_src); 240 $cflags.=" -DOPENSSL_CPUID_OBJ -DAES_ASM -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM";
225 win32_import_asm($mf_rmd_asm, "ripemd", \$rmd160_asm_obj, \$rmd160_asm_src);
226 win32_import_asm($mf_wp_asm, "whrlpool", \$whirlpool_asm_obj, \$whirlpool_asm_src);
227 win32_import_asm($mf_cpuid_asm, "", \$cpuid_asm_obj, \$cpuid_asm_src);
228 $perl_asm = 1;
229 } 241 }
242 }
230 243
231if ($shlib && $FLAVOR !~ /CE/) 244if ($shlib && $FLAVOR !~ /CE/)
232 { 245 {
233 $mlflags.=" $lflags /dll"; 246 $mlflags.=" $lflags /dll";
234 $lib_cflag.=" -D_WINDLL"; 247# $cflags =~ s| /MD| /MT|;
248 $lib_cflag=" -D_WINDLL";
249 $out_def="out32dll";
250 $tmp_def="tmp32dll";
235 # 251 #
236 # Engage Applink... 252 # Engage Applink...
237 # 253 #
@@ -251,8 +267,8 @@ $(INCO_D)\applink.c: ms\applink.c
251EXHEADER= $(EXHEADER) $(INCO_D)\applink.c 267EXHEADER= $(EXHEADER) $(INCO_D)\applink.c
252 268
253LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj 269LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj
254CRYPTOOBJ=$(OBJ_D)\uplink.obj $(CRYPTOOBJ)
255___ 270___
271$banner .= "CRYPTOOBJ=\$(OBJ_D)\\uplink.obj \$(CRYPTOOBJ)\n";
256 $banner.=<<'___' if ($FLAVOR =~ /WIN64/); 272 $banner.=<<'___' if ($FLAVOR =~ /WIN64/);
257CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ) 273CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ)
258___ 274___
@@ -260,35 +276,119 @@ ___
260elsif ($shlib && $FLAVOR =~ /CE/) 276elsif ($shlib && $FLAVOR =~ /CE/)
261 { 277 {
262 $mlflags.=" $lflags /dll"; 278 $mlflags.=" $lflags /dll";
263 $lflags.=' /entry:mainCRTstartup' if(defined($ENV{'PORTSDK_LIBPATH'})); 279 $lib_cflag=" -D_WINDLL -D_DLL";
264 $lib_cflag.=" -D_WINDLL -D_DLL"; 280 $out_def='out32dll_$(TARGETCPU)';
281 $tmp_def='tmp32dll_$(TARGETCPU)';
265 } 282 }
266 283
284$cflags.=" /Fd$out_def";
285
267sub do_lib_rule 286sub do_lib_rule
268 { 287 {
269 local($objs,$target,$name,$shlib)=@_; 288 my($objs,$target,$name,$shlib,$ign,$base_addr) = @_;
270 local($ret); 289 local($ret);
271 290
272 $taget =~ s/\//$o/g if $o ne '/'; 291 $taget =~ s/\//$o/g if $o ne '/';
273 if ($name ne "") 292 my $base_arg;
293 if ($base_addr ne "")
294 {
295 $base_arg= " /base:$base_addr";
296 }
297 else
298 {
299 $base_arg = "";
300 }
301 if ($target =~ /O_CRYPTO/ && $fipsdso)
302 {
303 $name = "/def:ms/libeayfips.def";
304 }
305 elsif ($name ne "")
274 { 306 {
275 $name =~ tr/a-z/A-Z/; 307 $name =~ tr/a-z/A-Z/;
276 $name = "/def:ms/${name}.def"; 308 $name = "/def:ms/${name}.def";
277 } 309 }
278
279# $target="\$(LIB_D)$o$target"; 310# $target="\$(LIB_D)$o$target";
280 $ret.="$target: $objs\n"; 311# $ret.="$target: $objs\n";
281 if (!$shlib) 312 if (!$shlib)
282 { 313 {
283# $ret.="\t\$(RM) \$(O_$Name)\n"; 314# $ret.="\t\$(RM) \$(O_$Name)\n";
284 $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs\n<<\n"; 315 $ex =' ';
316 $ret.="$target: $objs\n";
317 $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs $ex\n<<\n";
285 } 318 }
286 else 319 else
287 { 320 {
288 local($ex)=($target =~ /O_CRYPTO/)?'':' $(L_CRYPTO)'; 321 my $ex = "";
322 if ($target =~ /O_SSL/)
323 {
324 $ex .= " \$(L_CRYPTO)";
325 #$ex .= " \$(L_FIPS)" if $fipsdso;
326 }
327 my $fipstarget;
328 if ($fipsdso)
329 {
330 $fipstarget = "O_FIPS";
331 }
332 else
333 {
334 $fipstarget = "O_CRYPTO";
335 }
336
337
338 if ($name eq "")
339 {
340 $ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/);
341 if ($target =~ /capi/)
342 {
343 $ex.=' crypt32.lib advapi32.lib';
344 }
345 }
346 elsif ($FLAVOR =~ /CE/)
347 {
348 $ex.=' winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib';
349 }
350 else
351 {
352 $ex.=' unicows.lib' if ($FLAVOR =~ /NT/);
353 $ex.=' wsock32.lib gdi32.lib advapi32.lib user32.lib';
354 $ex.=' crypt32.lib';
355 $ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/);
356 }
289 $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/; 357 $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/;
290 $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target $name @<<\n \$(SHLIB_EX_OBJ) $objs $ex \$(EX_LIBS)\n<<\n"; 358
291 $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;2\n\n"; 359 if ($fips && $target =~ /$fipstarget/)
360 {
361 $ex.= $mwex unless $fipscanisterbuild;
362 $ret.="$target: $objs \$(PREMAIN_DSO_EXE)";
363 if ($fipsdso)
364 {
365 $ex.=" \$(OBJ_D)\\\$(LIBFIPS).res";
366 $ret.=" \$(OBJ_D)\\\$(LIBFIPS).res";
367 $ret.=" ms/\$(LIBFIPS).def";
368 }
369 $ret.="\n\tSET FIPS_LINK=\$(LINK)\n";
370 $ret.="\tSET FIPS_CC=\$(CC)\n";
371 $ret.="\tSET FIPS_CC_ARGS=/Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\n";
372 $ret.="\tSET PREMAIN_DSO_EXE=\$(PREMAIN_DSO_EXE)\n";
373 $ret.="\tSET FIPS_SHA1_EXE=\$(FIPS_SHA1_EXE)\n";
374 $ret.="\tSET FIPS_TARGET=$target\n";
375 $ret.="\tSET FIPSLIB_D=\$(FIPSLIB_D)\n";
376 $ret.="\t\$(FIPSLINK) \$(MLFLAGS) /map $base_arg $efile$target ";
377 $ret.="$name @<<\n \$(SHLIB_EX_OBJ) $objs ";
378 $ret.="\$(OBJ_D)${o}fips_premain.obj $ex\n<<\n";
379 }
380 else
381 {
382 $ret.="$target: $objs";
383 if ($target =~ /O_CRYPTO/ && $fipsdso)
384 {
385 $ret .= " \$(O_FIPS)";
386 $ex .= " \$(L_FIPS)";
387 }
388 $ret.="\n\t\$(LINK) \$(MLFLAGS) $efile$target $name @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n";
389 }
390
391 $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;2\n\n";
292 } 392 }
293 $ret.="\n"; 393 $ret.="\n";
294 return($ret); 394 return($ret);
@@ -296,43 +396,64 @@ sub do_lib_rule
296 396
297sub do_link_rule 397sub do_link_rule
298 { 398 {
299 local($target,$files,$dep_libs,$libs)=@_; 399 my($target,$files,$dep_libs,$libs,$standalone)=@_;
300 local($ret,$_); 400 local($ret,$_);
301
302 $file =~ s/\//$o/g if $o ne '/'; 401 $file =~ s/\//$o/g if $o ne '/';
303 $n=&bname($targer); 402 $n=&bname($targer);
304 $ret.="$target: $files $dep_libs\n"; 403 $ret.="$target: $files $dep_libs\n";
305 $ret.="\t\$(LINK) \$(LFLAGS) $efile$target @<<\n"; 404 if ($standalone == 1)
306 $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n";
307 $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;1\n\n";
308 return($ret);
309 }
310
311sub win32_import_asm
312 {
313 my ($mf_var, $asm_name, $oref, $sref) = @_;
314 my $asm_dir;
315 if ($asm_name eq "")
316 { 405 {
317 $asm_dir = "crypto\\"; 406 $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n\t";
407 $ret.= "\$(EX_LIBS) " if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild);
408 $ret.="$files $libs\n<<\n";
318 } 409 }
319 else 410 elsif ($standalone == 2)
320 { 411 {
321 $asm_dir = "crypto\\$asm_name\\asm\\"; 412 $ret.="\tSET FIPS_LINK=\$(LINK)\n";
413 $ret.="\tSET FIPS_CC=\$(CC)\n";
414 $ret.="\tSET FIPS_CC_ARGS=/Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\n";
415 $ret.="\tSET PREMAIN_DSO_EXE=\n";
416 $ret.="\tSET FIPS_TARGET=$target\n";
417 $ret.="\tSET FIPS_SHA1_EXE=\$(FIPS_SHA1_EXE)\n";
418 $ret.="\tSET FIPSLIB_D=\$(FIPSLIB_D)\n";
419 $ret.="\t\$(FIPSLINK) \$(LFLAGS) /map $efile$target @<<\n";
420 $ret.="\t\$(APP_EX_OBJ) $files \$(OBJ_D)${o}fips_premain.obj $libs\n<<\n";
322 } 421 }
323 422 else
324 $$oref = "";
325 $mf_var =~ s/\.o$/.obj/g;
326
327 foreach (split(/ /, $mf_var))
328 { 423 {
329 $$oref .= $asm_dir . $_ . " "; 424 $ret.="\t\$(LINK) \$(LFLAGS) $efile$target @<<\n";
425 $ret.="\t\$(APP_EX_OBJ) $files $libs\n<<\n";
330 } 426 }
331 $$oref =~ s/ $//; 427 $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;1\n\n";
332 $$sref = $$oref; 428 return($ret);
333 $$sref =~ s/\.obj/.asm/g; 429 }
430
431sub do_rlink_rule
432 {
433 local($target,$rl_start, $rl_mid, $rl_end,$dep_libs,$libs)=@_;
434 local($ret,$_);
435 my $files = "$rl_start $rl_mid $rl_end";
334 436
437 $file =~ s/\//$o/g if $o ne '/';
438 $n=&bname($targer);
439 $ret.="$target: $files $dep_libs \$(FIPS_SHA1_EXE)\n";
440 $ret.="\t\$(PERL) ms\\segrenam.pl \$\$a $rl_start\n";
441 $ret.="\t\$(PERL) ms\\segrenam.pl \$\$b $rl_mid\n";
442 $ret.="\t\$(PERL) ms\\segrenam.pl \$\$c $rl_end\n";
443 $ret.="\t\$(MKLIB) $lfile$target @<<\n\t$files\n<<\n";
444 $ret.="\t\$(FIPS_SHA1_EXE) $target > ${target}.sha1\n";
445 $ret.="\t\$(PERL) util${o}copy.pl -stripcr fips${o}fips_premain.c \$(LIB_D)${o}fips_premain.c\n";
446 $ret.="\t\$(CP) fips${o}fips_premain.c.sha1 \$(LIB_D)${o}fips_premain.c.sha1\n";
447 $ret.="\n";
448 return($ret);
335 } 449 }
336 450
451sub do_sdef_rule
452 {
453 my $ret = "ms/\$(LIBFIPS).def: \$(O_FIPSCANISTER)\n";
454 $ret.="\t\$(PERL) util/mksdef.pl \$(MLFLAGS) /out:dummy.dll /def:ms/libeay32.def @<<\n \$(O_FIPSCANISTER)\n<<\n";
455 $ret.="\n";
456 return $ret;
457 }
337 458
3381; 4591;
diff --git a/src/lib/libcrypto/util/pl/netware.pl b/src/lib/libcrypto/util/pl/netware.pl
new file mode 100644
index 0000000000..173c9919f2
--- /dev/null
+++ b/src/lib/libcrypto/util/pl/netware.pl
@@ -0,0 +1,526 @@
1# Metrowerks Codewarrior or gcc / nlmconv for NetWare
2#
3
4$version_header = "crypto/opensslv.h";
5open(IN, "$version_header") or die "Couldn't open $version_header: $!";
6while (<IN>) {
7 if (/^#define[\s\t]+OPENSSL_VERSION_NUMBER[\s\t]+0x(\d)(\d{2})(\d{2})(\d{2})/)
8 {
9 # die "OpenSSL version detected: $1.$2.$3.$4\n";
10 #$nlmvernum = "$1,$2,$3";
11 $nlmvernum = "$1,".($2*10+$3).",".($4*1);
12 #$nlmverstr = "$1.".($2*1).".".($3*1).($4?(chr(96+$4)):"");
13 break;
14 }
15}
16close(IN) or die "Couldn't close $version_header: $!";
17
18$readme_file = "README";
19open(IN, $readme_file) or die "Couldn't open $readme_file: $!";
20while (<IN>) {
21 if (/^[\s\t]+OpenSSL[\s\t]+(\d)\.(\d{1,2})\.(\d{1,2})([a-z])(.*)/)
22 {
23 #$nlmvernum = "$1,$2,$3";
24 #$nlmvernum = "$1,".($2*10+$3).",".($4*1);
25 $nlmverstr = "$1.$2.$3$4$5";
26 }
27 elsif (/^[\s\t]+(Copyright \(c\) \d{4}\-\d{4} The OpenSSL Project)$/)
28 {
29 $nlmcpystr = $1;
30 }
31 break if ($nlmvernum && $nlmcpystr);
32}
33close(IN) or die "Couldn't close $readme_file: $!";
34
35# Define stacksize here
36$nlmstack = "32768";
37
38# some default settings here in case we failed to find them in README
39$nlmvernum = "1,0,0" if (!$nlmvernum);
40$nlmverstr = "OpenSSL" if (!$nlmverstr);
41$nlmcpystr = "Copyright (c) 1998-now The OpenSSL Project" if (!$nlmcpystr);
42
43# die "OpenSSL copyright: $nlmcpystr\nOpenSSL verstring: $nlmverstr\nOpenSSL vernumber: $nlmvernum\n";
44
45# The import files and other misc imports needed to link
46@misc_imports = ("GetProcessSwitchCount", "RunningProcess",
47 "GetSuperHighResolutionTimer");
48if ($LIBC)
49{
50 @import_files = ("libc.imp");
51 @module_files = ("libc");
52 $libarch = "LIBC";
53}
54else
55{
56 # clib build
57 @import_files = ("clib.imp");
58 push(@import_files, "socklib.imp") if ($BSDSOCK);
59 @module_files = ("clib");
60 # push(@misc_imports, "_rt_modu64%16", "_rt_divu64%16");
61 $libarch = "CLIB";
62}
63if ($BSDSOCK)
64{
65 $libarch .= "-BSD";
66}
67else
68{
69 $libarch .= "-WS2";
70 push(@import_files, "ws2nlm.imp");
71}
72
73# The "IMPORTS" environment variable must be set and point to the location
74# where import files (*.imp) can be found.
75# Example: set IMPORTS=c:\ndk\nwsdk\imports
76$import_path = $ENV{"IMPORTS"} || die ("IMPORTS environment variable not set\n");
77
78
79# The "PRELUDE" environment variable must be set and point to the location
80# and name of the prelude source to link with ( nwpre.obj is recommended ).
81# Example: set PRELUDE=c:\codewar\novell support\metrowerks support\libraries\runtime\nwpre.obj
82$prelude = $ENV{"PRELUDE"} || die ("PRELUDE environment variable not set\n");
83
84# The "INCLUDES" environment variable must be set and point to the location
85# where import files (*.imp) can be found.
86$include_path = $ENV{"INCLUDE"} || die ("INCLUDES environment variable not set\n");
87$include_path =~ s/\\/\//g;
88$include_path = join(" -I", split(/;/, $include_path));
89
90# check for gcc compiler
91$gnuc = $ENV{"GNUC"};
92
93#$ssl= "ssleay32";
94#$crypto="libeay32";
95
96if ($gnuc)
97{
98 # C compiler
99 $cc='gcc';
100 # Linker
101 $link='nlmconv';
102 # librarian
103 $mklib='ar';
104 $o='/';
105 # cp command
106 $cp='cp -af';
107 # rm command
108 $rm='rm -f';
109 # mv command
110 $mv='mv -f';
111 # mkdir command
112 $mkdir='gmkdir';
113 #$ranlib='ranlib';
114}
115else
116{
117 # C compiler
118 $cc='mwccnlm';
119 # Linker
120 $link='mwldnlm';
121 # librarian
122 $mklib='mwldnlm';
123 # Path separator
124 $o='\\';
125 # cp command
126 $cp='copy >nul:';
127 # rm command
128 $rm='del /f /q';
129}
130
131# assembler
132if ($nw_nasm)
133{
134 if ($gnuc)
135 {
136 $asm="nasmw -s -f elf";
137 }
138 else
139 {
140 $asm="nasmw -s -f coff";
141 }
142 $afile="-o ";
143 $asm.=" -g" if $debug;
144}
145elsif ($nw_mwasm)
146{
147 $asm="mwasmnlm -maxerrors 20";
148 $afile="-o ";
149 $asm.=" -g" if $debug;
150}
151elsif ($nw_masm)
152{
153# masm assembly settings - it should be possible to use masm but haven't
154# got it working.
155# $asm='ml /Cp /coff /c /Cx';
156# $asm.=" /Zi" if $debug;
157# $afile='/Fo';
158 die("Support for masm assembler not yet functional\n");
159}
160else
161{
162 $asm="";
163 $afile="";
164}
165
166
167
168if ($gnuc)
169{
170 # compile flags for GNUC
171 # additional flags based upon debug | non-debug
172 if ($debug)
173 {
174 $cflags="-g -DDEBUG";
175 }
176 else
177 {
178 $cflags="-O2";
179 }
180 $cflags.=" -nostdinc -I$include_path \\
181 -fno-builtin -fpcc-struct-return -fno-strict-aliasing \\
182 -funsigned-char -Wall -Wno-unused -Wno-uninitialized";
183
184 # link flags
185 $lflags="-T";
186}
187else
188{
189 # compile flags for CodeWarrior
190 # additional flags based upon debug | non-debug
191 if ($debug)
192 {
193 $cflags="-opt off -g -sym internal -DDEBUG";
194 }
195 else
196 {
197 # CodeWarrior compiler has a problem with optimizations for floating
198 # points - no optimizations until further investigation
199 # $cflags="-opt all";
200 }
201
202 # NOTES: Several c files in the crypto subdirectory include headers from
203 # their local directories. Metrowerks wouldn't find these h files
204 # without adding individual include directives as compile flags
205 # or modifying the c files. Instead of adding individual include
206 # paths for each subdirectory a recursive include directive
207 # is used ( -ir crypto ).
208 #
209 # A similar issue exists for the engines and apps subdirectories.
210 #
211 # Turned off the "possible" warnings ( -w nopossible ). Metrowerks
212 # complained a lot about various stuff. May want to turn back
213 # on for further development.
214 $cflags.=" -nostdinc -ir crypto -ir engines -ir apps -I$include_path \\
215 -msgstyle gcc -align 4 -processor pentium -char unsigned \\
216 -w on -w nolargeargs -w nopossible -w nounusedarg -w nounusedexpr \\
217 -w noimplicitconv -relax_pointers -nosyspath -maxerrors 20";
218
219 # link flags
220 $lflags="-msgstyle gcc -zerobss -nostdlib -sym internal -commandfile";
221}
222
223# common defines
224$cflags.=" -DL_ENDIAN -DOPENSSL_SYSNAME_NETWARE -U_WIN32";
225
226# If LibC build add in NKS_LIBC define and set the entry/exit
227# routines - The default entry/exit routines are for CLib and don't exist
228# in LibC
229if ($LIBC)
230{
231 $cflags.=" -DNETWARE_LIBC";
232 $nlmstart = "_LibCPrelude";
233 $nlmexit = "_LibCPostlude";
234 @nlm_flags = ("pseudopreemption", "flag_on 64");
235}
236else
237{
238 $cflags.=" -DNETWARE_CLIB";
239 $nlmstart = "_Prelude";
240 $nlmexit = "_Stop";
241}
242
243# If BSD Socket support is requested, set a define for the compiler
244if ($BSDSOCK)
245{
246 $cflags.=" -DNETWARE_BSDSOCK";
247 if (!$LIBC)
248 {
249 $cflags.=" -DNETDB_USE_INTERNET";
250 }
251}
252
253
254# linking stuff
255# for the output directories use the mk1mf.pl values with "_nw" appended
256if ($shlib)
257{
258 if ($LIBC)
259 {
260 $out_def.="_nw_libc_nlm";
261 $tmp_def.="_nw_libc_nlm";
262 $inc_def.="_nw_libc_nlm";
263 }
264 else # NETWARE_CLIB
265 {
266 $out_def.="_nw_clib_nlm";
267 $tmp_def.="_nw_clib_nlm";
268 $inc_def.="_nw_clib_nlm";
269 }
270}
271else
272{
273 if ($gnuc) # GNUC Tools
274 {
275 $libp=".a";
276 $shlibp=".a";
277 $lib_flags="-cr";
278 }
279 else # CodeWarrior
280 {
281 $libp=".lib";
282 $shlibp=".lib";
283 $lib_flags="-nodefaults -type library -o";
284 }
285 if ($LIBC)
286 {
287 $out_def.="_nw_libc";
288 $tmp_def.="_nw_libc";
289 $inc_def.="_nw_libc";
290 }
291 else # NETWARE_CLIB
292 {
293 $out_def.="_nw_clib";
294 $tmp_def.="_nw_clib";
295 $inc_def.="_nw_clib";
296 }
297}
298
299# used by mk1mf.pl
300$obj='.o';
301$ofile='-o ';
302$efile='';
303$exep='.nlm';
304$ex_libs='';
305
306if (!$no_asm)
307{
308 $bn_asm_obj="\$(OBJ_D)${o}bn-nw${obj}";
309 $bn_asm_src="crypto${o}bn${o}asm${o}bn-nw.asm";
310 $bnco_asm_obj="\$(OBJ_D)${o}co-nw${obj}";
311 $bnco_asm_src="crypto${o}bn${o}asm${o}co-nw.asm";
312 $aes_asm_obj="\$(OBJ_D)${o}a-nw${obj}";
313 $aes_asm_src="crypto${o}aes${o}asm${o}a-nw.asm";
314 $des_enc_obj="\$(OBJ_D)${o}d-nw${obj} \$(OBJ_D)${o}y-nw${obj}";
315 $des_enc_src="crypto${o}des${o}asm${o}d-nw.asm crypto${o}des${o}asm${o}y-nw.asm";
316 $bf_enc_obj="\$(OBJ_D)${o}b-nw${obj}";
317 $bf_enc_src="crypto${o}bf${o}asm${o}b-nw.asm";
318 $cast_enc_obj="\$(OBJ_D)${o}c-nw${obj}";
319 $cast_enc_src="crypto${o}cast${o}asm${o}c-nw.asm";
320 $rc4_enc_obj="\$(OBJ_D)${o}r4-nw${obj}";
321 $rc4_enc_src="crypto${o}rc4${o}asm${o}r4-nw.asm";
322 $rc5_enc_obj="\$(OBJ_D)${o}r5-nw${obj}";
323 $rc5_enc_src="crypto${o}rc5${o}asm${o}r5-nw.asm";
324 $md5_asm_obj="\$(OBJ_D)${o}m5-nw${obj}";
325 $md5_asm_src="crypto${o}md5${o}asm${o}m5-nw.asm";
326 $sha1_asm_obj="\$(OBJ_D)${o}s1-nw${obj}";
327 $sha1_asm_src="crypto${o}sha${o}asm${o}s1-nw.asm";
328 $rmd160_asm_obj="\$(OBJ_D)${o}rm-nw${obj}";
329 $rmd160_asm_src="crypto${o}ripemd${o}asm${o}rm-nw.asm";
330 $cpuid_asm_obj="\$(OBJ_D)${o}x86cpuid-nw${obj}";
331 $cpuid_asm_src="crypto${o}x86cpuid-nw.asm";
332 $cflags.=" -DOPENSSL_CPUID_OBJ -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DMD5_ASM -DSHA1_ASM";
333 $cflags.=" -DAES_ASM -DRMD160_ASM";
334}
335else
336{
337 $bn_asm_obj='';
338 $bn_asm_src='';
339 $bnco_asm_obj='';
340 $bnco_asm_src='';
341 $aes_asm_obj='';
342 $aes_asm_src='';
343 $des_enc_obj='';
344 $des_enc_src='';
345 $bf_enc_obj='';
346 $bf_enc_src='';
347 $cast_enc_obj='';
348 $cast_enc_src='';
349 $rc4_enc_obj='';
350 $rc4_enc_src='';
351 $rc5_enc_obj='';
352 $rc5_enc_src='';
353 $md5_asm_obj='';
354 $md5_asm_src='';
355 $sha1_asm_obj='';
356 $sha1_asm_src='';
357 $rmd160_asm_obj='';
358 $rmd160_asm_src='';
359 $cpuid_asm_obj='';
360 $cpuid_asm_src='';
361}
362
363# create the *.def linker command files in \openssl\netware\ directory
364sub do_def_file
365{
366 # strip off the leading path
367 my($target) = bname(shift);
368 my($i);
369
370 if ($target =~ /(.*).nlm/)
371 {
372 $target = $1;
373 }
374
375 # special case for openssl - the mk1mf.pl defines E_EXE = openssl
376 if ($target =~ /E_EXE/)
377 {
378 $target =~ s/\$\(E_EXE\)/openssl/;
379 }
380
381 # Note: originally tried to use full path ( \openssl\netware\$target.def )
382 # Metrowerks linker choked on this with an assertion failure. bug???
383 #
384 my($def_file) = "netware${o}$target.def";
385
386 open(DEF_OUT, ">$def_file") || die("unable to open file $def_file\n");
387
388 print( DEF_OUT "# command file generated by netware.pl for NLM target.\n" );
389 print( DEF_OUT "# do not edit this file - all your changes will be lost!!\n" );
390 print( DEF_OUT "#\n");
391 print( DEF_OUT "DESCRIPTION \"$target ($libarch) - OpenSSL $nlmverstr\"\n");
392 print( DEF_OUT "COPYRIGHT \"$nlmcpystr\"\n");
393 print( DEF_OUT "VERSION $nlmvernum\n");
394 print( DEF_OUT "STACK $nlmstack\n");
395 print( DEF_OUT "START $nlmstart\n");
396 print( DEF_OUT "EXIT $nlmexit\n");
397
398 # special case for openssl
399 if ($target eq "openssl")
400 {
401 print( DEF_OUT "SCREENNAME \"OpenSSL $nlmverstr\"\n");
402 }
403 else
404 {
405 print( DEF_OUT "SCREENNAME \"DEFAULT\"\n");
406 }
407
408 foreach $i (@misc_imports)
409 {
410 print( DEF_OUT "IMPORT $i\n");
411 }
412
413 foreach $i (@import_files)
414 {
415 print( DEF_OUT "IMPORT \@$import_path${o}$i\n");
416 }
417
418 foreach $i (@module_files)
419 {
420 print( DEF_OUT "MODULE $i\n");
421 }
422
423 foreach $i (@nlm_flags)
424 {
425 print( DEF_OUT "$i\n");
426 }
427
428 if ($gnuc)
429 {
430 if ($target =~ /openssl/)
431 {
432 print( DEF_OUT "INPUT ${tmp_def}${o}openssl${obj}\n");
433 print( DEF_OUT "INPUT ${tmp_def}${o}openssl${libp}\n");
434 }
435 else
436 {
437 print( DEF_OUT "INPUT ${tmp_def}${o}${target}${obj}\n");
438 }
439 print( DEF_OUT "INPUT $prelude\n");
440 print( DEF_OUT "INPUT ${out_def}${o}${ssl}${libp} ${out_def}${o}${crypto}${libp}\n");
441 print( DEF_OUT "OUTPUT $target.nlm\n");
442 }
443
444 close(DEF_OUT);
445 return($def_file);
446}
447
448sub do_lib_rule
449{
450 my($objs,$target,$name,$shlib)=@_;
451 my($ret);
452
453 $ret.="$target: $objs\n";
454 if (!$shlib)
455 {
456 $ret.="\t\@echo Building Lib: $name\n";
457 $ret.="\t\$(MKLIB) $lib_flags $target $objs\n";
458 $ret.="\t\@echo .\n"
459 }
460 else
461 {
462 die( "Building as NLM not currently supported!" );
463 }
464
465 $ret.="\n";
466 return($ret);
467}
468
469sub do_link_rule
470{
471 my($target,$files,$dep_libs,$libs)=@_;
472 my($ret);
473 my($def_file) = do_def_file($target);
474
475 $ret.="$target: $files $dep_libs\n";
476
477 # NOTE: When building the test nlms no screen name is given
478 # which causes the console screen to be used. By using the console
479 # screen there is no "<press any key to continue>" message which
480 # requires user interaction. The test script ( do_tests.pl ) needs
481 # to be able to run the tests without requiring user interaction.
482 #
483 # However, the sample program "openssl.nlm" is used by the tests and is
484 # a interactive sample so a screen is desired when not be run by the
485 # tests. To solve the problem, two versions of the program are built:
486 # openssl2 - no screen used by tests
487 # openssl - default screen - use for normal interactive modes
488 #
489
490 # special case for openssl - the mk1mf.pl defines E_EXE = openssl
491 if ($target =~ /E_EXE/)
492 {
493 my($target2) = $target;
494
495 $target2 =~ s/\(E_EXE\)/\(E_EXE\)2/;
496
497 # openssl2
498 my($def_file2) = do_def_file($target2);
499
500 if ($gnuc)
501 {
502 $ret.="\t\$(MKLIB) $lib_flags \$(TMP_D)${o}\$(E_EXE).a \$(filter-out \$(TMP_D)${o}\$(E_EXE)${obj},$files)\n";
503 $ret.="\t\$(LINK) \$(LFLAGS) $def_file2\n";
504 $ret.="\t\@$mv \$(E_EXE)2.nlm \$(TEST_D)\n";
505 }
506 else
507 {
508 $ret.="\t\$(LINK) \$(LFLAGS) $def_file2 $files \"$prelude\" $libs -o $target2\n";
509 }
510 }
511 if ($gnuc)
512 {
513 $ret.="\t\$(LINK) \$(LFLAGS) $def_file\n";
514 $ret.="\t\@$mv \$(\@F) \$(TEST_D)\n";
515 }
516 else
517 {
518 $ret.="\t\$(LINK) \$(LFLAGS) $def_file $files \"$prelude\" $libs -o $target\n";
519 }
520
521 $ret.="\n";
522 return($ret);
523
524}
525
5261;
diff --git a/src/lib/libcrypto/util/pod2man.pl b/src/lib/libcrypto/util/pod2man.pl
index 025d914f2e..546d1ec186 100644
--- a/src/lib/libcrypto/util/pod2man.pl
+++ b/src/lib/libcrypto/util/pod2man.pl
@@ -425,7 +425,7 @@ if ($name ne 'something') {
425 } 425 }
426 next if /^=cut\b/; # DB_File and Net::Ping have =cut before NAME 426 next if /^=cut\b/; # DB_File and Net::Ping have =cut before NAME
427 next if /^=pod\b/; # It is OK to have =pod before NAME 427 next if /^=pod\b/; # It is OK to have =pod before NAME
428 next if /^=(for|begin|end)\s+comment\b/; # It is OK to have =for =begin or =end comment before NAME 428 next if /^=for\s+comment\b/; # It is OK to have =for comment before NAME
429 die "$0: Invalid man page - 1st pod line is not NAME in $ARGV[0]\n" unless $lax; 429 die "$0: Invalid man page - 1st pod line is not NAME in $ARGV[0]\n" unless $lax;
430 } 430 }
431 die "$0: Invalid man page - no documentation in $ARGV[0]\n" unless $lax; 431 die "$0: Invalid man page - no documentation in $ARGV[0]\n" unless $lax;
diff --git a/src/lib/libcrypto/util/point.sh b/src/lib/libcrypto/util/point.sh
index da39899cb1..4790e08f8a 100644
--- a/src/lib/libcrypto/util/point.sh
+++ b/src/lib/libcrypto/util/point.sh
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2 2
3rm -f "$2" 3rm -f "$2"
4if test "$OSTYPE" = msdosdjgpp || test "x$PLATFORM" = xmingw ; then 4if test "$OSTYPE" = msdosdjgpp; then
5 cp "$1" "$2" 5 cp "$1" "$2"
6else 6else
7 ln -s "$1" "$2" 7 ln -s "$1" "$2"
diff --git a/src/lib/libcrypto/util/selftest.pl b/src/lib/libcrypto/util/selftest.pl
index 7b32e9f4ff..4778c5ab01 100644
--- a/src/lib/libcrypto/util/selftest.pl
+++ b/src/lib/libcrypto/util/selftest.pl
@@ -78,7 +78,7 @@ print OUT "\n";
78 78
79print "Checking compiler...\n"; 79print "Checking compiler...\n";
80if (open(TEST,">cctest.c")) { 80if (open(TEST,">cctest.c")) {
81 print TEST "#include <stdio.h>\n#include <stdlib.h>\n#include <errno.h>\nmain(){printf(\"Hello world\\n\");}\n"; 81 print TEST "#include <stdio.h>\n#include <errno.h>\nmain(){printf(\"Hello world\\n\");}\n";
82 close(TEST); 82 close(TEST);
83 system("$cc -o cctest cctest.c"); 83 system("$cc -o cctest cctest.c");
84 if (`./cctest` !~ /Hello world/) { 84 if (`./cctest` !~ /Hello world/) {
@@ -96,7 +96,7 @@ if (open(TEST,">cctest.c")) {
96 print OUT "Can't create cctest.c\n"; 96 print OUT "Can't create cctest.c\n";
97} 97}
98if (open(TEST,">cctest.c")) { 98if (open(TEST,">cctest.c")) {
99 print TEST "#include <stdio.h>\n#include <stdlib.h>\n#include <openssl/opensslv.h>\nmain(){printf(OPENSSL_VERSION_TEXT);}\n"; 99 print TEST "#include <openssl/opensslv.h>\nmain(){printf(OPENSSL_VERSION_TEXT);}\n";
100 close(TEST); 100 close(TEST);
101 system("$cc -o cctest -Iinclude cctest.c"); 101 system("$cc -o cctest -Iinclude cctest.c");
102 $cctest = `./cctest`; 102 $cctest = `./cctest`;
diff --git a/src/lib/libcrypto/util/ssleay.num b/src/lib/libcrypto/util/ssleay.num
index 15a58e7b13..2055cc1597 100644
--- a/src/lib/libcrypto/util/ssleay.num
+++ b/src/lib/libcrypto/util/ssleay.num
@@ -98,9 +98,9 @@ SSLeay_add_ssl_algorithms 109 NOEXIST::FUNCTION:
98SSLv23_client_method 110 EXIST::FUNCTION:RSA 98SSLv23_client_method 110 EXIST::FUNCTION:RSA
99SSLv23_method 111 EXIST::FUNCTION:RSA 99SSLv23_method 111 EXIST::FUNCTION:RSA
100SSLv23_server_method 112 EXIST::FUNCTION:RSA 100SSLv23_server_method 112 EXIST::FUNCTION:RSA
101SSLv2_client_method 113 EXIST::FUNCTION:RSA,SSL2 101SSLv2_client_method 113 EXIST::FUNCTION:RSA
102SSLv2_method 114 EXIST::FUNCTION:RSA,SSL2 102SSLv2_method 114 EXIST::FUNCTION:RSA
103SSLv2_server_method 115 EXIST::FUNCTION:RSA,SSL2 103SSLv2_server_method 115 EXIST::FUNCTION:RSA
104SSLv3_client_method 116 EXIST::FUNCTION: 104SSLv3_client_method 116 EXIST::FUNCTION:
105SSLv3_method 117 EXIST::FUNCTION: 105SSLv3_method 117 EXIST::FUNCTION:
106SSLv3_server_method 118 EXIST::FUNCTION: 106SSLv3_server_method 118 EXIST::FUNCTION:
@@ -117,8 +117,8 @@ SSL_CIPHER_get_bits 128 EXIST::FUNCTION:
117SSL_CIPHER_get_version 129 EXIST::FUNCTION: 117SSL_CIPHER_get_version 129 EXIST::FUNCTION:
118SSL_CIPHER_get_name 130 EXIST::FUNCTION: 118SSL_CIPHER_get_name 130 EXIST::FUNCTION:
119BIO_ssl_shutdown 131 EXIST::FUNCTION:BIO 119BIO_ssl_shutdown 131 EXIST::FUNCTION:BIO
120SSL_SESSION_cmp 132 NOEXIST::FUNCTION: 120SSL_SESSION_cmp 132 EXIST::FUNCTION:
121SSL_SESSION_hash 133 NOEXIST::FUNCTION: 121SSL_SESSION_hash 133 EXIST::FUNCTION:
122SSL_SESSION_get_time 134 EXIST::FUNCTION: 122SSL_SESSION_get_time 134 EXIST::FUNCTION:
123SSL_SESSION_set_time 135 EXIST::FUNCTION: 123SSL_SESSION_set_time 135 EXIST::FUNCTION:
124SSL_SESSION_get_timeout 136 EXIST::FUNCTION: 124SSL_SESSION_get_timeout 136 EXIST::FUNCTION:
@@ -242,20 +242,3 @@ SSL_set_SSL_CTX 290 EXIST::FUNCTION:
242SSL_get_servername 291 EXIST::FUNCTION:TLSEXT 242SSL_get_servername 291 EXIST::FUNCTION:TLSEXT
243SSL_get_servername_type 292 EXIST::FUNCTION:TLSEXT 243SSL_get_servername_type 292 EXIST::FUNCTION:TLSEXT
244SSL_CTX_set_client_cert_engine 293 EXIST::FUNCTION:ENGINE 244SSL_CTX_set_client_cert_engine 293 EXIST::FUNCTION:ENGINE
245SSL_CTX_use_psk_identity_hint 294 EXIST::FUNCTION:PSK
246SSL_CTX_set_psk_client_callback 295 EXIST::FUNCTION:PSK
247PEM_write_bio_SSL_SESSION 296 EXIST::FUNCTION:
248SSL_get_psk_identity_hint 297 EXIST::FUNCTION:PSK
249SSL_set_psk_server_callback 298 EXIST::FUNCTION:PSK
250SSL_use_psk_identity_hint 299 EXIST::FUNCTION:PSK
251SSL_set_psk_client_callback 300 EXIST::FUNCTION:PSK
252PEM_read_SSL_SESSION 301 EXIST:!WIN16:FUNCTION:
253PEM_read_bio_SSL_SESSION 302 EXIST::FUNCTION:
254SSL_CTX_set_psk_server_callback 303 EXIST::FUNCTION:PSK
255SSL_get_psk_identity 304 EXIST::FUNCTION:PSK
256PEM_write_SSL_SESSION 305 EXIST:!WIN16:FUNCTION:
257SSL_set_session_ticket_ext 306 EXIST::FUNCTION:
258SSL_set_session_secret_cb 307 EXIST::FUNCTION:
259SSL_set_session_ticket_ext_cb 308 EXIST::FUNCTION:
260SSL_set1_param 309 EXIST::FUNCTION:
261SSL_CTX_set1_param 310 EXIST::FUNCTION: