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/arx.pl15
-rw-r--r--src/lib/libcrypto/util/checkhash.pl222
-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.pl11
-rw-r--r--src/lib/libcrypto/util/cygwin.sh4
-rw-r--r--src/lib/libcrypto/util/domd10
-rw-r--r--src/lib/libcrypto/util/fipslink.pl78
-rw-r--r--src/lib/libcrypto/util/libeay.num987
-rw-r--r--src/lib/libcrypto/util/mk1mf.pl561
-rw-r--r--src/lib/libcrypto/util/mkdef.pl76
-rw-r--r--src/lib/libcrypto/util/mkerr.pl113
-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/mksdef.pl87
-rw-r--r--src/lib/libcrypto/util/mkstack.pl74
-rw-r--r--src/lib/libcrypto/util/pl/BC-16.pl151
-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-16.pl177
-rw-r--r--src/lib/libcrypto/util/pl/VC-32-GMAKE.pl222
-rw-r--r--src/lib/libcrypto/util/pl/VC-32.pl341
-rw-r--r--src/lib/libcrypto/util/pl/VC-CE.pl116
-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
27 files changed, 1285 insertions, 2071 deletions
diff --git a/src/lib/libcrypto/util/arx.pl b/src/lib/libcrypto/util/arx.pl
deleted file mode 100644
index ce62625c33..0000000000
--- a/src/lib/libcrypto/util/arx.pl
+++ /dev/null
@@ -1,15 +0,0 @@
1#!/bin/perl
2
3# Simple perl script to wrap round "ar" program and exclude any
4# object files in the environment variable EXCL_OBJ
5
6map { s/^.*\/([^\/]*)$/$1/ ; $EXCL{$_} = 1} split(' ', $ENV{EXCL_OBJ});
7
8#my @ks = keys %EXCL;
9#print STDERR "Excluding: @ks \n";
10
11my @ARGS = grep { !exists $EXCL{$_} } @ARGV;
12
13system @ARGS;
14
15exit $? >> 8;
diff --git a/src/lib/libcrypto/util/checkhash.pl b/src/lib/libcrypto/util/checkhash.pl
deleted file mode 100644
index c61fa72178..0000000000
--- a/src/lib/libcrypto/util/checkhash.pl
+++ /dev/null
@@ -1,222 +0,0 @@
1#!/usr/bin/env perl -w
2
3my $package = caller;
4
5if (!(defined $package))
6 {
7 my $retval = check_hashes(@ARGV);
8 exit $retval;
9 }
10
111;
12
13sub check_hashes
14 {
15
16 my @args = @_;
17
18 my $change_dir = "";
19 my $check_program = "sha/fips_standalone_sha1";
20
21 my $verbose = 0;
22 my $badfiles = 0;
23 my $rebuild = 0;
24 my $force_rewrite = 0;
25 my $hash_file = "fipshashes.c";
26 my $recurse = 0;
27
28 my @fingerprint_files;
29
30 while (@args)
31 {
32 my $arg = $args[0];
33 if ($arg eq "-chdir")
34 {
35 shift @args;
36 $change_dir = shift @args;
37 }
38 elsif ($arg eq "-rebuild")
39 {
40 shift @args;
41 $rebuild = 1;
42 }
43 elsif ($arg eq "-verbose")
44 {
45 shift @args;
46 $verbose = 1;
47 }
48 elsif ($arg eq "-force-rewrite")
49 {
50 shift @args;
51 $force_rewrite = 1;
52 }
53 elsif ($arg eq "-hash_file")
54 {
55 shift @args;
56 $hash_file = shift @args;
57 }
58 elsif ($arg eq "-recurse")
59 {
60 shift @args;
61 $recurse = 1;
62 }
63 elsif ($arg eq "-program_path")
64 {
65 shift @args;
66 $check_program = shift @args;
67 }
68 else
69 {
70 print STDERR "Unknown Option $arg";
71 return 1;
72 }
73
74 }
75
76 chdir $change_dir if $change_dir ne "";
77
78 if ($recurse)
79 {
80 @fingerprint_files = ("fingerprint.sha1",
81 <*/fingerprint.sha1>);
82 }
83 else
84 {
85 push @fingerprint_files, $hash_file;
86 }
87
88 foreach $fp (@fingerprint_files)
89 {
90 if (!open(IN, "$fp"))
91 {
92 print STDERR "Can't open file $fp";
93 return 1;
94 }
95 print STDERR "Opening Fingerprint file $fp\n" if $verbose;
96 my $dir = $fp;
97 $dir =~ s/[^\/]*$//;
98 while (<IN>)
99 {
100 chomp;
101 if (!(($file, $hash) = /^\"HMAC-SHA1\((.*)\)\s*=\s*(\w*)\",$/))
102 {
103 /^\"/ || next;
104 print STDERR "FATAL: Invalid syntax in file $fp\n";
105 print STDERR "Line:\n$_\n";
106 fatal_error();
107 return 1;
108 }
109 if (!$rebuild && length($hash) != 40)
110 {
111 print STDERR "FATAL: Invalid hash length in $fp for file $file\n";
112 fatal_error();
113 return 1;
114 }
115 push @hashed_files, "$dir$file";
116 if (exists $hashes{"$dir$file"})
117 {
118 print STDERR "FATAL: Duplicate Hash file $dir$file\n";
119 fatal_error();
120 return 1;
121 }
122 if (! -r "$dir$file")
123 {
124 print STDERR "FATAL: Can't access $dir$file\n";
125 fatal_error();
126 return 1;
127 }
128 $hashes{"$dir$file"} = $hash;
129 }
130 close IN;
131 }
132
133 @checked_hashes = `$check_program @hashed_files`;
134
135 if ($? != 0)
136 {
137 print STDERR "Error running hash program $check_program\n";
138 fatal_error();
139 return 1;
140 }
141
142 if (@checked_hashes != @hashed_files)
143 {
144 print STDERR "FATAL: hash count incorrect\n";
145 fatal_error();
146 return 1;
147 }
148
149 foreach (@checked_hashes)
150 {
151 chomp;
152 if (!(($file, $hash) = /^HMAC-SHA1\((.*)\)\s*=\s*(\w*)$/))
153 {
154 print STDERR "FATAL: Invalid syntax in file $fp\n";
155 print STDERR "Line:\n$_\n";
156 fatal_error();
157 return 1;
158 }
159 if (length($hash) != 40)
160 {
161 print STDERR "FATAL: Invalid hash length for file $file\n";
162 fatal_error();
163 return 1;
164 }
165 if ($hash ne $hashes{$file})
166 {
167 if ($rebuild)
168 {
169 print STDERR "Updating hash on file $file\n";
170 $hashes{$file} = $hash;
171 }
172 else
173 {
174 print STDERR "Hash check failed for file $file\n";
175 }
176 $badfiles++;
177 }
178 elsif ($verbose)
179 { print "Hash Check OK for $file\n";}
180 }
181
182
183 if ($badfiles && !$rebuild)
184 {
185 print STDERR "FATAL: hash mismatch on $badfiles files\n";
186 fatal_error();
187 return 1;
188 }
189
190 if ($badfiles || $force_rewrite)
191 {
192 print "Updating Hash file $hash_file\n";
193 if (!open(OUT, ">$hash_file"))
194 {
195 print STDERR "Error rewriting $hash_file";
196 return 1;
197 }
198 print OUT "const char * const FIPS_source_hashes[] = {\n";
199 foreach (@hashed_files)
200 {
201 print OUT "\"HMAC-SHA1($_)= $hashes{$_}\",\n";
202 }
203 print OUT "};\n";
204 close OUT;
205 }
206
207 if (!$badfiles)
208 {
209 print "FIPS hash check successful\n";
210 }
211
212 return 0;
213
214 }
215
216
217sub fatal_error
218 {
219 print STDERR "*** Your source code does not match the FIPS validated source ***\n";
220 }
221
222
diff --git a/src/lib/libcrypto/util/ck_errf.pl b/src/lib/libcrypto/util/ck_errf.pl
index 344b422c34..f13af5c50b 100644
--- a/src/lib/libcrypto/util/ck_errf.pl
+++ b/src/lib/libcrypto/util/ck_errf.pl
@@ -7,8 +7,16 @@
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
10foreach $file (@ARGV) 13foreach $file (@ARGV)
11 { 14 {
15 if ($file eq "-strict")
16 {
17 $err_strict = 1;
18 next;
19 }
12 open(IN,"<$file") || die "unable to open $file\n"; 20 open(IN,"<$file") || die "unable to open $file\n";
13 $func=""; 21 $func="";
14 while (<IN>) 22 while (<IN>)
@@ -20,13 +28,13 @@ foreach $file (@ARGV)
20 $func = $1; 28 $func = $1;
21 $func =~ tr/A-Z/a-z/; 29 $func =~ tr/A-Z/a-z/;
22 } 30 }
23 if (/([A-Z0-9]+)err\(([^,]+)/) 31 if (/([A-Z0-9]+)err\(([^,]+)/ && ! /ckerr_ignore/)
24 { 32 {
25 $errlib=$1; 33 $errlib=$1;
26 $n=$2; 34 $n=$2;
27 35
28 if ($func eq "") 36 if ($func eq "")
29 { print "$file:$.:???:$n\n"; next; } 37 { print "$file:$.:???:$n\n"; $bad = 1; next; }
30 38
31 if ($n !~ /([^_]+)_F_(.+)$/) 39 if ($n !~ /([^_]+)_F_(.+)$/)
32 { 40 {
@@ -37,14 +45,20 @@ foreach $file (@ARGV)
37 $n=$2; 45 $n=$2;
38 46
39 if ($lib ne $errlib) 47 if ($lib ne $errlib)
40 { print "$file:$.:$func:$n [${errlib}err]\n"; next; } 48 { print "$file:$.:$func:$n [${errlib}err]\n"; $bad = 1; next; }
41 49
42 $n =~ tr/A-Z/a-z/; 50 $n =~ tr/A-Z/a-z/;
43 if (($n ne $func) && ($errlib ne "SYS")) 51 if (($n ne $func) && ($errlib ne "SYS"))
44 { print "$file:$.:$func:$n\n"; next; } 52 { print "$file:$.:$func:$n\n"; $bad = 1; next; }
45 # print "$func:$1\n"; 53 # print "$func:$1\n";
46 } 54 }
47 } 55 }
48 close(IN); 56 close(IN);
49 } 57 }
50 58
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 2b2bdb4048..d3525b0ed0 100644
--- a/src/lib/libcrypto/util/clean-depend.pl
+++ b/src/lib/libcrypto/util/clean-depend.pl
@@ -42,6 +42,7 @@ 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/^\.\///;
45 next if $prevdep eq $dep; # to exterminate duplicates... 46 next if $prevdep eq $dep; # to exterminate duplicates...
46 $prevdep = $dep; 47 $prevdep = $dep;
47 $len=0 if $len+length($dep)+1 >= 80; 48 $len=0 if $len+length($dep)+1 >= 80;
diff --git a/src/lib/libcrypto/util/copy.pl b/src/lib/libcrypto/util/copy.pl
index e20b45530a..eba6d5815e 100644
--- a/src/lib/libcrypto/util/copy.pl
+++ b/src/lib/libcrypto/util/copy.pl
@@ -8,9 +8,16 @@ use Fcntl;
8# Perl script 'copy' comment. On Windows the built in "copy" command also 8# Perl script 'copy' comment. On Windows the built in "copy" command also
9# copies timestamps: this messes up Makefile dependencies. 9# copies timestamps: this messes up Makefile dependencies.
10 10
11my $stripcr = 0;
12
11my $arg; 13my $arg;
12 14
13foreach $arg (@ARGV) { 15foreach $arg (@ARGV) {
16 if ($arg eq "-stripcr")
17 {
18 $stripcr = 1;
19 next;
20 }
14 $arg =~ s|\\|/|g; # compensate for bug/feature in cygwin glob... 21 $arg =~ s|\\|/|g; # compensate for bug/feature in cygwin glob...
15 foreach (glob $arg) 22 foreach (glob $arg)
16 { 23 {
@@ -49,6 +56,10 @@ foreach (@filelist)
49 || die "Can't Open $dfile"; 56 || die "Can't Open $dfile";
50 while (sysread IN, $buf, 10240) 57 while (sysread IN, $buf, 10240)
51 { 58 {
59 if ($stripcr)
60 {
61 $buf =~ tr/\015//d;
62 }
52 syswrite(OUT, $buf, length($buf)); 63 syswrite(OUT, $buf, length($buf));
53 } 64 }
54 close(IN); 65 close(IN);
diff --git a/src/lib/libcrypto/util/cygwin.sh b/src/lib/libcrypto/util/cygwin.sh
index 89d1dda95b..a4f2e740b4 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 no-idea no-rc5 no-mdc2" 10CONFIG_OPTIONS="--prefix=/usr shared zlib no-idea no-rc5"
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, RC5 and MDC2 algorithms are disabled due to patent and/or 69 The IDEA and RC5 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 560ebeaf82..bab48cb7a2 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 [ "$MAKEDEPEND" = "gcc" ]; then 17if expr "$MAKEDEPEND" : '.*gcc$' > /dev/null; 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,13 +22,17 @@ if [ "$MAKEDEPEND" = "gcc" ]; 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 ${CC:-gcc} -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp 25 ${MAKEDEPEND} -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp || exit 1
26 ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new 26 ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
27 RC=$?
27 rm -f Makefile.tmp 28 rm -f Makefile.tmp
28else 29else
29 ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ 30 ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ && \
30 ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new 31 ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
32 RC=$?
31fi 33fi
32mv Makefile.new Makefile 34mv Makefile.new Makefile
33# unfake the presence of Kerberos 35# unfake the presence of Kerberos
34rm $TOP/krb5.h 36rm $TOP/krb5.h
37
38exit $RC
diff --git a/src/lib/libcrypto/util/fipslink.pl b/src/lib/libcrypto/util/fipslink.pl
deleted file mode 100644
index 3597bc1740..0000000000
--- a/src/lib/libcrypto/util/fipslink.pl
+++ /dev/null
@@ -1,78 +0,0 @@
1#!/usr/bin/perl
2
3sub check_env
4 {
5 my @ret;
6 foreach (@_)
7 {
8 die "Environment variable $_ not defined!\n" unless exists $ENV{$_};
9 push @ret, $ENV{$_};
10 }
11 return @ret;
12 }
13
14
15my ($fips_cc,$fips_cc_args, $fips_link,$fips_target, $fips_libdir, $sha1_exe)
16 = check_env("FIPS_CC", "FIPS_CC_ARGS", "FIPS_LINK", "FIPS_TARGET",
17 "FIPSLIB_D", "FIPS_SHA1_EXE");
18
19
20
21if (exists $ENV{"PREMAIN_DSO_EXE"})
22 {
23 $fips_premain_dso = $ENV{"PREMAIN_DSO_EXE"};
24 }
25 else
26 {
27 $fips_premain_dso = "";
28 }
29
30check_hash($sha1_exe, "fips_premain.c");
31check_hash($sha1_exe, "fipscanister.lib");
32
33
34print "Integrity check OK\n";
35
36print "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c\n";
37system "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c";
38die "First stage Compile failure" if $? != 0;
39
40print "$fips_link @ARGV\n";
41system "$fips_link @ARGV";
42die "First stage Link failure" if $? != 0;
43
44
45print "$fips_premain_dso $fips_target\n";
46$fips_hash=`$fips_premain_dso $fips_target`;
47chomp $fips_hash;
48die "Get hash failure" if $? != 0;
49
50
51print "$fips_cc -DHMAC_SHA1_SIG=\\\"$fips_hash\\\" $fips_cc_args $fips_libdir/fips_premain.c\n";
52system "$fips_cc -DHMAC_SHA1_SIG=\\\"$fips_hash\\\" $fips_cc_args $fips_libdir/fips_premain.c";
53die "Second stage Compile failure" if $? != 0;
54
55
56print "$fips_link @ARGV\n";
57system "$fips_link @ARGV";
58die "Second stage Link failure" if $? != 0;
59
60sub check_hash
61 {
62 my ($sha1_exe, $filename) = @_;
63 my ($hashfile, $hashval);
64
65 open(IN, "${fips_libdir}/${filename}.sha1") || die "Cannot open file hash file ${fips_libdir}/${filename}.sha1";
66 $hashfile = <IN>;
67 close IN;
68 $hashval = `$sha1_exe ${fips_libdir}/$filename`;
69 chomp $hashfile;
70 chomp $hashval;
71 $hashfile =~ s/^.*=\s+//;
72 $hashval =~ s/^.*=\s+//;
73 die "Invalid hash syntax in file" if (length($hashfile) != 40);
74 die "Invalid hash received for file" if (length($hashval) != 40);
75 die "***HASH VALUE MISMATCH FOR FILE $filename ***" if ($hashval ne $hashfile);
76 }
77
78
diff --git a/src/lib/libcrypto/util/libeay.num b/src/lib/libcrypto/util/libeay.num
index 0bad595233..c68047e955 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 EXIST::FUNCTION: 3ASN1_BIT_STRING_asn1_meth 3 NOEXIST::FUNCTION:
4ASN1_HEADER_free 4 EXIST::FUNCTION: 4ASN1_HEADER_free 4 NOEXIST::FUNCTION:
5ASN1_HEADER_new 5 EXIST::FUNCTION: 5ASN1_HEADER_new 5 NOEXIST::FUNCTION:
6ASN1_IA5STRING_asn1_meth 6 EXIST::FUNCTION: 6ASN1_IA5STRING_asn1_meth 6 NOEXIST::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:!WIN16:FUNCTION:FP_API 78BIO_new_file 82 EXIST::FUNCTION:FP_API
79BIO_new_fp 83 EXIST:!WIN16:FUNCTION:FP_API 79BIO_new_fp 83 EXIST::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:!WIN16:FUNCTION:FP_API 89BIO_s_file 93 EXIST::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: 175CRYPTO_get_id_callback 183 EXIST::FUNCTION:DEPRECATED
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: 188CRYPTO_set_id_callback 196 EXIST::FUNCTION:DEPRECATED
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: 191CRYPTO_thread_id 199 EXIST::FUNCTION:DEPRECATED
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: 246ERR_remove_state 254 EXIST::FUNCTION:DEPRECATED
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 EXIST::FUNCTION: 346OBJ_bsearch 354 NOEXIST::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:!WIN16:FUNCTION: 359PEM_ASN1_read 367 EXIST::FUNCTION:
360PEM_ASN1_read_bio 368 EXIST::FUNCTION:BIO 360PEM_ASN1_read_bio 368 EXIST::FUNCTION:BIO
361PEM_ASN1_write 369 EXIST:!WIN16:FUNCTION: 361PEM_ASN1_write 369 EXIST::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:!WIN16:FUNCTION: 369PEM_X509_INFO_read 377 EXIST::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:!WIN16:FUNCTION: 376PEM_read 384 EXIST::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:!WIN16:FUNCTION: 396PEM_write 404 EXIST::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 EXIST::FUNCTION:RSA 472RSAPrivateKey_asn1_meth 480 NOEXIST::FUNCTION:
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 EXIST::FUNCTION: 627X509_asn1_meth 634 NOEXIST::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 EXIST::FUNCTION: 707d2i_ASN1_HEADER 714 NOEXIST::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 EXIST::FUNCTION: 812i2d_ASN1_HEADER 820 NOEXIST::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 EXIST:WIN16:FUNCTION:FP_API 953BIO_new_file_internal 970 NOEXIST::FUNCTION:
954BIO_new_fp_internal 971 EXIST:WIN16:FUNCTION:FP_API 954BIO_new_fp_internal 971 NOEXIST::FUNCTION:
955BIO_s_file_internal 972 EXIST:WIN16:FUNCTION:FP_API 955BIO_s_file_internal 972 NOEXIST::FUNCTION:
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,!WIN16:FUNCTION: 987ERR_load_CRYPTO_strings 1009 EXIST:!OS2,!VMS:FUNCTION:
988ERR_load_CRYPTOlib_strings 1009 EXIST:OS2,VMS,WIN16:FUNCTION: 988ERR_load_CRYPTOlib_strings 1009 EXIST:OS2,VMS: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 EXIST::FUNCTION: 1120ms_time_diff 1148 NOEXIST::FUNCTION:
1121ms_time_new 1149 EXIST::FUNCTION: 1121ms_time_new 1149 NOEXIST::FUNCTION:
1122ms_time_free 1150 EXIST::FUNCTION: 1122ms_time_free 1150 NOEXIST::FUNCTION:
1123ms_time_cmp 1151 EXIST::FUNCTION: 1123ms_time_cmp 1151 NOEXIST::FUNCTION:
1124ms_time_get 1152 EXIST::FUNCTION: 1124ms_time_get 1152 NOEXIST::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:
1258asc2uni 1282 EXIST::FUNCTION: 1258OPENSSL_asc2uni 1282 EXIST::FUNCTION:
1259uni2asc 1283 EXIST::FUNCTION: 1259OPENSSL_uni2asc 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 EXIST::FUNCTION: 2084ASN1_STRING_encode 2643 NOEXIST::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,!WIN16:FUNCTION: 2735OCSP_crlID_new 3181 EXIST:!OS2,!VMS:FUNCTION:
2736OCSP_crlID2_new 3181 EXIST:OS2,VMS,WIN16:FUNCTION: 2736OCSP_crlID2_new 3181 EXIST:OS2,VMS: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 EXIST:OPENSSL_FIPS:FUNCTION: 2807FIPS_corrupt_rsa 3249 NOEXIST::FUNCTION:
2808FIPS_selftest_des 3250 EXIST:OPENSSL_FIPS:FUNCTION: 2808FIPS_selftest_des 3250 NOEXIST::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 EXIST:OPENSSL_FIPS:FUNCTION: 2811FIPS_mode_set 3253 NOEXIST::FUNCTION:
2812FIPS_selftest_dsa 3254 EXIST:OPENSSL_FIPS:FUNCTION: 2812FIPS_selftest_dsa 3254 NOEXIST::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 EXIST::FUNCTION:AES 2818AES_cfbr_encrypt_block 3260 NOEXIST::FUNCTION:
2819AES_cfb8_encrypt 3261 EXIST::FUNCTION:AES 2819AES_cfb8_encrypt 3261 EXIST::FUNCTION:AES
2820FIPS_rand_seed 3262 EXIST:OPENSSL_FIPS:FUNCTION: 2820FIPS_rand_seed 3262 NOEXIST::FUNCTION:
2821FIPS_corrupt_des 3263 EXIST:OPENSSL_FIPS:FUNCTION: 2821FIPS_corrupt_des 3263 NOEXIST::FUNCTION:
2822EVP_aes_192_cfb1 3264 EXIST::FUNCTION:AES 2822EVP_aes_192_cfb1 3264 EXIST::FUNCTION:AES
2823FIPS_selftest_aes 3265 EXIST:OPENSSL_FIPS:FUNCTION: 2823FIPS_selftest_aes 3265 NOEXIST::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 EXIST:OPENSSL_FIPS:FUNCTION: 2826FIPS_corrupt_dsa 3268 NOEXIST::FUNCTION:
2827FIPS_test_mode 3269 NOEXIST::FUNCTION: 2827FIPS_test_mode 3269 NOEXIST::FUNCTION:
2828FIPS_rand_method 3270 EXIST:OPENSSL_FIPS:FUNCTION: 2828FIPS_rand_method 3270 NOEXIST::FUNCTION:
2829EVP_aes_256_cfb1 3271 EXIST::FUNCTION:AES 2829EVP_aes_256_cfb1 3271 EXIST::FUNCTION:AES
2830ERR_load_FIPS_strings 3272 EXIST:OPENSSL_FIPS:FUNCTION: 2830ERR_load_FIPS_strings 3272 NOEXIST::FUNCTION:
2831FIPS_corrupt_aes 3273 EXIST:OPENSSL_FIPS:FUNCTION: 2831FIPS_corrupt_aes 3273 NOEXIST::FUNCTION:
2832FIPS_selftest_sha1 3274 EXIST:OPENSSL_FIPS:FUNCTION: 2832FIPS_selftest_sha1 3274 NOEXIST::FUNCTION:
2833FIPS_selftest_rsa 3275 EXIST:OPENSSL_FIPS:FUNCTION: 2833FIPS_selftest_rsa 3275 NOEXIST::FUNCTION:
2834FIPS_corrupt_sha1 3276 EXIST:OPENSSL_FIPS:FUNCTION: 2834FIPS_corrupt_sha1 3276 NOEXIST::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 EXIST:OPENSSL_FIPS:FUNCTION: 2839FIPS_rand_check 3281 NOEXIST::FUNCTION:
2840FIPS_md5_allowed 3282 NOEXIST::FUNCTION: 2840FIPS_md5_allowed 3282 NOEXIST::FUNCTION:
2841FIPS_mode 3283 EXIST:OPENSSL_FIPS:FUNCTION: 2841FIPS_mode 3283 NOEXIST::FUNCTION:
2842FIPS_selftest_failed 3284 EXIST:OPENSSL_FIPS:FUNCTION: 2842FIPS_selftest_failed 3284 NOEXIST::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 EXIST:OPENSSL_FIPS:FUNCTION:IDEA 2845private_idea_set_encrypt_key 3287 NOEXIST::FUNCTION:
2846HMAC_CTX_set_flags 3288 EXIST::FUNCTION:HMAC 2846HMAC_CTX_set_flags 3288 EXIST::FUNCTION:HMAC
2847private_SHA_Init 3289 EXIST:OPENSSL_FIPS:FUNCTION:SHA,SHA0 2847private_SHA_Init 3289 NOEXIST::FUNCTION:
2848private_CAST_set_key 3290 EXIST:OPENSSL_FIPS:FUNCTION:CAST 2848private_CAST_set_key 3290 NOEXIST::FUNCTION:
2849private_RIPEMD160_Init 3291 EXIST:OPENSSL_FIPS:FUNCTION:RIPEMD 2849private_RIPEMD160_Init 3291 NOEXIST::FUNCTION:
2850private_RC5_32_set_key 3292 EXIST:OPENSSL_FIPS:FUNCTION:RC5 2850private_RC5_32_set_key 3292 NOEXIST::FUNCTION:
2851private_MD5_Init 3293 EXIST:OPENSSL_FIPS:FUNCTION:MD5 2851private_MD5_Init 3293 NOEXIST::FUNCTION:
2852private_RC4_set_key 3294 EXIST:OPENSSL_FIPS:FUNCTION:RC4 2852private_RC4_set_key 3294 NOEXIST::FUNCTION:
2853private_MDC2_Init 3295 EXIST:OPENSSL_FIPS:FUNCTION:MDC2 2853private_MDC2_Init 3295 NOEXIST::FUNCTION:
2854private_RC2_set_key 3296 EXIST:OPENSSL_FIPS:FUNCTION:RC2 2854private_RC2_set_key 3296 NOEXIST::FUNCTION:
2855private_MD4_Init 3297 EXIST:OPENSSL_FIPS:FUNCTION:MD4 2855private_MD4_Init 3297 NOEXIST::FUNCTION:
2856private_BF_set_key 3298 EXIST:OPENSSL_FIPS:FUNCTION:BF 2856private_BF_set_key 3298 NOEXIST::FUNCTION:
2857private_MD2_Init 3299 EXIST:OPENSSL_FIPS:FUNCTION:MD2 2857private_MD2_Init 3299 NOEXIST::FUNCTION:
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 EXIST:OPENSSL_FIPS:FUNCTION: 2871FIPS_selftest_rng 3311 NOEXIST::FUNCTION:
2872EVP_sha384 3312 EXIST::FUNCTION:SHA,SHA512 2872EVP_sha384 3312 EXIST:!VMSVAX:FUNCTION:SHA,SHA512
2873EVP_sha512 3313 EXIST::FUNCTION:SHA,SHA512 2873EVP_sha512 3313 EXIST:!VMSVAX: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 EXIST:OPENSSL_FIPS:FUNCTION: 2876FIPS_selftest_hmac 3316 NOEXIST::FUNCTION:
2877FIPS_corrupt_rng 3317 EXIST:OPENSSL_FIPS:FUNCTION: 2877FIPS_corrupt_rng 3317 NOEXIST::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 EXIST::FUNCTION: 2885BN_X931_generate_Xpq 3325 NOEXIST::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_method_set_list_start_function 3336 EXIST:!VMS:FUNCTION: 2896STORE_meth_set_list_start_fn 3336 NOEXIST::FUNCTION:
2897STORE_meth_set_list_start_fn 3336 EXIST:VMS:FUNCTION: 2897STORE_method_set_list_start_function 3336 NOEXIST::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 EXIST::FUNCTION: 2900STORE_ATTR_INFO_set_number 3339 NOEXIST::FUNCTION:
2901BN_BLINDING_get_thread_id 3340 EXIST::FUNCTION: 2901BN_BLINDING_get_thread_id 3340 EXIST::FUNCTION:DEPRECATED
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 EXIST::FUNCTION: 2905STORE_parse_attrs_start 3343 NOEXIST::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 EXIST::FUNCTION: 2910STORE_set_method 3348 NOEXIST::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_method_get_update_store_function 3354 EXIST:!VMS:FUNCTION: 2917STORE_meth_get_update_store_fn 3354 NOEXIST::FUNCTION:
2918STORE_meth_get_update_store_fn 3354 EXIST:VMS:FUNCTION: 2918STORE_method_get_update_store_function 3354 NOEXIST::FUNCTION:
2919ENGINE_register_ECDH 3355 EXIST::FUNCTION:ENGINE 2919ENGINE_register_ECDH 3355 EXIST::FUNCTION:ENGINE
2920SHA512_Update 3356 EXIST::FUNCTION:SHA,SHA512 2920SHA512_Update 3356 EXIST:!VMSVAX: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 EXIST::FUNCTION: 2923STORE_modify_certificate 3359 NOEXIST::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 EXIST::FUNCTION: 2927STORE_ATTR_INFO_modify_number 3362 NOEXIST::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 EXIST::FUNCTION: 2932STORE_list_public_key_endp 3367 NOEXIST::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_method_set_initialise_function 3376 EXIST:!VMS:FUNCTION: 2941STORE_meth_set_initialise_fn 3376 NOEXIST::FUNCTION:
2942STORE_meth_set_initialise_fn 3376 EXIST:VMS:FUNCTION: 2942STORE_method_set_initialise_function 3376 NOEXIST::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 EXIST::FUNCTION: 2946STORE_ATTR_INFO_set_dn 3380 NOEXIST::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 EXIST::FUNCTION: 2949STORE_destroy_method 3383 NOEXIST::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 EXIST::FUNCTION: 2952STORE_ATTR_INFO_get0_number 3386 NOEXIST::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 EXIST::FUNCTION: 2957STORE_delete_public_key 3390 NOEXIST::FUNCTION:
2958STORE_get_public_key 3391 EXIST::FUNCTION: 2958STORE_get_public_key 3391 NOEXIST::FUNCTION:
2959STORE_modify_arbitrary 3392 EXIST::FUNCTION: 2959STORE_modify_arbitrary 3392 NOEXIST::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 EXIST::FUNCTION: 2968STORE_get_method 3401 NOEXIST::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 EXIST::FUNCTION: 2971STORE_parse_attrs_end 3404 NOEXIST::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 EXIST::FUNCTION: 2974STORE_method_set_store_function 3406 NOEXIST::FUNCTION:
2975STORE_ATTR_INFO_in 3407 EXIST::FUNCTION: 2975STORE_ATTR_INFO_in 3407 NOEXIST::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 EXIST::FUNCTION: 2983STORE_get_number 3415 NOEXIST::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_method_set_list_next_function 3423 EXIST:!VMS:FUNCTION: 2991STORE_meth_set_list_next_fn 3423 NOEXIST::FUNCTION:
2992STORE_meth_set_list_next_fn 3423 EXIST:VMS:FUNCTION: 2992STORE_method_set_list_next_function 3423 NOEXIST::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_method_get_generate_function 3426 EXIST:!VMS:FUNCTION: 2995STORE_meth_get_generate_fn 3426 NOEXIST::FUNCTION:
2996STORE_meth_get_generate_fn 3426 EXIST:VMS:FUNCTION: 2996STORE_method_get_generate_function 3426 NOEXIST::FUNCTION:
2997STORE_method_set_list_end_function 3427 EXIST:!VMS:FUNCTION: 2997STORE_meth_set_list_end_fn 3427 NOEXIST::FUNCTION:
2998STORE_meth_set_list_end_fn 3427 EXIST:VMS:FUNCTION: 2998STORE_method_set_list_end_function 3427 NOEXIST::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 EXIST::FUNCTION: 3006STORE_new_engine 3435 NOEXIST::FUNCTION:
3007STORE_list_public_key_start 3436 EXIST::FUNCTION: 3007STORE_list_public_key_start 3436 NOEXIST::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 EXIST::FUNCTION: 3017STORE_list_crl_endp 3446 NOEXIST::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 EXIST::FUNCTION: 3021STORE_list_crl_end 3449 NOEXIST::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 EXIST::FUNCTION: 3029STORE_method_set_ctrl_function 3457 NOEXIST::FUNCTION:
3030STORE_list_public_key_end 3458 EXIST::FUNCTION: 3030STORE_list_public_key_end 3458 NOEXIST::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 EXIST::FUNCTION: 3033STORE_get_arbitrary 3461 NOEXIST::FUNCTION:
3034STORE_store_crl 3462 EXIST::FUNCTION: 3034STORE_store_crl 3462 NOEXIST::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 EXIST::FUNCTION: 3041STORE_ctrl 3469 NOEXIST::FUNCTION:
3042STORE_ATTR_INFO_compare 3470 EXIST::FUNCTION: 3042STORE_ATTR_INFO_compare 3470 NOEXIST::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_method_set_generate_function 3476 EXIST:!VMS:FUNCTION: 3048STORE_meth_set_generate_fn 3476 NOEXIST::FUNCTION:
3049STORE_meth_set_generate_fn 3476 EXIST:VMS:FUNCTION: 3049STORE_method_set_generate_function 3476 NOEXIST::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 EXIST::FUNCTION: 3055STORE_ATTR_INFO_set_cstr 3482 NOEXIST::FUNCTION:
3056STORE_list_crl_next 3483 EXIST::FUNCTION: 3056STORE_list_crl_next 3483 NOEXIST::FUNCTION:
3057STORE_ATTR_INFO_in_range 3484 EXIST::FUNCTION: 3057STORE_ATTR_INFO_in_range 3484 NOEXIST::FUNCTION:
3058ECParameters_print 3485 EXIST::FUNCTION:BIO,EC 3058ECParameters_print 3485 EXIST::FUNCTION:BIO,EC
3059STORE_method_set_delete_function 3486 EXIST:!VMS:FUNCTION: 3059STORE_meth_set_delete_fn 3486 NOEXIST::FUNCTION:
3060STORE_meth_set_delete_fn 3486 EXIST:VMS:FUNCTION: 3060STORE_method_set_delete_function 3486 NOEXIST::FUNCTION:
3061STORE_list_certificate_next 3487 EXIST::FUNCTION: 3061STORE_list_certificate_next 3487 NOEXIST::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_method_get_list_next_function 3491 EXIST:!VMS:FUNCTION: 3065STORE_meth_get_list_next_fn 3491 NOEXIST::FUNCTION:
3066STORE_meth_get_list_next_fn 3491 EXIST:VMS:FUNCTION: 3066STORE_method_get_list_next_function 3491 NOEXIST::FUNCTION:
3067STORE_ATTR_INFO_get0_dn 3492 EXIST::FUNCTION: 3067STORE_ATTR_INFO_get0_dn 3492 NOEXIST::FUNCTION:
3068STORE_list_private_key_next 3493 EXIST::FUNCTION: 3068STORE_list_private_key_next 3493 NOEXIST::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 EXIST::FUNCTION: 3071STORE_ATTR_INFO_free 3496 NOEXIST::FUNCTION:
3072STORE_get_private_key 3497 EXIST::FUNCTION: 3072STORE_get_private_key 3497 NOEXIST::FUNCTION:
3073EVP_PKEY_get_attr_count 3498 EXIST::FUNCTION: 3073EVP_PKEY_get_attr_count 3498 EXIST::FUNCTION:
3074STORE_ATTR_INFO_new 3499 EXIST::FUNCTION: 3074STORE_ATTR_INFO_new 3499 NOEXIST::FUNCTION:
3075EC_GROUP_get_curve_GF2m 3500 EXIST::FUNCTION:EC 3075EC_GROUP_get_curve_GF2m 3500 EXIST::FUNCTION:EC
3076STORE_method_set_revoke_function 3501 EXIST:!VMS:FUNCTION: 3076STORE_meth_set_revoke_fn 3501 NOEXIST::FUNCTION:
3077STORE_meth_set_revoke_fn 3501 EXIST:VMS:FUNCTION: 3077STORE_method_set_revoke_function 3501 NOEXIST::FUNCTION:
3078STORE_store_number 3502 EXIST::FUNCTION: 3078STORE_store_number 3502 NOEXIST::FUNCTION:
3079BN_is_prime_ex 3503 EXIST::FUNCTION: 3079BN_is_prime_ex 3503 EXIST::FUNCTION:
3080STORE_revoke_public_key 3504 EXIST::FUNCTION: 3080STORE_revoke_public_key 3504 NOEXIST::FUNCTION:
3081X509_STORE_CTX_get0_param 3505 EXIST::FUNCTION: 3081X509_STORE_CTX_get0_param 3505 EXIST::FUNCTION:
3082STORE_delete_arbitrary 3506 EXIST::FUNCTION: 3082STORE_delete_arbitrary 3506 NOEXIST::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 EXIST::FUNCTION: 3090STORE_list_certificate_start 3514 NOEXIST::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 EXIST::FUNCTION: 3094ERR_load_STORE_strings 3518 NOEXIST::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 EXIST::FUNCTION: 3096STORE_list_private_key_end 3520 NOEXIST::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 EXIST::FUNCTION: 3103STORE_modify_private_key 3526 NOEXIST::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_method_set_modify_function 3530 EXIST:!VMS:FUNCTION: 3107STORE_meth_set_modify_fn 3530 NOEXIST::FUNCTION:
3108STORE_meth_set_modify_fn 3530 EXIST:VMS:FUNCTION: 3108STORE_method_set_modify_function 3530 NOEXIST::FUNCTION:
3109STORE_parse_attrs_next 3531 EXIST::FUNCTION: 3109STORE_parse_attrs_next 3531 NOEXIST::FUNCTION:
3110ENGINE_load_padlock 3532 EXIST::FUNCTION:ENGINE 3110ENGINE_load_padlock 3532 EXIST::FUNCTION:ENGINE,STATIC_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_method_get_revoke_function 3535 EXIST:!VMS:FUNCTION: 3114STORE_meth_get_revoke_fn 3535 NOEXIST::FUNCTION:
3115STORE_meth_get_revoke_fn 3535 EXIST:VMS:FUNCTION: 3115STORE_method_get_revoke_function 3535 NOEXIST::FUNCTION:
3116STORE_method_set_get_function 3536 EXIST::FUNCTION: 3116STORE_method_set_get_function 3536 NOEXIST::FUNCTION:
3117STORE_modify_number 3537 EXIST::FUNCTION: 3117STORE_modify_number 3537 NOEXIST::FUNCTION:
3118STORE_method_get_store_function 3538 EXIST::FUNCTION: 3118STORE_method_get_store_function 3538 NOEXIST::FUNCTION:
3119STORE_store_private_key 3539 EXIST::FUNCTION: 3119STORE_store_private_key 3539 NOEXIST::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 EXIST::FUNCTION: 3123STORE_Memory 3543 NOEXIST::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::FUNCTION:SHA,SHA512 3131SHA384_Update 3551 EXIST:!VMSVAX:FUNCTION:SHA,SHA512
3132BN_GF2m_arr2poly 3552 EXIST::FUNCTION: 3132BN_GF2m_arr2poly 3552 EXIST::FUNCTION:
3133STORE_method_get_get_function 3553 EXIST::FUNCTION: 3133STORE_method_get_get_function 3553 NOEXIST::FUNCTION:
3134STORE_method_set_cleanup_function 3554 EXIST:!VMS:FUNCTION: 3134STORE_meth_set_cleanup_fn 3554 NOEXIST::FUNCTION:
3135STORE_meth_set_cleanup_fn 3554 EXIST:VMS:FUNCTION: 3135STORE_method_set_cleanup_function 3554 NOEXIST::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_method_get_lock_store_function 3558 EXIST:!VMS:FUNCTION: 3139STORE_meth_get_lock_store_fn 3558 NOEXIST::FUNCTION:
3140STORE_meth_get_lock_store_fn 3558 EXIST:VMS:FUNCTION: 3140STORE_method_get_lock_store_function 3558 NOEXIST::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_method_set_update_store_function 3561 EXIST:!VMS:FUNCTION: 3143STORE_meth_set_update_store_fn 3561 NOEXIST::FUNCTION:
3144STORE_meth_set_update_store_fn 3561 EXIST:VMS:FUNCTION: 3144STORE_method_set_update_store_function 3561 NOEXIST::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 EXIST::FUNCTION: 3148STORE_delete_private_key 3565 NOEXIST::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 EXIST::FUNCTION: 3155STORE_ATTR_INFO_modify_cstr 3572 NOEXIST::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 EXIST::FUNCTION: 3159STORE_generate_crl 3576 NOEXIST::FUNCTION:
3160STORE_store_public_key 3577 EXIST::FUNCTION: 3160STORE_store_public_key 3577 NOEXIST::FUNCTION:
3161X509_CERT_PAIR_free 3578 EXIST::FUNCTION: 3161X509_CERT_PAIR_free 3578 EXIST::FUNCTION:
3162STORE_revoke_private_key 3579 EXIST::FUNCTION: 3162STORE_revoke_private_key 3579 NOEXIST::FUNCTION:
3163BN_nist_mod_224 3580 EXIST::FUNCTION: 3163BN_nist_mod_224 3580 EXIST::FUNCTION:
3164SHA512_Final 3581 EXIST::FUNCTION:SHA,SHA512 3164SHA512_Final 3581 EXIST:!VMSVAX:FUNCTION:SHA,SHA512
3165STORE_ATTR_INFO_modify_dn 3582 EXIST::FUNCTION: 3165STORE_ATTR_INFO_modify_dn 3582 NOEXIST::FUNCTION:
3166STORE_method_get_initialise_function 3583 EXIST:!VMS:FUNCTION: 3166STORE_meth_get_initialise_fn 3583 NOEXIST::FUNCTION:
3167STORE_meth_get_initialise_fn 3583 EXIST:VMS:FUNCTION: 3167STORE_method_get_initialise_function 3583 NOEXIST::FUNCTION:
3168STORE_delete_number 3584 EXIST::FUNCTION: 3168STORE_delete_number 3584 NOEXIST::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 EXIST::FUNCTION: 3172STORE_ATTR_INFO_in_ex 3588 NOEXIST::FUNCTION:
3173STORE_list_crl_start 3589 EXIST::FUNCTION: 3173STORE_list_crl_start 3589 NOEXIST::FUNCTION:
3174ECDH_get_ex_new_index 3590 EXIST::FUNCTION:ECDH 3174ECDH_get_ex_new_index 3590 EXIST::FUNCTION:ECDH
3175STORE_method_get_modify_function 3591 EXIST:!VMS:FUNCTION: 3175STORE_meth_get_modify_fn 3591 NOEXIST::FUNCTION:
3176STORE_meth_get_modify_fn 3591 EXIST:VMS:FUNCTION: 3176STORE_method_get_modify_function 3591 NOEXIST::FUNCTION:
3177v2i_ASN1_BIT_STRING 3592 EXIST::FUNCTION: 3177v2i_ASN1_BIT_STRING 3592 EXIST::FUNCTION:
3178STORE_store_certificate 3593 EXIST::FUNCTION: 3178STORE_store_certificate 3593 NOEXIST::FUNCTION:
3179OBJ_bsearch_ex 3594 EXIST::FUNCTION: 3179OBJ_bsearch_ex 3594 NOEXIST::FUNCTION:
3180X509_STORE_CTX_set_default 3595 EXIST::FUNCTION: 3180X509_STORE_CTX_set_default 3595 EXIST::FUNCTION:
3181STORE_ATTR_INFO_set_sha1str 3596 EXIST::FUNCTION: 3181STORE_ATTR_INFO_set_sha1str 3596 NOEXIST::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 EXIST::FUNCTION: 3184STORE_modify_public_key 3599 NOEXIST::FUNCTION:
3185STORE_method_get_list_start_function 3600 EXIST:!VMS:FUNCTION: 3185STORE_meth_get_list_start_fn 3600 NOEXIST::FUNCTION:
3186STORE_meth_get_list_start_fn 3600 EXIST:VMS:FUNCTION: 3186STORE_method_get_list_start_function 3600 NOEXIST::FUNCTION:
3187EC_GROUP_get0_seed 3601 EXIST::FUNCTION:EC 3187EC_GROUP_get0_seed 3601 EXIST::FUNCTION:EC
3188STORE_store_arbitrary 3602 EXIST::FUNCTION: 3188STORE_store_arbitrary 3602 NOEXIST::FUNCTION:
3189STORE_method_set_unlock_store_function 3603 EXIST:!VMS:FUNCTION: 3189STORE_meth_set_unlock_store_fn 3603 NOEXIST::FUNCTION:
3190STORE_meth_set_unlock_store_fn 3603 EXIST:VMS:FUNCTION: 3190STORE_method_set_unlock_store_function 3603 NOEXIST::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 EXIST::FUNCTION: 3193STORE_create_method 3606 NOEXIST::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 EXIST::FUNCTION: 3201STORE_generate_key 3614 NOEXIST::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 EXIST::FUNCTION: 3209STORE_delete_crl 3621 NOEXIST::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 EXIST::FUNCTION: 3217STORE_revoke_certificate 3628 NOEXIST::FUNCTION:
3218BN_get0_nist_prime_256 3629 EXIST::FUNCTION: 3218BN_get0_nist_prime_256 3629 EXIST::FUNCTION:
3219STORE_method_get_delete_function 3630 EXIST:!VMS:FUNCTION: 3219STORE_meth_get_delete_fn 3630 NOEXIST::FUNCTION:
3220STORE_meth_get_delete_fn 3630 EXIST:VMS:FUNCTION: 3220STORE_method_get_delete_function 3630 NOEXIST::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::FUNCTION:SHA,SHA512 3223SHA512_Init 3633 EXIST:!VMSVAX:FUNCTION:SHA,SHA512
3224STORE_parse_attrs_endp 3634 EXIST::FUNCTION: 3224STORE_parse_attrs_endp 3634 NOEXIST::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 EXIST::FUNCTION: 3228STORE_list_public_key_next 3638 NOEXIST::FUNCTION:
3229i2v_ASN1_BIT_STRING 3639 EXIST::FUNCTION: 3229i2v_ASN1_BIT_STRING 3639 EXIST::FUNCTION:
3230STORE_OBJECT_free 3640 EXIST::FUNCTION: 3230STORE_OBJECT_free 3640 NOEXIST::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 EXIST::FUNCTION: 3235STORE_ATTR_INFO_get0_sha1str 3645 NOEXIST::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 EXIST::FUNCTION: 3238STORE_ATTR_INFO_get0_cstr 3648 NOEXIST::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 EXIST::FUNCTION: 3241STORE_get_ex_new_index 3650 NOEXIST::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::FUNCTION:SHA,SHA512 3262SHA512 3669 EXIST:!VMSVAX:FUNCTION:SHA,SHA512
3263STORE_get_certificate 3670 EXIST::FUNCTION: 3263STORE_get_certificate 3670 NOEXIST::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 EXIST::FUNCTION: 3267STORE_delete_certificate 3674 NOEXIST::FUNCTION:
3268SHA512_Transform 3675 EXIST::FUNCTION:SHA,SHA512 3268SHA512_Transform 3675 EXIST:!VMSVAX:FUNCTION:SHA,SHA512
3269X509_STORE_set1_param 3676 EXIST::FUNCTION: 3269X509_STORE_set1_param 3676 EXIST::FUNCTION:
3270STORE_method_get_ctrl_function 3677 EXIST::FUNCTION: 3270STORE_method_get_ctrl_function 3677 NOEXIST::FUNCTION:
3271STORE_free 3678 EXIST::FUNCTION: 3271STORE_free 3678 NOEXIST::FUNCTION:
3272PEM_write_ECPrivateKey 3679 EXIST:!WIN16:FUNCTION:EC 3272PEM_write_ECPrivateKey 3679 EXIST:!WIN16:FUNCTION:EC
3273STORE_method_get_unlock_store_function 3680 EXIST:!VMS:FUNCTION: 3273STORE_meth_get_unlock_store_fn 3680 NOEXIST::FUNCTION:
3274STORE_meth_get_unlock_store_fn 3680 EXIST:VMS:FUNCTION: 3274STORE_method_get_unlock_store_function 3680 NOEXIST::FUNCTION:
3275STORE_get_ex_data 3681 EXIST::FUNCTION: 3275STORE_get_ex_data 3681 NOEXIST::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 EXIST::FUNCTION: 3285STORE_modify_crl 3691 NOEXIST::FUNCTION:
3286STORE_list_private_key_start 3692 EXIST::FUNCTION: 3286STORE_list_private_key_start 3692 NOEXIST::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 EXIST::FUNCTION: 3295STORE_list_private_key_endp 3699 NOEXIST::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 EXIST::FUNCTION: 3305STORE_ATTR_INFO_modify_sha1str 3709 NOEXIST::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_method_get_cleanup_function 3715 EXIST:!VMS:FUNCTION: 3311STORE_meth_get_cleanup_fn 3715 NOEXIST::FUNCTION:
3312STORE_meth_get_cleanup_fn 3715 EXIST:VMS:FUNCTION: 3312STORE_method_get_cleanup_function 3715 NOEXIST::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 EXIST::FUNCTION: 3319STORE_set_ex_data 3722 NOEXIST::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 EXIST::FUNCTION: 3324STORE_OBJECT_new 3727 NOEXIST::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 EXIST::FUNCTION: 3331STORE_list_certificate_end 3734 NOEXIST::FUNCTION:
3332STORE_get_crl 3735 EXIST::FUNCTION: 3332STORE_get_crl 3735 NOEXIST::FUNCTION:
3333X509_POLICY_NODE_print 3736 EXIST::FUNCTION: 3333X509_POLICY_NODE_print 3736 EXIST::FUNCTION:
3334SHA384_Init 3737 EXIST::FUNCTION:SHA,SHA512 3334SHA384_Init 3737 EXIST:!VMSVAX: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::FUNCTION:SHA,SHA512 3337SHA384_Final 3740 EXIST:!VMSVAX: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_method_set_lock_store_function 3743 EXIST:!VMS:FUNCTION: 3340STORE_meth_set_lock_store_fn 3743 NOEXIST::FUNCTION:
3341STORE_meth_set_lock_store_fn 3743 EXIST:VMS:FUNCTION: 3341STORE_method_set_lock_store_function 3743 NOEXIST::FUNCTION:
3342ECDSA_get_ex_new_index 3744 EXIST::FUNCTION:ECDSA 3342ECDSA_get_ex_new_index 3744 EXIST::FUNCTION:ECDSA
3343SHA384 3745 EXIST::FUNCTION:SHA,SHA512 3343SHA384 3745 EXIST:!VMSVAX:FUNCTION:SHA,SHA512
3344POLICY_MAPPING_new 3746 EXIST::FUNCTION: 3344POLICY_MAPPING_new 3746 EXIST::FUNCTION:
3345STORE_list_certificate_endp 3747 EXIST::FUNCTION: 3345STORE_list_certificate_endp 3747 NOEXIST::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_method_get_list_end_function 3755 EXIST:!VMS:FUNCTION: 3353STORE_meth_get_list_end_fn 3755 NOEXIST::FUNCTION:
3354STORE_meth_get_list_end_fn 3755 EXIST:VMS:FUNCTION: 3354STORE_method_get_list_end_function 3755 NOEXIST::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 EXIST::FUNCTION: 3359STORE_new_method 3760 NOEXIST::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: 3369BN_BLINDING_set_thread_id 3770 EXIST::FUNCTION:DEPRECATED
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 EXIST::FUNCTION:CAMELLIA 3388Camellia_cfbr_encrypt_block 3789 NOEXIST::FUNCTION:
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 EXIST::FUNCTION: 3588int_smime_write_ASN1 3979 NOEXIST::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,53 +3657,52 @@ 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:CAPIENG,ENGINE 3660ENGINE_load_capi 4047 EXIST::FUNCTION:ENGINE,STATIC_ENGINE
3661OPENSSL_isservice 4048 EXIST::FUNCTION: 3661OPENSSL_isservice 4048 EXIST::FUNCTION:
3662FIPS_dsa_sig_decode 4049 EXIST:OPENSSL_FIPS:FUNCTION:DSA 3662FIPS_dsa_sig_decode 4049 NOEXIST::FUNCTION:
3663EVP_CIPHER_CTX_clear_flags 4050 EXIST::FUNCTION: 3663EVP_CIPHER_CTX_clear_flags 4050 EXIST::FUNCTION:
3664FIPS_rand_status 4051 EXIST:OPENSSL_FIPS:FUNCTION: 3664FIPS_rand_status 4051 NOEXIST::FUNCTION:
3665FIPS_rand_set_key 4052 EXIST:OPENSSL_FIPS:FUNCTION: 3665FIPS_rand_set_key 4052 NOEXIST::FUNCTION:
3666CRYPTO_set_mem_info_functions 4053 EXIST::FUNCTION: 3666CRYPTO_set_mem_info_functions 4053 NOEXIST::FUNCTION:
3667RSA_X931_generate_key_ex 4054 EXIST::FUNCTION:RSA 3667RSA_X931_generate_key_ex 4054 NOEXIST::FUNCTION:
3668int_ERR_set_state_func 4055 EXIST:OPENSSL_FIPS:FUNCTION: 3668int_ERR_set_state_func 4055 NOEXIST::FUNCTION:
3669int_EVP_MD_set_engine_callbacks 4056 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE 3669int_EVP_MD_set_engine_callbacks 4056 NOEXIST::FUNCTION:
3670int_CRYPTO_set_do_dynlock_callback 4057 EXIST:!VMS:FUNCTION: 3670int_CRYPTO_set_do_dynlock_callback 4057 NOEXIST::FUNCTION:
3671int_CRYPTO_set_do_dynlock_cb 4057 EXIST:VMS:FUNCTION: 3671FIPS_rng_stick 4058 NOEXIST::FUNCTION:
3672FIPS_rng_stick 4058 EXIST:OPENSSL_FIPS:FUNCTION:
3673EVP_CIPHER_CTX_set_flags 4059 EXIST::FUNCTION: 3672EVP_CIPHER_CTX_set_flags 4059 EXIST::FUNCTION:
3674BN_X931_generate_prime_ex 4060 EXIST::FUNCTION: 3673BN_X931_generate_prime_ex 4060 NOEXIST::FUNCTION:
3675FIPS_selftest_check 4061 EXIST:OPENSSL_FIPS:FUNCTION: 3674FIPS_selftest_check 4061 NOEXIST::FUNCTION:
3676FIPS_rand_set_dt 4062 EXIST:OPENSSL_FIPS:FUNCTION: 3675FIPS_rand_set_dt 4062 NOEXIST::FUNCTION:
3677CRYPTO_dbg_pop_info 4063 EXIST::FUNCTION: 3676CRYPTO_dbg_pop_info 4063 NOEXIST::FUNCTION:
3678FIPS_dsa_free 4064 EXIST:OPENSSL_FIPS:FUNCTION:DSA 3677FIPS_dsa_free 4064 NOEXIST::FUNCTION:
3679RSA_X931_derive_ex 4065 EXIST::FUNCTION:RSA 3678RSA_X931_derive_ex 4065 NOEXIST::FUNCTION:
3680FIPS_rsa_new 4066 EXIST:OPENSSL_FIPS:FUNCTION:RSA 3679FIPS_rsa_new 4066 NOEXIST::FUNCTION:
3681FIPS_rand_bytes 4067 EXIST:OPENSSL_FIPS:FUNCTION: 3680FIPS_rand_bytes 4067 NOEXIST::FUNCTION:
3682fips_cipher_test 4068 EXIST:OPENSSL_FIPS:FUNCTION: 3681fips_cipher_test 4068 NOEXIST::FUNCTION:
3683EVP_CIPHER_CTX_test_flags 4069 EXIST::FUNCTION: 3682EVP_CIPHER_CTX_test_flags 4069 EXIST::FUNCTION:
3684CRYPTO_malloc_debug_init 4070 EXIST::FUNCTION: 3683CRYPTO_malloc_debug_init 4070 NOEXIST::FUNCTION:
3685CRYPTO_dbg_push_info 4071 EXIST::FUNCTION: 3684CRYPTO_dbg_push_info 4071 NOEXIST::FUNCTION:
3686FIPS_corrupt_rsa_keygen 4072 EXIST:OPENSSL_FIPS:FUNCTION: 3685FIPS_corrupt_rsa_keygen 4072 NOEXIST::FUNCTION:
3687FIPS_dh_new 4073 EXIST:OPENSSL_FIPS:FUNCTION:DH 3686FIPS_dh_new 4073 NOEXIST::FUNCTION:
3688FIPS_corrupt_dsa_keygen 4074 EXIST:OPENSSL_FIPS:FUNCTION: 3687FIPS_corrupt_dsa_keygen 4074 NOEXIST::FUNCTION:
3689FIPS_dh_free 4075 EXIST:OPENSSL_FIPS:FUNCTION:DH 3688FIPS_dh_free 4075 NOEXIST::FUNCTION:
3690fips_pkey_signature_test 4076 EXIST:OPENSSL_FIPS:FUNCTION: 3689fips_pkey_signature_test 4076 NOEXIST::FUNCTION:
3691EVP_add_alg_module 4077 EXIST::FUNCTION: 3690EVP_add_alg_module 4077 NOEXIST::FUNCTION:
3692int_RAND_init_engine_callbacks 4078 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE 3691int_RAND_init_engine_callbacks 4078 NOEXIST::FUNCTION:
3693int_EVP_CIPHER_set_engine_callbacks 4079 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE 3692int_EVP_CIPHER_set_engine_callbacks 4079 NOEXIST::FUNCTION:
3694int_EVP_MD_init_engine_callbacks 4080 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE 3693int_EVP_MD_init_engine_callbacks 4080 NOEXIST::FUNCTION:
3695FIPS_rand_test_mode 4081 EXIST:OPENSSL_FIPS:FUNCTION: 3694FIPS_rand_test_mode 4081 NOEXIST::FUNCTION:
3696FIPS_rand_reset 4082 EXIST:OPENSSL_FIPS:FUNCTION: 3695FIPS_rand_reset 4082 NOEXIST::FUNCTION:
3697FIPS_dsa_new 4083 EXIST:OPENSSL_FIPS:FUNCTION:DSA 3696FIPS_dsa_new 4083 NOEXIST::FUNCTION:
3698int_RAND_set_callbacks 4084 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE 3697int_RAND_set_callbacks 4084 NOEXIST::FUNCTION:
3699BN_X931_derive_prime_ex 4085 EXIST::FUNCTION: 3698BN_X931_derive_prime_ex 4085 NOEXIST::FUNCTION:
3700int_ERR_lib_init 4086 EXIST:OPENSSL_FIPS:FUNCTION: 3699int_ERR_lib_init 4086 NOEXIST::FUNCTION:
3701int_EVP_CIPHER_init_engine_callbacks 4087 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE 3700int_EVP_CIPHER_init_engine_callbacks 4087 NOEXIST::FUNCTION:
3702FIPS_rsa_free 4088 EXIST:OPENSSL_FIPS:FUNCTION:RSA 3701FIPS_rsa_free 4088 NOEXIST::FUNCTION:
3703FIPS_dsa_sig_encode 4089 EXIST:OPENSSL_FIPS:FUNCTION:DSA 3702FIPS_dsa_sig_encode 4089 NOEXIST::FUNCTION:
3704CRYPTO_dbg_remove_all_info 4090 EXIST::FUNCTION: 3703CRYPTO_dbg_remove_all_info 4090 NOEXIST::FUNCTION:
3705OPENSSL_init 4091 EXIST::FUNCTION: 3704OPENSSL_init 4091 NOEXIST::FUNCTION:
3706private_Camellia_set_key 4092 EXIST:OPENSSL_FIPS:FUNCTION:CAMELLIA 3705private_Camellia_set_key 4092 NOEXIST::FUNCTION:
3707CRYPTO_strdup 4093 EXIST::FUNCTION: 3706CRYPTO_strdup 4093 EXIST::FUNCTION:
3708JPAKE_STEP3A_process 4094 EXIST::FUNCTION:JPAKE 3707JPAKE_STEP3A_process 4094 EXIST::FUNCTION:JPAKE
3709JPAKE_STEP1_release 4095 EXIST::FUNCTION:JPAKE 3708JPAKE_STEP1_release 4095 EXIST::FUNCTION:JPAKE
@@ -3725,4 +3724,458 @@ JPAKE_STEP2_release 4110 EXIST::FUNCTION:JPAKE
3725JPAKE_STEP3A_init 4111 EXIST::FUNCTION:JPAKE 3724JPAKE_STEP3A_init 4111 EXIST::FUNCTION:JPAKE
3726ERR_load_JPAKE_strings 4112 EXIST::FUNCTION:JPAKE 3725ERR_load_JPAKE_strings 4112 EXIST::FUNCTION:JPAKE
3727JPAKE_STEP2_init 4113 EXIST::FUNCTION:JPAKE 3726JPAKE_STEP2_init 4113 EXIST::FUNCTION:JPAKE
3728ENGINE_load_aesni 4114 EXIST::FUNCTION:ENGINE 3727pqueue_size 4114 EXIST::FUNCTION:
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:
4181ENGINE_load_aesni 4553 EXIST::FUNCTION:ENGINE
diff --git a/src/lib/libcrypto/util/mk1mf.pl b/src/lib/libcrypto/util/mk1mf.pl
index 4c16f1dc9e..780029a03f 100644
--- a/src/lib/libcrypto/util/mk1mf.pl
+++ b/src/lib/libcrypto/util/mk1mf.pl
@@ -6,36 +6,56 @@
6# 6#
7 7
8$INSTALLTOP="/usr/local/ssl"; 8$INSTALLTOP="/usr/local/ssl";
9$OPENSSLDIR="/usr/local/ssl";
9$OPTIONS=""; 10$OPTIONS="";
10$ssl_version=""; 11$ssl_version="";
11$banner="\t\@echo Building OpenSSL"; 12$banner="\t\@echo Building OpenSSL";
12 13
13my $no_static_engine = 0; 14my $no_static_engine = 1;
14my $engines = ""; 15my $engines = "";
15local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic 16local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic
16local $zlib_lib = ""; 17local $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);
17 44
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 = "";
30 45
31open(IN,"<Makefile") || die "unable to open Makefile!\n"; 46open(IN,"<Makefile") || die "unable to open Makefile!\n";
32while(<IN>) { 47while(<IN>) {
33 $ssl_version=$1 if (/^VERSION=(.*)$/); 48 my ($mf_opt, $mf_ref);
34 $OPTIONS=$1 if (/^OPTIONS=(.*)$/); 49 while (($mf_opt, $mf_ref) = each %mf_import) {
35 $INSTALLTOP=$1 if (/^INSTALLTOP=(.*$)/); 50 if (/^$mf_opt\s*=\s*(.*)$/) {
51 $$mf_ref = $1;
52 }
53 }
36} 54}
37close(IN); 55close(IN);
38 56
57$debug = 1 if $mf_platform =~ /^debug-/;
58
39die "Makefile is not the toplevel Makefile!\n" if $ssl_version eq ""; 59die "Makefile is not the toplevel Makefile!\n" if $ssl_version eq "";
40 60
41$infile="MINFO"; 61$infile="MINFO";
@@ -58,6 +78,7 @@ $infile="MINFO";
58 "netware-libc", "CodeWarrior for NetWare - LibC - with WinSock Sockets", 78 "netware-libc", "CodeWarrior for NetWare - LibC - with WinSock Sockets",
59 "netware-libc-bsdsock", "CodeWarrior for NetWare - LibC - with BSD Sockets", 79 "netware-libc-bsdsock", "CodeWarrior for NetWare - LibC - with BSD Sockets",
60 "default","cc under unix", 80 "default","cc under unix",
81 "auto", "auto detect from top level Makefile"
61 ); 82 );
62 83
63$platform=""; 84$platform="";
@@ -144,6 +165,12 @@ $bin_dir=(defined($VARS{'BIN'}))?$VARS{'BIN'}:'';
144$NT=0; 165$NT=0;
145 166
146push(@INC,"util/pl","pl"); 167push(@INC,"util/pl","pl");
168
169if ($platform eq "auto") {
170 $platform = $mf_platform;
171 print STDERR "Imported platform $mf_platform\n";
172}
173
147if (($platform =~ /VC-(.+)/)) 174if (($platform =~ /VC-(.+)/))
148 { 175 {
149 $FLAVOR=$1; 176 $FLAVOR=$1;
@@ -228,13 +255,12 @@ $cflags.=" -DOPENSSL_NO_DES" if $no_des;
228$cflags.=" -DOPENSSL_NO_RSA" if $no_rsa; 255$cflags.=" -DOPENSSL_NO_RSA" if $no_rsa;
229$cflags.=" -DOPENSSL_NO_DSA" if $no_dsa; 256$cflags.=" -DOPENSSL_NO_DSA" if $no_dsa;
230$cflags.=" -DOPENSSL_NO_DH" if $no_dh; 257$cflags.=" -DOPENSSL_NO_DH" if $no_dh;
258$cflags.=" -DOPENSSL_NO_WHIRLPOOL" if $no_whirlpool;
231$cflags.=" -DOPENSSL_NO_SOCK" if $no_sock; 259$cflags.=" -DOPENSSL_NO_SOCK" if $no_sock;
232$cflags.=" -DOPENSSL_NO_SSL2" if $no_ssl2; 260$cflags.=" -DOPENSSL_NO_SSL2" if $no_ssl2;
233$cflags.=" -DOPENSSL_NO_SSL3" if $no_ssl3; 261$cflags.=" -DOPENSSL_NO_SSL3" if $no_ssl3;
234$cflags.=" -DOPENSSL_NO_TLSEXT" if $no_tlsext; 262$cflags.=" -DOPENSSL_NO_TLSEXT" if $no_tlsext;
235$cflags.=" -DOPENSSL_NO_CMS" if $no_cms; 263$cflags.=" -DOPENSSL_NO_CMS" if $no_cms;
236$cflags.=" -DOPENSSL_NO_JPAKE" if $no_jpake;
237$cflags.=" -DOPENSSL_NO_CAPIENG" if $no_capieng;
238$cflags.=" -DOPENSSL_NO_ERR" if $no_err; 264$cflags.=" -DOPENSSL_NO_ERR" if $no_err;
239$cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5; 265$cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5;
240$cflags.=" -DOPENSSL_NO_EC" if $no_ec; 266$cflags.=" -DOPENSSL_NO_EC" if $no_ec;
@@ -242,7 +268,7 @@ $cflags.=" -DOPENSSL_NO_ECDSA" if $no_ecdsa;
242$cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh; 268$cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh;
243$cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine; 269$cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine;
244$cflags.=" -DOPENSSL_NO_HW" if $no_hw; 270$cflags.=" -DOPENSSL_NO_HW" if $no_hw;
245$cflags.=" -DOPENSSL_FIPS" if $fips; 271$cflags.=" -DOPENSSL_NO_JPAKE" if $no_jpake;
246$cflags.= " -DZLIB" if $zlib_opt; 272$cflags.= " -DZLIB" if $zlib_opt;
247$cflags.= " -DZLIB_SHARED" if $zlib_opt == 2; 273$cflags.= " -DZLIB_SHARED" if $zlib_opt == 2;
248 274
@@ -264,9 +290,9 @@ else
264 290
265$ex_libs="$l_flags$ex_libs" if ($l_flags ne ""); 291$ex_libs="$l_flags$ex_libs" if ($l_flags ne "");
266 292
293
267%shlib_ex_cflags=("SSL" => " -DOPENSSL_BUILD_SHLIBSSL", 294%shlib_ex_cflags=("SSL" => " -DOPENSSL_BUILD_SHLIBSSL",
268 "CRYPTO" => " -DOPENSSL_BUILD_SHLIBCRYPTO", 295 "CRYPTO" => " -DOPENSSL_BUILD_SHLIBCRYPTO");
269 "FIPS" => " -DOPENSSL_BUILD_SHLIBCRYPTO");
270 296
271if ($msdos) 297if ($msdos)
272 { 298 {
@@ -280,6 +306,7 @@ if ($msdos)
280$link="$bin_dir$link" if ($link !~ /^\$/); 306$link="$bin_dir$link" if ($link !~ /^\$/);
281 307
282$INSTALLTOP =~ s|/|$o|g; 308$INSTALLTOP =~ s|/|$o|g;
309$OPENSSLDIR =~ s|/|$o|g;
283 310
284############################################# 311#############################################
285# We parse in input file and 'store' info for later printing. 312# We parse in input file and 'store' info for later printing.
@@ -294,21 +321,11 @@ for (;;)
294 { 321 {
295 if ($lib ne "") 322 if ($lib ne "")
296 { 323 {
297 if ($fips && $dir =~ /^fips/) 324 $uc=$lib;
298 { 325 $uc =~ s/^lib(.*)\.a/$1/;
299 $uc = "FIPS"; 326 $uc =~ tr/a-z/A-Z/;
300 } 327 $lib_nam{$uc}=$uc;
301 else 328 $lib_obj{$uc}.=$libobj." ";
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 }
312 } 329 }
313 last if ($val eq "FINISHED"); 330 last if ($val eq "FINISHED");
314 $lib=""; 331 $lib="";
@@ -351,130 +368,11 @@ for (;;)
351 if ($key eq "LIBNAMES" && $dir eq "engines" && $no_static_engine) 368 if ($key eq "LIBNAMES" && $dir eq "engines" && $no_static_engine)
352 { $engines.=$val } 369 { $engines.=$val }
353 370
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
369 if (!($_=<IN>)) 371 if (!($_=<IN>))
370 { $_="RELATIVE_DIRECTORY=FINISHED\n"; } 372 { $_="RELATIVE_DIRECTORY=FINISHED\n"; }
371 } 373 }
372close(IN); 374close(IN);
373 375
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
478if ($shlib) 376if ($shlib)
479 { 377 {
480 $extra_install= <<"EOF"; 378 $extra_install= <<"EOF";
@@ -520,6 +418,7 @@ $defs .= $preamble if defined $preamble;
520 418
521$defs.= <<"EOF"; 419$defs.= <<"EOF";
522INSTALLTOP=$INSTALLTOP 420INSTALLTOP=$INSTALLTOP
421OPENSSLDIR=$OPENSSLDIR
523 422
524# Set your compiler options 423# Set your compiler options
525PLATFORM=$platform 424PLATFORM=$platform
@@ -540,32 +439,6 @@ SRC_D=$src_dir
540LINK=$link 439LINK=$link
541LFLAGS=$lflags 440LFLAGS=$lflags
542RSC=$rsc 441RSC=$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
569 442
570# The output directory for everything intersting 443# The output directory for everything intersting
571OUT_D=$out_dir 444OUT_D=$out_dir
@@ -584,17 +457,6 @@ MKLIB=$bin_dir$mklib
584MLFLAGS=$mlflags 457MLFLAGS=$mlflags
585ASM=$bin_dir$asm 458ASM=$bin_dir$asm
586 459
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
598###################################################### 460######################################################
599# You should not need to touch anything below this point 461# You should not need to touch anything below this point
600###################################################### 462######################################################
@@ -602,7 +464,6 @@ PREMAIN_DSO_EXE=$fips_premain_dso_exe_path
602E_EXE=openssl 464E_EXE=openssl
603SSL=$ssl 465SSL=$ssl
604CRYPTO=$crypto 466CRYPTO=$crypto
605LIBFIPS=libosslfips
606 467
607# BIN_D - Binary output directory 468# BIN_D - Binary output directory
608# TEST_D - Binary test file output directory 469# TEST_D - Binary test file output directory
@@ -623,14 +484,12 @@ INCL_D=\$(TMP_D)
623 484
624O_SSL= \$(LIB_D)$o$plib\$(SSL)$shlibp 485O_SSL= \$(LIB_D)$o$plib\$(SSL)$shlibp
625O_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$shlibp 486O_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$shlibp
626O_FIPS= \$(LIB_D)$o$plib\$(LIBFIPS)$shlibp
627SO_SSL= $plib\$(SSL)$so_shlibp 487SO_SSL= $plib\$(SSL)$so_shlibp
628SO_CRYPTO= $plib\$(CRYPTO)$so_shlibp 488SO_CRYPTO= $plib\$(CRYPTO)$so_shlibp
629L_SSL= \$(LIB_D)$o$plib\$(SSL)$libp 489L_SSL= \$(LIB_D)$o$plib\$(SSL)$libp
630L_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$libp 490L_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$libp
631L_FIPS= \$(LIB_D)$o$plib\$(LIBFIPS)$libp
632 491
633L_LIBS= \$(L_SSL) \$(L_CRYPTO) $ex_l_libs 492L_LIBS= \$(L_SSL) \$(L_CRYPTO)
634 493
635###################################################### 494######################################################
636# Don't touch anything below this point 495# Don't touch anything below this point
@@ -640,13 +499,13 @@ INC=-I\$(INC_D) -I\$(INCL_D)
640APP_CFLAGS=\$(INC) \$(CFLAG) \$(APP_CFLAG) 499APP_CFLAGS=\$(INC) \$(CFLAG) \$(APP_CFLAG)
641LIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) 500LIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG)
642SHLIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) \$(SHLIB_CFLAG) 501SHLIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) \$(SHLIB_CFLAG)
643LIBS_DEP=\$(O_CRYPTO) \$(O_SSL) $ex_libs_dep 502LIBS_DEP=\$(O_CRYPTO) \$(O_SSL)
644 503
645############################################# 504#############################################
646EOF 505EOF
647 506
648$rules=<<"EOF"; 507$rules=<<"EOF";
649all: banner \$(TMP_D) \$(BIN_D) \$(TEST_D) \$(LIB_D) \$(INCO_D) headers \$(FIPS_SHA1_EXE) lib exe $ex_build_targets 508all: banner \$(TMP_D) \$(BIN_D) \$(TEST_D) \$(LIB_D) \$(INCO_D) headers lib exe
650 509
651banner: 510banner:
652$banner 511$banner
@@ -683,8 +542,9 @@ install: all
683 \$(MKDIR) \"\$(INSTALLTOP)${o}include${o}openssl\" 542 \$(MKDIR) \"\$(INSTALLTOP)${o}include${o}openssl\"
684 \$(MKDIR) \"\$(INSTALLTOP)${o}lib\" 543 \$(MKDIR) \"\$(INSTALLTOP)${o}lib\"
685 \$(CP) \"\$(INCO_D)${o}*.\[ch\]\" \"\$(INSTALLTOP)${o}include${o}openssl\" 544 \$(CP) \"\$(INCO_D)${o}*.\[ch\]\" \"\$(INSTALLTOP)${o}include${o}openssl\"
686 \$(CP) \"\$(BIN_D)$o\$(E_EXE)$exep\" \"\$(INSTALLTOP)${o}bin\" 545 \$(CP) \"\$(BIN_D)$o\$(E_EXE)$exep \$(INSTALLTOP)${o}bin\"
687 \$(CP) \"apps${o}openssl.cnf\" \"\$(INSTALLTOP)\" 546 \$(MKDIR) \"\$(OPENSSLDIR)\"
547 \$(CP) apps${o}openssl.cnf \"\$(OPENSSLDIR)\"
688$extra_install 548$extra_install
689 549
690 550
@@ -761,26 +621,6 @@ $rules.=&do_compile_rule("\$(OBJ_D)",$test,"\$(APP_CFLAGS)");
761$defs.=&do_defs("E_OBJ",$e_exe,"\$(OBJ_D)",$obj); 621$defs.=&do_defs("E_OBJ",$e_exe,"\$(OBJ_D)",$obj);
762$rules.=&do_compile_rule("\$(OBJ_D)",$e_exe,'-DMONOLITH $(APP_CFLAGS)'); 622$rules.=&do_compile_rule("\$(OBJ_D)",$e_exe,'-DMONOLITH $(APP_CFLAGS)');
763 623
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
784foreach (values %lib_nam) 624foreach (values %lib_nam)
785 { 625 {
786 $lib_obj=$lib_obj{$_}; 626 $lib_obj=$lib_obj{$_};
@@ -792,78 +632,14 @@ foreach (values %lib_nam)
792 next; 632 next;
793 } 633 }
794 634
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 }
860 $defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj); 635 $defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj);
861 $lib=($slib)?" \$(SHLIB_CFLAGS)".$shlib_ex_cflags{$_}:" \$(LIB_CFLAGS)"; 636 $lib=($slib)?" \$(SHLIB_CFLAGS)".$shlib_ex_cflags{$_}:" \$(LIB_CFLAGS)";
862 $rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib); 637 $rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib);
863 } 638 }
864 639
865# hack to add version info on MSVC 640# hack to add version info on MSVC
866if (($platform eq "VC-WIN32") || ($platform eq "VC-NT")) { 641if (($platform eq "VC-WIN32") || ($platform eq "VC-WIN64A")
642 || ($platform eq "VC-WIN64I") || ($platform eq "VC-NT")) {
867 $rules.= <<"EOF"; 643 $rules.= <<"EOF";
868\$(OBJ_D)\\\$(CRYPTO).res: ms\\version32.rc 644\$(OBJ_D)\\\$(CRYPTO).res: ms\\version32.rc
869 \$(RSC) /fo"\$(OBJ_D)\\\$(CRYPTO).res" /d CRYPTO ms\\version32.rc 645 \$(RSC) /fo"\$(OBJ_D)\\\$(CRYPTO).res" /d CRYPTO ms\\version32.rc
@@ -871,43 +647,15 @@ if (($platform eq "VC-WIN32") || ($platform eq "VC-NT")) {
871\$(OBJ_D)\\\$(SSL).res: ms\\version32.rc 647\$(OBJ_D)\\\$(SSL).res: ms\\version32.rc
872 \$(RSC) /fo"\$(OBJ_D)\\\$(SSL).res" /d SSL ms\\version32.rc 648 \$(RSC) /fo"\$(OBJ_D)\\\$(SSL).res" /d SSL ms\\version32.rc
873 649
874\$(OBJ_D)\\\$(LIBFIPS).res: ms\\version32.rc
875 \$(RSC) /fo"\$(OBJ_D)\\\$(LIBFIPS).res" /d FIPS ms\\version32.rc
876
877EOF 650EOF
878} 651}
879 652
880$defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep); 653$defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep);
881foreach (split(/\s+/,$test)) 654foreach (split(/\s+/,$test))
882 { 655 {
883 my $t_libs;
884 $t=&bname($_); 656 $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
909 $tt="\$(OBJ_D)${o}$t${obj}"; 657 $tt="\$(OBJ_D)${o}$t${obj}";
910 $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","$t_libs \$(EX_LIBS)", $ltype); 658 $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
911 } 659 }
912 660
913$defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp); 661$defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp);
@@ -921,69 +669,9 @@ foreach (split(/\s+/,$engines))
921 669
922 670
923$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)"); 671$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)");
672$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)");
924 673
925if ($fips) 674$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
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);
987 675
988print $defs; 676print $defs;
989 677
@@ -1022,7 +710,6 @@ sub var_add
1022 return("") if $no_ec && $dir =~ /\/ec/; 710 return("") if $no_ec && $dir =~ /\/ec/;
1023 return("") if $no_cms && $dir =~ /\/cms/; 711 return("") if $no_cms && $dir =~ /\/cms/;
1024 return("") if $no_jpake && $dir =~ /\/jpake/; 712 return("") if $no_jpake && $dir =~ /\/jpake/;
1025 return("") if !$fips && $dir =~ /^fips/;
1026 if ($no_des && $dir =~ /\/des/) 713 if ($no_des && $dir =~ /\/des/)
1027 { 714 {
1028 if ($val =~ /read_pwd/) 715 if ($val =~ /read_pwd/)
@@ -1034,6 +721,7 @@ sub var_add
1034 return("") if $no_sock && $dir =~ /\/proxy/; 721 return("") if $no_sock && $dir =~ /\/proxy/;
1035 return("") if $no_bf && $dir =~ /\/bf/; 722 return("") if $no_bf && $dir =~ /\/bf/;
1036 return("") if $no_cast && $dir =~ /\/cast/; 723 return("") if $no_cast && $dir =~ /\/cast/;
724 return("") if $no_whirlpool && $dir =~ /\/whrlpool/;
1037 725
1038 $val =~ s/^\s*(.*)\s*$/$1/; 726 $val =~ s/^\s*(.*)\s*$/$1/;
1039 @a=split(/\s+/,$val); 727 @a=split(/\s+/,$val);
@@ -1051,8 +739,8 @@ sub var_add
1051 @a=grep(!/^e_camellia$/,@a) if $no_camellia; 739 @a=grep(!/^e_camellia$/,@a) if $no_camellia;
1052 @a=grep(!/^e_seed$/,@a) if $no_seed; 740 @a=grep(!/^e_seed$/,@a) if $no_seed;
1053 741
1054 @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2; 742 #@a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2;
1055 @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3; 743 #@a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3;
1056 744
1057 @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock; 745 @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock;
1058 746
@@ -1126,6 +814,7 @@ sub do_defs
1126 else { $pf=$postfix; } 814 else { $pf=$postfix; }
1127 if ($_ =~ /BN_ASM/) { $t="$_ "; } 815 if ($_ =~ /BN_ASM/) { $t="$_ "; }
1128 elsif ($_ =~ /BNCO_ASM/){ $t="$_ "; } 816 elsif ($_ =~ /BNCO_ASM/){ $t="$_ "; }
817 elsif ($_ =~ /AES_ASM/){ $t="$_ "; }
1129 elsif ($_ =~ /DES_ENC/) { $t="$_ "; } 818 elsif ($_ =~ /DES_ENC/) { $t="$_ "; }
1130 elsif ($_ =~ /BF_ENC/) { $t="$_ "; } 819 elsif ($_ =~ /BF_ENC/) { $t="$_ "; }
1131 elsif ($_ =~ /CAST_ENC/){ $t="$_ "; } 820 elsif ($_ =~ /CAST_ENC/){ $t="$_ "; }
@@ -1133,8 +822,8 @@ sub do_defs
1133 elsif ($_ =~ /RC5_ENC/) { $t="$_ "; } 822 elsif ($_ =~ /RC5_ENC/) { $t="$_ "; }
1134 elsif ($_ =~ /MD5_ASM/) { $t="$_ "; } 823 elsif ($_ =~ /MD5_ASM/) { $t="$_ "; }
1135 elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; } 824 elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; }
1136 elsif ($_ =~ /AES_ASM/){ $t="$_ "; }
1137 elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; } 825 elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; }
826 elsif ($_ =~ /WHIRLPOOL_ASM/){ $t="$_ "; }
1138 elsif ($_ =~ /CPUID_ASM/){ $t="$_ "; } 827 elsif ($_ =~ /CPUID_ASM/){ $t="$_ "; }
1139 else { $t="$location${o}$_$pf "; } 828 else { $t="$location${o}$_$pf "; }
1140 829
@@ -1142,7 +831,7 @@ sub do_defs
1142 $ret.=$t; 831 $ret.=$t;
1143 } 832 }
1144 # hack to add version info on MSVC 833 # hack to add version info on MSVC
1145 if ($shlib && (($platform eq "VC-WIN32") || ($platform eq "VC-NT"))) 834 if ($shlib && (($platform eq "VC-WIN32") || ($platfrom eq "VC-WIN64I") || ($platform eq "VC-WIN64A") || ($platform eq "VC-NT")))
1146 { 835 {
1147 if ($var eq "CRYPTOOBJ") 836 if ($var eq "CRYPTOOBJ")
1148 { $ret.="\$(OBJ_D)\\\$(CRYPTO).res "; } 837 { $ret.="\$(OBJ_D)\\\$(CRYPTO).res "; }
@@ -1162,6 +851,13 @@ sub bname
1162 return($ret); 851 return($ret);
1163 } 852 }
1164 853
854# return the leading path
855sub dname
856 {
857 my $ret=shift;
858 $ret =~ s/(^.*)[\\\/][^\\\/]+$/$1/;
859 return($ret);
860 }
1165 861
1166############################################################## 862##############################################################
1167# do a rule for each file that says 'compile' to new direcory 863# do a rule for each file that says 'compile' to new direcory
@@ -1169,19 +865,61 @@ sub bname
1169sub do_compile_rule 865sub do_compile_rule
1170 { 866 {
1171 local($to,$files,$ex)=@_; 867 local($to,$files,$ex)=@_;
1172 local($ret,$_,$n); 868 local($ret,$_,$n,$d,$s);
1173 869
1174 $files =~ s/\//$o/g if $o ne '/'; 870 $files =~ s/\//$o/g if $o ne '/';
1175 foreach (split(/\s+/,$files)) 871 foreach (split(/\s+/,$files))
1176 { 872 {
1177 $n=&bname($_); 873 $n=&bname($_);
1178 $ret.=&cc_compile_target("$to${o}$n$obj","${_}.c",$ex) 874 $d=&dname($_);
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 $_"; }
1179 } 891 }
1180 return($ret); 892 return($ret);
1181 } 893 }
1182 894
1183############################################################## 895##############################################################
1184# do a rule for each file that says 'compile' to new direcory 896# 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
1185sub cc_compile_target 923sub cc_compile_target
1186 { 924 {
1187 local($target,$source,$ex_flags)=@_; 925 local($target,$source,$ex_flags)=@_;
@@ -1204,13 +942,25 @@ sub do_asm_rule
1204 $target =~ s/\//$o/g if $o ne "/"; 942 $target =~ s/\//$o/g if $o ne "/";
1205 $src =~ s/\//$o/g if $o ne "/"; 943 $src =~ s/\//$o/g if $o ne "/";
1206 944
1207 @s=split(/\s+/,$src);
1208 @t=split(/\s+/,$target); 945 @t=split(/\s+/,$target);
946 @s=split(/\s+/,$src);
947
1209 948
1210 for ($i=0; $i<=$#s; $i++) 949 for ($i=0; $i<=$#s; $i++)
1211 { 950 {
1212 $ret.="$t[$i]: $s[$i]\n"; 951 my $objfile = $t[$i];
1213 $ret.="\t\$(ASM) $afile$t[$i] \$(SRC_D)$o$s[$i]\n\n"; 952 my $srcfile = $s[$i];
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";
1214 } 964 }
1215 return($ret); 965 return($ret);
1216 } 966 }
@@ -1274,6 +1024,7 @@ sub read_options
1274 "no-sha1" => \$no_sha1, 1024 "no-sha1" => \$no_sha1,
1275 "no-ripemd" => \$no_ripemd, 1025 "no-ripemd" => \$no_ripemd,
1276 "no-mdc2" => \$no_mdc2, 1026 "no-mdc2" => \$no_mdc2,
1027 "no-whirlpool" => \$no_whirlpool,
1277 "no-patents" => 1028 "no-patents" =>
1278 [\$no_rc2, \$no_rc4, \$no_rc5, \$no_idea, \$no_rsa], 1029 [\$no_rc2, \$no_rc4, \$no_rc5, \$no_idea, \$no_rsa],
1279 "no-rsa" => \$no_rsa, 1030 "no-rsa" => \$no_rsa,
@@ -1282,7 +1033,6 @@ sub read_options
1282 "no-hmac" => \$no_hmac, 1033 "no-hmac" => \$no_hmac,
1283 "no-asm" => \$no_asm, 1034 "no-asm" => \$no_asm,
1284 "nasm" => \$nasm, 1035 "nasm" => \$nasm,
1285 "ml64" => \$ml64,
1286 "nw-nasm" => \$nw_nasm, 1036 "nw-nasm" => \$nw_nasm,
1287 "nw-mwasm" => \$nw_mwasm, 1037 "nw-mwasm" => \$nw_mwasm,
1288 "gaswin" => \$gaswin, 1038 "gaswin" => \$gaswin,
@@ -1291,7 +1041,6 @@ sub read_options
1291 "no-tlsext" => \$no_tlsext, 1041 "no-tlsext" => \$no_tlsext,
1292 "no-cms" => \$no_cms, 1042 "no-cms" => \$no_cms,
1293 "no-jpake" => \$no_jpake, 1043 "no-jpake" => \$no_jpake,
1294 "no-capieng" => \$no_capieng,
1295 "no-err" => \$no_err, 1044 "no-err" => \$no_err,
1296 "no-sock" => \$no_sock, 1045 "no-sock" => \$no_sock,
1297 "no-krb5" => \$no_krb5, 1046 "no-krb5" => \$no_krb5,
@@ -1316,11 +1065,9 @@ sub read_options
1316 "no-rfc3779" => 0, 1065 "no-rfc3779" => 0,
1317 "no-montasm" => 0, 1066 "no-montasm" => 0,
1318 "no-shared" => 0, 1067 "no-shared" => 0,
1068 "no-store" => 0,
1319 "no-zlib" => 0, 1069 "no-zlib" => 0,
1320 "no-zlib-dynamic" => 0, 1070 "no-zlib-dynamic" => 0,
1321 "fips" => \$fips,
1322 "fipscanisterbuild" => [\$fips, \$fipscanisterbuild],
1323 "fipsdso" => [\$fips, \$fipscanisterbuild, \$fipsdso],
1324 ); 1071 );
1325 1072
1326 if (exists $valid_options{$_}) 1073 if (exists $valid_options{$_})
@@ -1397,31 +1144,3 @@ sub read_options
1397 else { return(0); } 1144 else { return(0); }
1398 return(1); 1145 return(1);
1399 } 1146 }
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 5ae9ebb619..a4a17e3ae9 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 $VMSAlpha=0; 72my $VMSNonVAX=0;
73my $VMS=0; 73my $VMS=0;
74my $W32=0; 74my $W32=0;
75my $W16=0; 75my $W16=0;
@@ -79,12 +79,13 @@ 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", "OPENSSL_FIPS"); 82 "EXPORT_VAR_AS_FUNCTION", "ZLIB" );
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", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", "HMAC", "AES", "CAMELLIA", "SEED", 87 "MDC2", "WHIRLPOOL", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA",
88 "HMAC", "AES", "CAMELLIA", "SEED", "GOST",
88 # Envelope "algorithms" 89 # Envelope "algorithms"
89 "EVP", "X509", "ASN1_TYPEDEFS", 90 "EVP", "X509", "ASN1_TYPEDEFS",
90 # Helper "algorithms" 91 # Helper "algorithms"
@@ -94,14 +95,16 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
94 "FP_API", "STDIO", "SOCK", "KRB5", "DGRAM", 95 "FP_API", "STDIO", "SOCK", "KRB5", "DGRAM",
95 # Engines 96 # Engines
96 "STATIC_ENGINE", "ENGINE", "HW", "GMP", 97 "STATIC_ENGINE", "ENGINE", "HW", "GMP",
97 # RFC3779 support 98 # RFC3779
98 "RFC3779", 99 "RFC3779",
99 # TLS extension support 100 # TLS
100 "TLSEXT", 101 "TLSEXT", "PSK",
101 # CMS 102 # CMS
102 "CMS", 103 "CMS",
103 # CryptoAPI Engine 104 # CryptoAPI Engine
104 "CAPIENG", 105 "CAPIENG",
106 # SSL v2
107 "SSL2",
105 # JPAKE 108 # JPAKE
106 "JPAKE", 109 "JPAKE",
107 # Deprecated functions 110 # Deprecated functions
@@ -118,14 +121,15 @@ close(IN);
118# defined with ifndef(NO_XXX) are not included in the .def file, and everything 121# defined with ifndef(NO_XXX) are not included in the .def file, and everything
119# in directory xxx is ignored. 122# in directory xxx is ignored.
120my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf; 123my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf;
121my $no_cast; 124my $no_cast; my $no_whirlpool; my $no_camellia; my $no_seed;
122my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2; 125my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2;
123my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5; 126my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5;
124my $no_ec; my $no_ecdsa; my $no_ecdh; my $no_engine; my $no_hw; my $no_camellia; 127my $no_ec; my $no_ecdsa; my $no_ecdh; my $no_engine; my $no_hw;
125my $no_seed; 128my $no_fp_api; my $no_static_engine=1; my $no_gmp; my $no_deprecated;
126my $no_fp_api; my $no_static_engine; my $no_gmp; my $no_deprecated; 129my $no_rfc3779; my $no_psk; my $no_tlsext; my $no_cms; my $no_capieng;
127my $no_rfc3779; my $no_tlsext; my $no_cms; my $no_capieng; my $no_jpake; 130my $no_jpake; my $no_ssl2;
128my $fips; 131
132my $zlib;
129 133
130 134
131foreach (@ARGV, split(/ /, $options)) 135foreach (@ARGV, split(/ /, $options))
@@ -141,17 +145,15 @@ foreach (@ARGV, split(/ /, $options))
141 $VMS=1; 145 $VMS=1;
142 $VMSVAX=1; 146 $VMSVAX=1;
143 } 147 }
144 if ($_ eq "VMS-Alpha") { 148 if ($_ eq "VMS-NonVAX") {
145 $VMS=1; 149 $VMS=1;
146 $VMSAlpha=1; 150 $VMSNonVAX=1;
147 } 151 }
148 $VMS=1 if $_ eq "VMS"; 152 $VMS=1 if $_ eq "VMS";
149 $OS2=1 if $_ eq "OS2"; 153 $OS2=1 if $_ eq "OS2";
150 $fips=1 if /^fips/; 154 if ($_ eq "zlib" || $_ eq "enable-zlib" || $_ eq "zlib-dynamic"
151 155 || $_ eq "enable-zlib-dynamic") {
152 if ($_ eq "zlib" || $_ eq "zlib-dynamic" 156 $zlib = 1;
153 || $_ eq "enable-zlib-dynamic") {
154 $zlib = 1;
155 } 157 }
156 158
157 $do_ssl=1 if $_ eq "ssleay"; 159 $do_ssl=1 if $_ eq "ssleay";
@@ -180,6 +182,7 @@ foreach (@ARGV, split(/ /, $options))
180 elsif (/^no-des$/) { $no_des=1; $no_mdc2=1; } 182 elsif (/^no-des$/) { $no_des=1; $no_mdc2=1; }
181 elsif (/^no-bf$/) { $no_bf=1; } 183 elsif (/^no-bf$/) { $no_bf=1; }
182 elsif (/^no-cast$/) { $no_cast=1; } 184 elsif (/^no-cast$/) { $no_cast=1; }
185 elsif (/^no-whirlpool$/) { $no_whirlpool=1; }
183 elsif (/^no-md2$/) { $no_md2=1; } 186 elsif (/^no-md2$/) { $no_md2=1; }
184 elsif (/^no-md4$/) { $no_md4=1; } 187 elsif (/^no-md4$/) { $no_md4=1; }
185 elsif (/^no-md5$/) { $no_md5=1; } 188 elsif (/^no-md5$/) { $no_md5=1; }
@@ -212,6 +215,7 @@ foreach (@ARGV, split(/ /, $options))
212 elsif (/^no-rfc3779$/) { $no_rfc3779=1; } 215 elsif (/^no-rfc3779$/) { $no_rfc3779=1; }
213 elsif (/^no-tlsext$/) { $no_tlsext=1; } 216 elsif (/^no-tlsext$/) { $no_tlsext=1; }
214 elsif (/^no-cms$/) { $no_cms=1; } 217 elsif (/^no-cms$/) { $no_cms=1; }
218 elsif (/^no-ssl2$/) { $no_ssl2=1; }
215 elsif (/^no-capieng$/) { $no_capieng=1; } 219 elsif (/^no-capieng$/) { $no_capieng=1; }
216 elsif (/^no-jpake$/) { $no_jpake=1; } 220 elsif (/^no-jpake$/) { $no_jpake=1; }
217 } 221 }
@@ -260,6 +264,7 @@ $crypto.=" crypto/rc5/rc5.h" ; # unless $no_rc5;
260$crypto.=" crypto/rc2/rc2.h" ; # unless $no_rc2; 264$crypto.=" crypto/rc2/rc2.h" ; # unless $no_rc2;
261$crypto.=" crypto/bf/blowfish.h" ; # unless $no_bf; 265$crypto.=" crypto/bf/blowfish.h" ; # unless $no_bf;
262$crypto.=" crypto/cast/cast.h" ; # unless $no_cast; 266$crypto.=" crypto/cast/cast.h" ; # unless $no_cast;
267$crypto.=" crypto/whrlpool/whrlpool.h" ;
263$crypto.=" crypto/md2/md2.h" ; # unless $no_md2; 268$crypto.=" crypto/md2/md2.h" ; # unless $no_md2;
264$crypto.=" crypto/md4/md4.h" ; # unless $no_md4; 269$crypto.=" crypto/md4/md4.h" ; # unless $no_md4;
265$crypto.=" crypto/md5/md5.h" ; # unless $no_md5; 270$crypto.=" crypto/md5/md5.h" ; # unless $no_md5;
@@ -301,17 +306,16 @@ $crypto.=" crypto/pkcs12/pkcs12.h";
301$crypto.=" crypto/x509/x509.h"; 306$crypto.=" crypto/x509/x509.h";
302$crypto.=" crypto/x509/x509_vfy.h"; 307$crypto.=" crypto/x509/x509_vfy.h";
303$crypto.=" crypto/x509v3/x509v3.h"; 308$crypto.=" crypto/x509v3/x509v3.h";
309$crypto.=" crypto/ts/ts.h";
304$crypto.=" crypto/rand/rand.h"; 310$crypto.=" crypto/rand/rand.h";
305$crypto.=" crypto/comp/comp.h" ; # unless $no_comp; 311$crypto.=" crypto/comp/comp.h" ; # unless $no_comp;
306$crypto.=" crypto/ocsp/ocsp.h"; 312$crypto.=" crypto/ocsp/ocsp.h";
307$crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; 313$crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h";
308$crypto.=" crypto/krb5/krb5_asn.h"; 314$crypto.=" crypto/krb5/krb5_asn.h";
309$crypto.=" crypto/tmdiff.h"; 315#$crypto.=" crypto/store/store.h";
310$crypto.=" crypto/store/store.h";
311$crypto.=" crypto/pqueue/pqueue.h"; 316$crypto.=" crypto/pqueue/pqueue.h";
312$crypto.=" crypto/cms/cms.h"; 317$crypto.=" crypto/cms/cms.h";
313$crypto.=" crypto/jpake/jpake.h"; 318$crypto.=" crypto/jpake/jpake.h";
314$crypto.=" fips/fips.h fips/rand/fips_rand.h";
315 319
316my $symhacks="crypto/symhacks.h"; 320my $symhacks="crypto/symhacks.h";
317 321
@@ -885,6 +889,7 @@ sub do_defs
885 s/\{\}/\(\)/gs; 889 s/\{\}/\(\)/gs;
886 890
887 s/STACK_OF\(\)/void/gs; 891 s/STACK_OF\(\)/void/gs;
892 s/LHASH_OF\(\)/void/gs;
888 893
889 print STDERR "DEBUG: \$_ = \"$_\"\n" if $debug; 894 print STDERR "DEBUG: \$_ = \"$_\"\n" if $debug;
890 if (/^\#INFO:([^:]*):(.*)$/) { 895 if (/^\#INFO:([^:]*):(.*)$/) {
@@ -961,6 +966,25 @@ sub do_defs
961 $platform{"PEM_write_NS_CERT_SEQ"} = "VMS"; 966 $platform{"PEM_write_NS_CERT_SEQ"} = "VMS";
962 $platform{"PEM_read_P8_PRIV_KEY_INFO"} = "VMS"; 967 $platform{"PEM_read_P8_PRIV_KEY_INFO"} = "VMS";
963 $platform{"PEM_write_P8_PRIV_KEY_INFO"} = "VMS"; 968 $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
964 988
965 # Info we know about 989 # Info we know about
966 990
@@ -1085,6 +1109,8 @@ sub is_valid
1085 1109
1086 if ($platforms) { 1110 if ($platforms) {
1087 # platforms 1111 # platforms
1112 if ($keyword eq "VMSVAX" && $VMSVAX) { return 1; }
1113 if ($keyword eq "VMSNonVAX" && $VMSNonVAX) { return 1; }
1088 if ($keyword eq "VMS" && $VMS) { return 1; } 1114 if ($keyword eq "VMS" && $VMS) { return 1; }
1089 if ($keyword eq "WIN32" && $W32) { return 1; } 1115 if ($keyword eq "WIN32" && $W32) { return 1; }
1090 if ($keyword eq "WIN16" && $W16) { return 1; } 1116 if ($keyword eq "WIN16" && $W16) { return 1; }
@@ -1097,9 +1123,6 @@ sub is_valid
1097 if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { 1123 if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) {
1098 return 1; 1124 return 1;
1099 } 1125 }
1100 if ($keyword eq "OPENSSL_FIPS" && $fips) {
1101 return 1;
1102 }
1103 if ($keyword eq "ZLIB" && $zlib) { return 1; } 1126 if ($keyword eq "ZLIB" && $zlib) { return 1; }
1104 return 0; 1127 return 0;
1105 } else { 1128 } else {
@@ -1117,6 +1140,7 @@ sub is_valid
1117 if ($keyword eq "SHA" && $no_sha) { return 0; } 1140 if ($keyword eq "SHA" && $no_sha) { return 0; }
1118 if ($keyword eq "RIPEMD" && $no_ripemd) { return 0; } 1141 if ($keyword eq "RIPEMD" && $no_ripemd) { return 0; }
1119 if ($keyword eq "MDC2" && $no_mdc2) { return 0; } 1142 if ($keyword eq "MDC2" && $no_mdc2) { return 0; }
1143 if ($keyword eq "WHIRLPOOL" && $no_whirlpool) { return 0; }
1120 if ($keyword eq "RSA" && $no_rsa) { return 0; } 1144 if ($keyword eq "RSA" && $no_rsa) { return 0; }
1121 if ($keyword eq "DSA" && $no_dsa) { return 0; } 1145 if ($keyword eq "DSA" && $no_dsa) { return 0; }
1122 if ($keyword eq "DH" && $no_dh) { return 0; } 1146 if ($keyword eq "DH" && $no_dh) { return 0; }
@@ -1143,7 +1167,9 @@ sub is_valid
1143 if ($keyword eq "GMP" && $no_gmp) { return 0; } 1167 if ($keyword eq "GMP" && $no_gmp) { return 0; }
1144 if ($keyword eq "RFC3779" && $no_rfc3779) { return 0; } 1168 if ($keyword eq "RFC3779" && $no_rfc3779) { return 0; }
1145 if ($keyword eq "TLSEXT" && $no_tlsext) { return 0; } 1169 if ($keyword eq "TLSEXT" && $no_tlsext) { return 0; }
1170 if ($keyword eq "PSK" && $no_psk) { return 0; }
1146 if ($keyword eq "CMS" && $no_cms) { return 0; } 1171 if ($keyword eq "CMS" && $no_cms) { return 0; }
1172 if ($keyword eq "SSL2" && $no_ssl2) { return 0; }
1147 if ($keyword eq "CAPIENG" && $no_capieng) { return 0; } 1173 if ($keyword eq "CAPIENG" && $no_capieng) { return 0; }
1148 if ($keyword eq "JPAKE" && $no_jpake) { return 0; } 1174 if ($keyword eq "JPAKE" && $no_jpake) { return 0; }
1149 if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; } 1175 if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; }
diff --git a/src/lib/libcrypto/util/mkerr.pl b/src/lib/libcrypto/util/mkerr.pl
index 554bebb159..15b774f277 100644
--- a/src/lib/libcrypto/util/mkerr.pl
+++ b/src/lib/libcrypto/util/mkerr.pl
@@ -1,6 +1,7 @@
1#!/usr/local/bin/perl -w 1#!/usr/local/bin/perl -w
2 2
3my $config = "crypto/err/openssl.ec"; 3my $config = "crypto/err/openssl.ec";
4my $hprefix = "openssl/";
4my $debug = 0; 5my $debug = 0;
5my $rebuild = 0; 6my $rebuild = 0;
6my $static = 1; 7my $static = 1;
@@ -12,11 +13,16 @@ my $staticloader = "";
12my $pack_errcode; 13my $pack_errcode;
13my $load_errcode; 14my $load_errcode;
14 15
16my $errcount;
17
15while (@ARGV) { 18while (@ARGV) {
16 my $arg = $ARGV[0]; 19 my $arg = $ARGV[0];
17 if($arg eq "-conf") { 20 if($arg eq "-conf") {
18 shift @ARGV; 21 shift @ARGV;
19 $config = shift @ARGV; 22 $config = shift @ARGV;
23 } elsif($arg eq "-hprefix") {
24 shift @ARGV;
25 $hprefix = shift @ARGV;
20 } elsif($arg eq "-debug") { 26 } elsif($arg eq "-debug") {
21 $debug = 1; 27 $debug = 1;
22 shift @ARGV; 28 shift @ARGV;
@@ -38,14 +44,78 @@ while (@ARGV) {
38 } elsif($arg eq "-write") { 44 } elsif($arg eq "-write") {
39 $dowrite = 1; 45 $dowrite = 1;
40 shift @ARGV; 46 shift @ARGV;
47 } elsif($arg eq "-help" || $arg eq "-h" || $arg eq "-?" || $arg eq "--help") {
48 print STDERR <<"EOF";
49mkerr.pl [options] ...
50
51Options:
52
53 -conf F Use the config file F instead of the default one:
54 crypto/err/openssl.ec
55
56 -hprefix P Prepend the filenames in generated #include <header>
57 statements with prefix P. Default: 'openssl/' (without
58 the quotes, naturally)
59
60 -debug Turn on debugging verbose output on stderr.
61
62 -rebuild Rebuild all header and C source files, irrespective of the
63 fact if any error or function codes have been added/removed.
64 Default: only update files for libraries which saw change
65 (of course, this requires '-write' as well, or no
66 files will be touched!)
67
68 -recurse scan a preconfigured set of directories / files for error and
69 function codes:
70 (<crypto/*.c>, <crypto/*/*.c>, <ssl/*.c>, <apps/*.c>)
71 When this option is NOT specified, the filelist is taken from
72 the commandline instead. Here, wildcards may be embedded. (Be
73 sure to escape those to prevent the shell from expanding them
74 for you when you wish mkerr.pl to do so instead.)
75 Default: take file list to scan from the command line.
76
77 -reindex Discard the numeric values previously assigned to the error
78 and function codes as extracted from the scanned header files;
79 instead renumber all of them starting from 100. (Note that
80 the numbers assigned through 'R' records in the config file
81 remain intact.)
82 Default: keep previously assigned numbers. (You are warned
83 when collisions are detected.)
84
85 -nostatic Generates a different source code, where these additional
86 functions are generated for each library specified in the
87 config file:
88 void ERR_load_<LIB>_strings(void);
89 void ERR_unload_<LIB>_strings(void);
90 void ERR_<LIB>_error(int f, int r, char *fn, int ln);
91 #define <LIB>err(f,r) ERR_<LIB>_error(f,r,__FILE__,__LINE__)
92 while the code facilitates the use of these in an environment
93 where the error support routines are dynamically loaded at
94 runtime.
95 Default: 'static' code generation.
96
97 -staticloader Prefix generated functions with the 'static' scope modifier.
98 Default: don't write any scope modifier prefix.
99
100 -write Actually (over)write the generated code to the header and C
101 source files as assigned to each library through the config
102 file.
103 Default: don't write.
104
105 -help / -h / -? / --help Show this help text.
106
107 ... Additional arguments are added to the file list to scan,
108 assuming '-recurse' was NOT specified on the command line.
109
110EOF
111 exit 1;
41 } else { 112 } else {
42 last; 113 last;
43 } 114 }
44} 115}
45 116
46if($recurse) { 117if($recurse) {
47 @source = ( <crypto/*.c>, <crypto/*/*.c>, <ssl/*.c>, 118 @source = (<crypto/*.c>, <crypto/*/*.c>, <ssl/*.c>);
48 <fips/*.c>, <fips/*/*.c>);
49} else { 119} else {
50 @source = @ARGV; 120 @source = @ARGV;
51} 121}
@@ -64,8 +134,8 @@ while(<IN>)
64 $cskip{$3} = $1; 134 $cskip{$3} = $1;
65 if($3 ne "NONE") { 135 if($3 ne "NONE") {
66 $csrc{$1} = $3; 136 $csrc{$1} = $3;
67 $fmax{$1} = 99; 137 $fmax{$1} = 100;
68 $rmax{$1} = 99; 138 $rmax{$1} = 100;
69 $fassigned{$1} = ":"; 139 $fassigned{$1} = ":";
70 $rassigned{$1} = ":"; 140 $rassigned{$1} = ":";
71 $fnew{$1} = 0; 141 $fnew{$1} = 0;
@@ -191,7 +261,8 @@ while (($hdr, $lib) = each %libinc)
191 if($1 eq "R") { 261 if($1 eq "R") {
192 $rcodes{$name} = $code; 262 $rcodes{$name} = $code;
193 if ($rassigned{$lib} =~ /:$code:/) { 263 if ($rassigned{$lib} =~ /:$code:/) {
194 print STDERR "!! ERROR: $lib reason code $code assigned twice\n"; 264 print STDERR "!! ERROR: $lib reason code $code assigned twice (collision at $name)\n";
265 ++$errcount;
195 } 266 }
196 $rassigned{$lib} .= "$code:"; 267 $rassigned{$lib} .= "$code:";
197 if(!(exists $rextra{$name}) && 268 if(!(exists $rextra{$name}) &&
@@ -200,7 +271,8 @@ while (($hdr, $lib) = each %libinc)
200 } 271 }
201 } else { 272 } else {
202 if ($fassigned{$lib} =~ /:$code:/) { 273 if ($fassigned{$lib} =~ /:$code:/) {
203 print STDERR "!! ERROR: $lib function code $code assigned twice\n"; 274 print STDERR "!! ERROR: $lib function code $code assigned twice (collision at $name)\n";
275 ++$errcount;
204 } 276 }
205 $fassigned{$lib} .= "$code:"; 277 $fassigned{$lib} .= "$code:";
206 if($code > $fmax{$lib}) { 278 if($code > $fmax{$lib}) {
@@ -231,6 +303,7 @@ while (($hdr, $lib) = each %libinc)
231 if ($rmax{$lib} >= 1000) { 303 if ($rmax{$lib} >= 1000) {
232 print STDERR "!! ERROR: SSL error codes 1000+ are reserved for alerts.\n"; 304 print STDERR "!! ERROR: SSL error codes 1000+ are reserved for alerts.\n";
233 print STDERR "!! Any new alerts must be added to $config.\n"; 305 print STDERR "!! Any new alerts must be added to $config.\n";
306 ++$errcount;
234 print STDERR "\n"; 307 print STDERR "\n";
235 } 308 }
236 } 309 }
@@ -255,6 +328,9 @@ foreach $file (@source) {
255 print STDERR "File loaded: ".$file."\r" if $debug; 328 print STDERR "File loaded: ".$file."\r" if $debug;
256 open(IN, "<$file") || die "Can't open source file $file\n"; 329 open(IN, "<$file") || die "Can't open source file $file\n";
257 while(<IN>) { 330 while(<IN>) {
331 # skip obsoleted source files entirely!
332 last if(/^#error\s+obsolete/);
333
258 if(/(([A-Z0-9]+)_F_([A-Z0-9_]+))/) { 334 if(/(([A-Z0-9]+)_F_([A-Z0-9_]+))/) {
259 next unless exists $csrc{$2}; 335 next unless exists $csrc{$2};
260 next if($1 eq "BIO_F_BUFFER_CTX"); 336 next if($1 eq "BIO_F_BUFFER_CTX");
@@ -264,6 +340,7 @@ foreach $file (@source) {
264 $fnew{$2}++; 340 $fnew{$2}++;
265 } 341 }
266 $notrans{$1} = 1 unless exists $ftrans{$3}; 342 $notrans{$1} = 1 unless exists $ftrans{$3};
343 print STDERR "Function: $1\t= $fcodes{$1} (lib: $2, name: $3)\n" if $debug;
267 } 344 }
268 if(/(([A-Z0-9]+)_R_[A-Z0-9_]+)/) { 345 if(/(([A-Z0-9]+)_R_[A-Z0-9_]+)/) {
269 next unless exists $csrc{$2}; 346 next unless exists $csrc{$2};
@@ -272,6 +349,7 @@ foreach $file (@source) {
272 $rcodes{$1} = "X"; 349 $rcodes{$1} = "X";
273 $rnew{$2}++; 350 $rnew{$2}++;
274 } 351 }
352 print STDERR "Reason: $1\t= $rcodes{$1} (lib: $2)\n" if $debug;
275 } 353 }
276 } 354 }
277 close IN; 355 close IN;
@@ -313,7 +391,7 @@ foreach $lib (keys %csrc)
313 } else { 391 } else {
314 push @out, 392 push @out,
315"/* ====================================================================\n", 393"/* ====================================================================\n",
316" * Copyright (c) 2001-2008 The OpenSSL Project. All rights reserved.\n", 394" * Copyright (c) 2001-2010 The OpenSSL Project. All rights reserved.\n",
317" *\n", 395" *\n",
318" * Redistribution and use in source and binary forms, with or without\n", 396" * Redistribution and use in source and binary forms, with or without\n",
319" * modification, are permitted provided that the following conditions\n", 397" * modification, are permitted provided that the following conditions\n",
@@ -369,6 +447,10 @@ foreach $lib (keys %csrc)
369"#ifndef HEADER_${lib}_ERR_H\n", 447"#ifndef HEADER_${lib}_ERR_H\n",
370"#define HEADER_${lib}_ERR_H\n", 448"#define HEADER_${lib}_ERR_H\n",
371"\n", 449"\n",
450"#ifdef __cplusplus\n",
451"extern \"C\" {\n",
452"#endif\n",
453"\n",
372"/* BEGIN ERROR CODES */\n"; 454"/* BEGIN ERROR CODES */\n";
373 } 455 }
374 open (OUT, ">$hfile") || die "Can't Open File $hfile for writing\n"; 456 open (OUT, ">$hfile") || die "Can't Open File $hfile for writing\n";
@@ -455,14 +537,21 @@ EOF
455 if (/\b(${lib}_R_\w*)\b.*\"(.*)\"/) { 537 if (/\b(${lib}_R_\w*)\b.*\"(.*)\"/) {
456 $err_reason_strings{$1} = $2; 538 $err_reason_strings{$1} = $2;
457 } 539 }
540 if (/\b${lib}_F_(\w*)\b.*\"(.*)\"/) {
541 if (!exists $ftrans{$1} && ($1 ne $2)) {
542 print STDERR "WARNING: Mismatched function string $2\n";
543 $ftrans{$1} = $2;
544 }
545 }
458 } 546 }
459 close(IN); 547 close(IN);
460 } 548 }
461 549
550
462 my $hincf; 551 my $hincf;
463 if($static) { 552 if($static) {
464 $hfile =~ /([^\/]+)$/; 553 $hfile =~ /([^\/]+)$/;
465 $hincf = "<openssl/$1>"; 554 $hincf = "<${hprefix}$1>";
466 } else { 555 } else {
467 $hincf = "\"$hfile\""; 556 $hincf = "\"$hfile\"";
468 } 557 }
@@ -487,7 +576,7 @@ EOF
487 print OUT <<"EOF"; 576 print OUT <<"EOF";
488/* $cfile */ 577/* $cfile */
489/* ==================================================================== 578/* ====================================================================
490 * Copyright (c) 1999-2008 The OpenSSL Project. All rights reserved. 579 * Copyright (c) 1999-2010 The OpenSSL Project. All rights reserved.
491 * 580 *
492 * Redistribution and use in source and binary forms, with or without 581 * Redistribution and use in source and binary forms, with or without
493 * modification, are permitted provided that the following conditions 582 * modification, are permitted provided that the following conditions
@@ -713,3 +802,9 @@ if($debug && defined(@runref) ) {
713 print STDERR "$_\n"; 802 print STDERR "$_\n";
714 } 803 }
715} 804}
805
806if($errcount) {
807 print STDERR "There were errors, failing...\n\n";
808 exit $errcount;
809}
810
diff --git a/src/lib/libcrypto/util/mkfiles.pl b/src/lib/libcrypto/util/mkfiles.pl
index 67fb8694c8..6d15831450 100644
--- a/src/lib/libcrypto/util/mkfiles.pl
+++ b/src/lib/libcrypto/util/mkfiles.pl
@@ -26,6 +26,7 @@ my @dirs = (
26"crypto/aes", 26"crypto/aes",
27"crypto/camellia", 27"crypto/camellia",
28"crypto/seed", 28"crypto/seed",
29"crypto/modes",
29"crypto/bn", 30"crypto/bn",
30"crypto/rsa", 31"crypto/rsa",
31"crypto/dsa", 32"crypto/dsa",
@@ -46,6 +47,7 @@ my @dirs = (
46"crypto/pem", 47"crypto/pem",
47"crypto/x509", 48"crypto/x509",
48"crypto/x509v3", 49"crypto/x509v3",
50"crypto/cms",
49"crypto/conf", 51"crypto/conf",
50"crypto/jpake", 52"crypto/jpake",
51"crypto/txt_db", 53"crypto/txt_db",
@@ -56,25 +58,20 @@ my @dirs = (
56"crypto/ocsp", 58"crypto/ocsp",
57"crypto/ui", 59"crypto/ui",
58"crypto/krb5", 60"crypto/krb5",
59"crypto/store", 61#"crypto/store",
60"crypto/pqueue", 62"crypto/pqueue",
61"crypto/cms", 63"crypto/whrlpool",
62"fips", 64"crypto/ts",
63"fips/aes",
64"fips/des",
65"fips/dsa",
66"fips/dh",
67"fips/hmac",
68"fips/rand",
69"fips/rsa",
70"fips/sha",
71"ssl", 65"ssl",
72"apps", 66"apps",
73"engines", 67"engines",
68"engines/ccgost",
74"test", 69"test",
75"tools" 70"tools"
76); 71);
77 72
73%top;
74
78foreach (@dirs) { 75foreach (@dirs) {
79 &files_dir ($_, "Makefile"); 76 &files_dir ($_, "Makefile");
80} 77}
@@ -118,8 +115,8 @@ while (<IN>)
118 $o =~ s/\s+$//; 115 $o =~ s/\s+$//;
119 $o =~ s/\s+/ /g; 116 $o =~ s/\s+/ /g;
120 117
121 $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; 118 $o =~ s/\$[({]([^)}]+)[)}]/$top{$1} or $sym{$1}/ge;
122 $sym{$s}=$o; 119 $sym{$s}=($top{$s} or $o);
123 } 120 }
124 } 121 }
125 122
@@ -129,6 +126,15 @@ foreach (sort keys %sym)
129 { 126 {
130 print "$_=$sym{$_}\n"; 127 print "$_=$sym{$_}\n";
131 } 128 }
129if ($dir eq "." && defined($sym{"BUILDENV"}))
130 {
131 foreach (split(' ',$sym{"BUILDENV"}))
132 {
133 /^(.+)=/;
134 $top{$1}=$sym{$1};
135 }
136 }
137
132print "RELATIVE_DIRECTORY=\n"; 138print "RELATIVE_DIRECTORY=\n";
133 139
134close (IN); 140close (IN);
diff --git a/src/lib/libcrypto/util/mklink.pl b/src/lib/libcrypto/util/mklink.pl
index eacc327882..61db12c68f 100644
--- a/src/lib/libcrypto/util/mklink.pl
+++ b/src/lib/libcrypto/util/mklink.pl
@@ -15,21 +15,13 @@
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
18my $pwd; 18use Cwd;
19eval 'use Cwd;';
20if ($@)
21 {
22 $pwd = `pwd`;
23 }
24else
25 {
26 $pwd = getcwd();
27 }
28 19
29my $from = shift; 20my $from = shift;
30my @files = @ARGV; 21my @files = @ARGV;
31 22
32my @from_path = split(/[\\\/]/, $from); 23my @from_path = split(/[\\\/]/, $from);
24my $pwd = getcwd();
33chomp($pwd); 25chomp($pwd);
34my @pwd_path = split(/[\\\/]/, $pwd); 26my @pwd_path = split(/[\\\/]/, $pwd);
35 27
@@ -59,6 +51,7 @@ my $to = join('/', @to_path);
59 51
60my $file; 52my $file;
61$symlink_exists=eval {symlink("",""); 1}; 53$symlink_exists=eval {symlink("",""); 1};
54if ($^O eq "msys") { $symlink_exists=0 };
62foreach $file (@files) { 55foreach $file (@files) {
63 my $err = ""; 56 my $err = "";
64 if ($symlink_exists) { 57 if ($symlink_exists) {
diff --git a/src/lib/libcrypto/util/mksdef.pl b/src/lib/libcrypto/util/mksdef.pl
deleted file mode 100644
index 065dc675f1..0000000000
--- a/src/lib/libcrypto/util/mksdef.pl
+++ /dev/null
@@ -1,87 +0,0 @@
1
2# Perl script to split libeay32.def into two distinct DEF files for use in
3# fipdso mode. It works out symbols in each case by running "link" command and
4# parsing the output to find the list of missing symbols then splitting
5# libeay32.def based on the result.
6
7
8# Get list of unknown symbols
9
10my @deferr = `link @ARGV`;
11
12my $preamble = "";
13my @fipsdll;
14my @fipsrest;
15my %nosym;
16
17# Add symbols to a hash for easy lookup
18
19foreach (@deferr)
20 {
21 if (/^.*symbol (\S+)$/)
22 {
23 $nosym{$1} = 1;
24 }
25 }
26
27open (IN, "ms/libeay32.def") || die "Can't Open DEF file for spliting";
28
29my $started = 0;
30
31# Parse libeay32.def into two arrays depending on whether the symbol matches
32# the missing list.
33
34
35foreach (<IN>)
36 {
37 if (/^\s*(\S+)\s*(\@\S+)\s*$/)
38 {
39 $started = 1;
40 if (exists $nosym{$1})
41 {
42 push @fipsrest, $_;
43 }
44 else
45 {
46 my $imptmp = sprintf " %-39s %s\n",
47 "$1=libosslfips.$1", $2;
48 push @fipsrest, $imptmp;
49 push @fipsdll, "\t$1\n";
50 }
51 }
52 $preamble .= $_ unless $started;
53 }
54
55close IN;
56
57# Hack! Add some additional exports needed for libcryptofips.dll
58#
59
60push @fipsdll, "\tOPENSSL_showfatal\n";
61push @fipsdll, "\tOPENSSL_cpuid_setup\n";
62
63# Write out DEF files for each array
64
65write_def("ms/libosslfips.def", "LIBOSSLFIPS", $preamble, \@fipsdll);
66write_def("ms/libeayfips.def", "", $preamble, \@fipsrest);
67
68
69sub write_def
70 {
71 my ($fnam, $defname, $preamble, $rdefs) = @_;
72 open (OUT, ">$fnam") || die "Can't Open DEF file $fnam for Writing\n";
73
74 if ($defname ne "")
75 {
76 $preamble =~ s/LIBEAY32/$defname/g;
77 $preamble =~ s/LIBEAY/$defname/g;
78 }
79 print OUT $preamble;
80 foreach (@$rdefs)
81 {
82 print OUT $_;
83 }
84 close OUT;
85 }
86
87
diff --git a/src/lib/libcrypto/util/mkstack.pl b/src/lib/libcrypto/util/mkstack.pl
index 2a968f395f..6a43757c95 100644
--- a/src/lib/libcrypto/util/mkstack.pl
+++ b/src/lib/libcrypto/util/mkstack.pl
@@ -21,7 +21,7 @@ while (@ARGV) {
21} 21}
22 22
23 23
24@source = (<crypto/*.[ch]>, <crypto/*/*.[ch]>, <ssl/*.[ch]>); 24@source = (<crypto/*.[ch]>, <crypto/*/*.[ch]>, <ssl/*.[ch]>, <apps/*.[ch]>);
25foreach $file (@source) { 25foreach $file (@source) {
26 next if -l $file; 26 next if -l $file;
27 27
@@ -31,11 +31,19 @@ foreach $file (@source) {
31 while(<IN>) { 31 while(<IN>) {
32 if (/^DECLARE_STACK_OF\(([^)]+)\)/) { 32 if (/^DECLARE_STACK_OF\(([^)]+)\)/) {
33 push @stacklst, $1; 33 push @stacklst, $1;
34 } if (/^DECLARE_ASN1_SET_OF\(([^)]+)\)/) { 34 }
35 if (/^DECLARE_SPECIAL_STACK_OF\(([^,\s]+)\s*,\s*([^>\s]+)\)/) {
36 push @sstacklst, [$1, $2];
37 }
38 if (/^DECLARE_ASN1_SET_OF\(([^)]+)\)/) {
35 push @asn1setlst, $1; 39 push @asn1setlst, $1;
36 } if (/^DECLARE_PKCS12_STACK_OF\(([^)]+)\)/) { 40 }
41 if (/^DECLARE_PKCS12_STACK_OF\(([^)]+)\)/) {
37 push @p12stklst, $1; 42 push @p12stklst, $1;
38 } 43 }
44 if (/^DECLARE_LHASH_OF\(([^)]+)\)/) {
45 push @lhashlst, $1;
46 }
39 } 47 }
40 close(IN); 48 close(IN);
41} 49}
@@ -65,7 +73,7 @@ while(<IN>) {
65 foreach $type_thing (sort @stacklst) { 73 foreach $type_thing (sort @stacklst) {
66 $new_stackfile .= <<EOF; 74 $new_stackfile .= <<EOF;
67 75
68#define sk_${type_thing}_new(st) SKM_sk_new($type_thing, (st)) 76#define sk_${type_thing}_new(cmp) SKM_sk_new($type_thing, (cmp))
69#define sk_${type_thing}_new_null() SKM_sk_new_null($type_thing) 77#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)) 78#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)) 79#define sk_${type_thing}_num(st) SKM_sk_num($type_thing, (st))
@@ -88,6 +96,39 @@ while(<IN>) {
88#define sk_${type_thing}_is_sorted(st) SKM_sk_is_sorted($type_thing, (st)) 96#define sk_${type_thing}_is_sorted(st) SKM_sk_is_sorted($type_thing, (st))
89EOF 97EOF
90 } 98 }
99
100 foreach $type_thing (sort @sstacklst) {
101 my $t1 = $type_thing->[0];
102 my $t2 = $type_thing->[1];
103 $new_stackfile .= <<EOF;
104
105#define sk_${t1}_new(cmp) ((STACK_OF($t1) *)sk_new(CHECKED_SK_CMP_FUNC($t2, cmp)))
106#define sk_${t1}_new_null() ((STACK_OF($t1) *)sk_new_null())
107#define sk_${t1}_push(st, val) sk_push(CHECKED_PTR_OF(STACK_OF($t1), st), CHECKED_PTR_OF($t2, val))
108#define sk_${t1}_find(st, val) sk_find(CHECKED_PTR_OF(STACK_OF($t1), st), CHECKED_PTR_OF($t2, val))
109#define sk_${t1}_value(st, i) (($t1)sk_value(CHECKED_PTR_OF(STACK_OF($t1), st), i))
110#define sk_${t1}_num(st) SKM_sk_num($t1, st)
111#define sk_${t1}_pop_free(st, free_func) sk_pop_free(CHECKED_PTR_OF(STACK_OF($t1), st), CHECKED_SK_FREE_FUNC2($t1, free_func))
112#define sk_${t1}_insert(st, val, i) sk_insert(CHECKED_PTR_OF(STACK_OF($t1), st), CHECKED_PTR_OF($t2, val), i)
113#define sk_${t1}_free(st) SKM_sk_free(${t1}, st)
114#define sk_${t1}_set(st, i, val) sk_set((_STACK *)CHECKED_PTR_OF(STACK_OF($t1), st), i, CHECKED_PTR_OF($t2, val))
115#define sk_${t1}_zero(st) SKM_sk_zero($t1, (st))
116#define sk_${t1}_unshift(st, val) sk_unshift((_STACK *)CHECKED_PTR_OF(STACK_OF($t1), st), CHECKED_PTR_OF($t2, val))
117#define sk_${t1}_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF($t1), st), CHECKED_CONST_PTR_OF($t2, val))
118#define sk_${t1}_delete(st, i) SKM_sk_delete($t1, (st), (i))
119#define sk_${t1}_delete_ptr(st, ptr) ($t1 *)sk_delete_ptr((_STACK *)CHECKED_PTR_OF(STACK_OF($t1), st), CHECKED_PTR_OF($t2, ptr))
120#define sk_${t1}_set_cmp_func(st, cmp) \\
121 ((int (*)(const $t2 * const *,const $t2 * const *)) \\
122 sk_set_cmp_func((_STACK *)CHECKED_PTR_OF(STACK_OF($t1), st), CHECKED_SK_CMP_FUNC($t2, cmp)))
123#define sk_${t1}_dup(st) SKM_sk_dup($t1, st)
124#define sk_${t1}_shift(st) SKM_sk_shift($t1, (st))
125#define sk_${t1}_pop(st) ($t2 *)sk_pop((_STACK *)CHECKED_PTR_OF(STACK_OF($t1), st))
126#define sk_${t1}_sort(st) SKM_sk_sort($t1, (st))
127#define sk_${t1}_is_sorted(st) SKM_sk_is_sorted($t1, (st))
128
129EOF
130 }
131
91 foreach $type_thing (sort @asn1setlst) { 132 foreach $type_thing (sort @asn1setlst) {
92 $new_stackfile .= <<EOF; 133 $new_stackfile .= <<EOF;
93 134
@@ -108,6 +149,31 @@ EOF
108 SKM_PKCS12_decrypt_d2i($type_thing, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) 149 SKM_PKCS12_decrypt_d2i($type_thing, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq))
109EOF 150EOF
110 } 151 }
152
153 foreach $type_thing (sort @lhashlst) {
154 my $lc_tt = lc $type_thing;
155 $new_stackfile .= <<EOF;
156
157#define lh_${type_thing}_new() LHM_lh_new(${type_thing},${lc_tt})
158#define lh_${type_thing}_insert(lh,inst) LHM_lh_insert(${type_thing},lh,inst)
159#define lh_${type_thing}_retrieve(lh,inst) LHM_lh_retrieve(${type_thing},lh,inst)
160#define lh_${type_thing}_delete(lh,inst) LHM_lh_delete(${type_thing},lh,inst)
161#define lh_${type_thing}_doall(lh,fn) LHM_lh_doall(${type_thing},lh,fn)
162#define lh_${type_thing}_doall_arg(lh,fn,arg_type,arg) \\
163 LHM_lh_doall_arg(${type_thing},lh,fn,arg_type,arg)
164#define lh_${type_thing}_error(lh) LHM_lh_error(${type_thing},lh)
165#define lh_${type_thing}_num_items(lh) LHM_lh_num_items(${type_thing},lh)
166#define lh_${type_thing}_down_load(lh) LHM_lh_down_load(${type_thing},lh)
167#define lh_${type_thing}_node_stats_bio(lh,out) \\
168 LHM_lh_node_stats_bio(${type_thing},lh,out)
169#define lh_${type_thing}_node_usage_stats_bio(lh,out) \\
170 LHM_lh_node_usage_stats_bio(${type_thing},lh,out)
171#define lh_${type_thing}_stats_bio(lh,out) \\
172 LHM_lh_stats_bio(${type_thing},lh,out)
173#define lh_${type_thing}_free(lh) LHM_lh_free(${type_thing},lh)
174EOF
175 }
176
111 $new_stackfile .= "/* End of util/mkstack.pl block, you may now edit :-) */\n"; 177 $new_stackfile .= "/* End of util/mkstack.pl block, you may now edit :-) */\n";
112 $inside_block = 2; 178 $inside_block = 2;
113} 179}
diff --git a/src/lib/libcrypto/util/pl/BC-16.pl b/src/lib/libcrypto/util/pl/BC-16.pl
deleted file mode 100644
index 8030653daa..0000000000
--- a/src/lib/libcrypto/util/pl/BC-16.pl
+++ /dev/null
@@ -1,151 +0,0 @@
1#!/usr/local/bin/perl
2# VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries
3#
4
5$o='\\';
6$cp='copy';
7$rm='del';
8
9# C compiler stuff
10$cc='bcc';
11
12if ($debug)
13 { $op="-v "; }
14else { $op="-O "; }
15
16$cflags="-d -ml $op -DL_ENDIAN";
17# I add the stack opt
18$base_lflags="/c /C";
19$lflags="$base_lflags";
20
21if ($win16)
22 {
23 $shlib=1;
24 $cflags.=" -DOPENSSL_SYSNAME_WIN16";
25 $app_cflag="-W";
26 $lib_cflag="-WD";
27 $lflags.="/Twe";
28 }
29else
30 {
31 $cflags.=" -DOENSSL_SYSNAME_MSDOS";
32 $lflags.=" /Tde";
33 }
34
35if ($shlib)
36 {
37 $mlflags=" /Twd $base_lflags"; # stack if defined in .def file
38 $libs="libw ldllcew";
39 $no_asm=1;
40 }
41else
42 { $mlflags=''; }
43
44$obj='.obj';
45$ofile="-o";
46
47# EXE linking stuff
48$link="tlink";
49$efile="";
50$exep='.exe';
51$ex_libs="CL";
52$ex_libs.=$no_sock?"":" winsock.lib";
53
54$app_ex_obj="C0L.obj ";
55$shlib_ex_obj="" if ($shlib);
56
57# static library stuff
58$mklib='tlib';
59$ranlib='echo no ranlib';
60$plib="";
61$libp=".lib";
62$shlibp=($shlib)?".dll":".lib";
63$lfile='';
64
65$asm='bcc -c -B -Tml';
66$afile='/o';
67if ($no_asm || $fips)
68 {
69 $bn_asm_obj='';
70 $bn_asm_src='';
71 }
72elsif ($asmbits == 32)
73 {
74 $bn_asm_obj='crypto\bn\asm\x86w32.obj';
75 $bn_asm_src='crypto\bn\asm\x86w32.asm';
76 }
77else
78 {
79 $bn_asm_obj='crypto\bn\asm\x86w16.obj';
80 $bn_asm_src='crypto\bn\asm\x86w16.asm';
81 }
82
83sub do_lib_rule
84 {
85 local($target,$name,$shlib)=@_;
86 local($ret,$Name);
87
88 $taget =~ s/\//$o/g if $o ne '/';
89 ($Name=$name) =~ tr/a-z/A-Z/;
90
91 $ret.="$target: \$(${Name}OBJ)\n";
92 $ret.="\t\$(RM) \$(O_$Name)\n";
93
94 # Due to a pathetic line length limit, I unwrap the args.
95 local($lib_names)="";
96 local($dll_names)="";
97 foreach $_ (sort split(/\s+/,$Vars{"${Name}OBJ"}))
98 {
99 $lib_names.=" +$_ &\n";
100 $dll_names.=" $_\n";
101 }
102
103 if (!$shlib)
104 {
105 $ret.="\t\$(MKLIB) $target & <<|\n$lib_names\n,\n|\n";
106 }
107 else
108 {
109 local($ex)=($Name eq "SSL")?' $(L_CRYPTO) winsock':"";
110 $ret.="\t\$(LINK) \$(MLFLAGS) @&&|\n";
111 $ret.=$dll_names;
112 $ret.="\n $target\n\n $ex $libs\nms$o${name}16.def;\n|\n";
113 ($out_lib=$target) =~ s/O_/L_/;
114 $ret.="\timplib /nowep $out_lib $target\n\n";
115 }
116 $ret.="\n";
117 return($ret);
118 }
119
120sub do_link_rule
121 {
122 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
123 local($ret,$f,$_,@f);
124
125 $file =~ s/\//$o/g if $o ne '/';
126 $n=&bname($target);
127 $ret.="$target: $files $dep_libs\n";
128 $ret.=" \$(LINK) @&&|";
129
130 # Due to a pathetic line length limit, I have to unwrap the args.
131 $ret.=" \$(LFLAGS) ";
132 if ($files =~ /\(([^)]*)\)$/)
133 {
134 $ret.=" \$(APP_EX_OBJ)";
135 foreach $_ (sort split(/\s+/,$Vars{$1}))
136 { $ret.="\n $r $_ +"; }
137 chop($ret);
138 $ret.="\n";
139 }
140 else
141 { $ret.="\n $r \$(APP_EX_OBJ) $files\n"; }
142 $ret.=" $target\n\n $libs\n\n|\n";
143 if (defined $sha1file)
144 {
145 $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
146 }
147 $ret.="\n";
148 return($ret);
149 }
150
1511;
diff --git a/src/lib/libcrypto/util/pl/BC-32.pl b/src/lib/libcrypto/util/pl/BC-32.pl
index 99b8c058d2..1f1e13fb40 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.=' wsock32.lib gdi32.lib'; 120 $ex.=' ws2_32.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 8f0483fb93..fe3fb27a78 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 -march=i486 -Wall"; } 22 { $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -mcpu=i486 -Wall"; }
23 23
24if ($gaswin and !$no_asm) 24if ($gaswin and !$no_asm)
25 { 25 {
@@ -43,8 +43,6 @@ 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';
48 $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS"; 46 $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS";
49 } 47 }
50 48
@@ -57,7 +55,7 @@ $link='${CC}';
57$lflags='${CFLAGS}'; 55$lflags='${CFLAGS}';
58$efile='-o '; 56$efile='-o ';
59$exep=''; 57$exep='';
60$ex_libs="-lwsock32 -lgdi32"; 58$ex_libs="-lws2_32 -lgdi32";
61 59
62# static library stuff 60# static library stuff
63$mklib='ar r'; 61$mklib='ar r';
diff --git a/src/lib/libcrypto/util/pl/VC-16.pl b/src/lib/libcrypto/util/pl/VC-16.pl
deleted file mode 100644
index 564ba3fd08..0000000000
--- a/src/lib/libcrypto/util/pl/VC-16.pl
+++ /dev/null
@@ -1,177 +0,0 @@
1#!/usr/local/bin/perl
2# VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries
3#
4
5$ssl= "ssleay16";
6$crypto="libeay16";
7
8$o='\\';
9$cp='copy';
10$rm='del';
11
12# C compiler stuff
13$cc='cl';
14
15$out_def="out16";
16$tmp_def="tmp16";
17$inc_def="inc16";
18
19if ($debug)
20 {
21 $op="/Od /Zi /Zd";
22 $base_lflags="/CO";
23 }
24else {
25 $op="/G2 /f- /Ocgnotb2";
26 }
27$base_lflags.=" /FARCALL /NOLOGO /NOD /SEG:1024 /ONERROR:NOEXE /NOE /PACKC:60000";
28if ($win16) { $base_lflags.=" /PACKD:60000"; }
29
30$cflags="/ALw /Gx- /Gt256 /Gf $op /W3 /WX -DL_ENDIAN /nologo";
31# I add the stack opt
32$lflags="$base_lflags /STACK:20000";
33
34if ($win16)
35 {
36 $cflags.=" -DOPENSSL_SYSNAME_WIN16";
37 $app_cflag="/Gw /FPi87";
38 $lib_cflag="/Gw";
39 $lib_cflag.=" -D_WINDLL -D_DLL" if $shlib;
40 $lib_cflag.=" -DWIN16TTY" if !$shlib;
41 $lflags.=" /ALIGN:256";
42 $ex_libs.="oldnames llibcewq libw";
43 }
44else
45 {
46 $no_sock=1;
47 $cflags.=" -DMSDOS";
48 $lflags.=" /EXEPACK";
49 $ex_libs.="oldnames.lib llibce.lib";
50 }
51
52if ($shlib)
53 {
54 $mlflags="$base_lflags";
55 $libs="oldnames ldllcew libw";
56 $shlib_ex_obj="";
57# $no_asm=1;
58 $out_def="out16dll";
59 $tmp_def="tmp16dll";
60 }
61else
62 { $mlflags=''; }
63
64$app_ex_obj="";
65
66$obj='.obj';
67$ofile="/Fo";
68
69# EXE linking stuff
70$link="link";
71$efile="";
72$exep='.exe';
73$ex_libs.=$no_sock?"":" winsock";
74
75# static library stuff
76$mklib='lib /PAGESIZE:1024';
77$ranlib='';
78$plib="";
79$libp=".lib";
80$shlibp=($shlib)?".dll":".lib";
81$lfile='';
82
83$asm='ml /Cp /c /Cx';
84$afile='/Fo';
85
86$bn_asm_obj='';
87$bn_asm_src='';
88$des_enc_obj='';
89$des_enc_src='';
90$bf_enc_obj='';
91$bf_enc_src='';
92
93if (!$no_asm && !$fips)
94 {
95 if ($asmbits == 32)
96 {
97 $bn_asm_obj='crypto\bn\asm\x86w32.obj';
98 $bn_asm_src='crypto\bn\asm\x86w32.asm';
99 }
100 else
101 {
102 $bn_asm_obj='crypto\bn\asm\x86w16.obj';
103 $bn_asm_src='crypto\bn\asm\x86w16.asm';
104 }
105 }
106
107sub do_lib_rule
108 {
109 local($objs,$target,$name,$shlib)=@_;
110 local($ret,$Name);
111
112 $taget =~ s/\//$o/g if $o ne '/';
113 ($Name=$name) =~ tr/a-z/A-Z/;
114
115# $target="\$(LIB_D)$o$target";
116 $ret.="$target: $objs\n";
117# $ret.="\t\$(RM) \$(O_$Name)\n";
118
119 # Due to a pathetic line length limit, I unwrap the args.
120 local($lib_names)="";
121 local($dll_names)=" \$(SHLIB_EX_OBJ) +\n";
122 ($obj)= ($objs =~ /\((.*)\)/);
123 foreach $_ (sort split(/\s+/,$Vars{$obj}))
124 {
125 $lib_names.="+$_ &\n";
126 $dll_names.=" $_ +\n";
127 }
128
129 if (!$shlib)
130 {
131 $ret.="\tdel $target\n";
132 $ret.="\t\$(MKLIB) @<<\n$target\ny\n$lib_names\n\n<<\n";
133 }
134 else
135 {
136 local($ex)=($target =~ /O_SSL/)?'$(L_CRYPTO)':"";
137 $ex.=' winsock';
138 $ret.="\t\$(LINK) \$(MLFLAGS) @<<\n";
139 $ret.=$dll_names;
140 $ret.="\n $target\n\n $ex $libs\nms$o${name}.def;\n<<\n";
141 ($out_lib=$target) =~ s/O_/L_/;
142 $ret.="\timplib /noignorecase /nowep $out_lib $target\n";
143 }
144 $ret.="\n";
145 return($ret);
146 }
147
148sub do_link_rule
149 {
150 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
151 local($ret,$f,$_,@f);
152
153 $file =~ s/\//$o/g if $o ne '/';
154 $n=&bname($targer);
155 $ret.="$target: $files $dep_libs\n";
156 $ret.=" \$(LINK) \$(LFLAGS) @<<\n";
157
158 # Due to a pathetic line length limit, I have to unwrap the args.
159 if ($files =~ /\(([^)]*)\)$/)
160 {
161 @a=('$(APP_EX_OBJ)');
162 push(@a,sort split(/\s+/,$Vars{$1}));
163 for $_ (@a)
164 { $ret.=" $_ +\n"; }
165 }
166 else
167 { $ret.=" \$(APP_EX_OBJ) $files"; }
168 $ret.="\n $target\n\n $libs\n\n<<\n";
169 if (defined $sha1file)
170 {
171 $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
172 }
173 $ret.="\n";
174 return($ret);
175 }
176
1771;
diff --git a/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl b/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl
deleted file mode 100644
index b5bbcac6c2..0000000000
--- a/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl
+++ /dev/null
@@ -1,222 +0,0 @@
1#!/usr/local/bin/perl
2# VCw32lib.pl - the file for Visual C++ 4.[01] for windows NT, static libraries
3#
4
5
6if ($fips && !$shlib)
7 {
8 $crypto="libeayfips32";
9 $crypto_compat = "libeaycompat32.lib";
10 }
11else
12 {
13 $crypto="libeay32";
14 }
15$ssl= "ssleay32";
16
17$o='/';
18#$cp='copy nul+'; # Timestamps get stuffed otherwise
19#$rm='del';
20
21$cp='cp';
22$rm='rm';
23
24$zlib_lib="zlib1.lib";
25
26# C compiler stuff
27$cc='cl';
28$cflags=' -MD -W3 -WX -Ox -O2 -Ob2 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32';
29$cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8
30$cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8
31$lflags="-nologo -subsystem:console -machine:I386 -opt:ref";
32$mlflags='';
33
34$out_def="gmout32";
35$tmp_def="gmtmp32";
36$inc_def="gminc32";
37
38if ($debug)
39 {
40 $cflags=" -MDd -W3 -WX -Zi -Yd -Od -nologo -DOPENSSL_SYSNAME_WIN32 -D_DEBUG -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DDEBUG -DDSO_WIN32";
41 $lflags.=" -debug";
42 $mlflags.=' -debug';
43 }
44$cflags .= " -DOPENSSL_SYSNAME_WINNT" if $NT == 1;
45
46$obj='.obj';
47$ofile="-Fo";
48
49# EXE linking stuff
50$link="link";
51$efile="-out:";
52$exep='.exe';
53if ($no_sock)
54 { $ex_libs=""; }
55else { $ex_libs="wsock32.lib user32.lib gdi32.lib"; }
56
57# static library stuff
58$mklib='lib';
59$ranlib='';
60$plib="";
61$libp=".lib";
62$shlibp=($shlib)?".dll":".lib";
63$lfile='-out:';
64
65$shlib_ex_obj="";
66$app_ex_obj="setargv.obj";
67if ($nasm) {
68 $asm='nasmw -f win32';
69 $afile='-o ';
70} else {
71 $asm='ml -Cp -coff -c -Cx';
72 $asm.=" -Zi" if $debug;
73 $afile='-Fo';
74}
75
76$bn_asm_obj='';
77$bn_asm_src='';
78$des_enc_obj='';
79$des_enc_src='';
80$bf_enc_obj='';
81$bf_enc_src='';
82
83if (!$no_asm && !$fips)
84 {
85 $bn_asm_obj='crypto/bn/asm/bn_win32.obj';
86 $bn_asm_src='crypto/bn/asm/bn_win32.asm';
87 $des_enc_obj='crypto/des/asm/d_win32.obj crypto/des/asm/y_win32.obj';
88 $des_enc_src='crypto/des/asm/d_win32.asm crypto/des/asm/y_win32.asm';
89 $bf_enc_obj='crypto/bf/asm/b_win32.obj';
90 $bf_enc_src='crypto/bf/asm/b_win32.asm';
91 $cast_enc_obj='crypto/cast/asm/c_win32.obj';
92 $cast_enc_src='crypto/cast/asm/c_win32.asm';
93 $rc4_enc_obj='crypto/rc4/asm/r4_win32.obj';
94 $rc4_enc_src='crypto/rc4/asm/r4_win32.asm';
95 $rc5_enc_obj='crypto/rc5/asm/r5_win32.obj';
96 $rc5_enc_src='crypto/rc5/asm/r5_win32.asm';
97 $md5_asm_obj='crypto/md5/asm/m5_win32.obj';
98 $md5_asm_src='crypto/md5/asm/m5_win32.asm';
99 $sha1_asm_obj='crypto/sha/asm/s1_win32.obj';
100 $sha1_asm_src='crypto/sha/asm/s1_win32.asm';
101 $rmd160_asm_obj='crypto/ripemd/asm/rm_win32.obj';
102 $rmd160_asm_src='crypto/ripemd/asm/rm_win32.asm';
103 $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
104 }
105
106if ($shlib)
107 {
108 $mlflags.=" $lflags -dll";
109# $cflags =~ s| -MD| -MT|;
110 $lib_cflag=" -D_WINDLL";
111 $out_def="gmout32dll";
112 $tmp_def="gmtmp32dll";
113 }
114
115$cflags.=" -Fd$out_def";
116
117sub do_lib_rule
118 {
119 local($objs,$target,$name,$shlib,$ign,$base_addr, $fips_get_sig, $fips_premain_src)=@_;
120 local($ret,$Name);
121
122 $taget =~ s/\//$o/g if $o ne '/';
123 ($Name=$name) =~ tr/a-z/A-Z/;
124 my $base_arg;
125 if ($base_addr ne "")
126 {
127 $base_arg= " -base:$base_addr";
128 }
129 else
130 {
131 $base_arg = "";
132 }
133
134
135# $target="\$(LIB_D)$o$target";
136 if (!$shlib)
137 {
138# $ret.="\t\$(RM) \$(O_$Name)\n";
139 $ret.="$target: $objs\n";
140 $ex =' advapi32.lib';
141 $ret.="\t\$(MKLIB) $lfile$target $objs $ex\n\n";
142 }
143 else
144 {
145 local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':'';
146 $ex.=' wsock32.lib gdi32.lib advapi32.lib user32.lib';
147 $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/;
148 if (defined $fips_get_sig)
149 {
150 $ret.="$target: \$(O_FIPSCANISTER) $objs $fips_get_sig\n";
151 $ret.="\tFIPS_LINK=\$(LINK) ";
152 $ret.="FIPS_CC=\$(CC) ";
153 $ret.="FIPS_CC_ARGS=\"-Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\" ";
154 $ret.="FIPS_PREMAIN_DSO=$fips_get_sig ";
155 $ret.="FIPS_TARGET=$target ";
156 $ret.="FIPS_LIBDIR=\$(FIPSLIB_D) ";
157 $ret.="\$(FIPSLINK) \$(MLFLAGS) $base_arg $efile$target ";
158 $ret.="-def:ms/${Name}.def \$(SHLIB_EX_OBJ) $objs ";
159 $ret.="\$(OBJ_D)${o}fips_premain.obj $ex\n\n";
160 }
161 else
162 {
163 $ret.="$target: $objs\n";
164 $ret.="\t\$(LINK) \$(MLFLAGS) $base_arg $efile$target /def:ms/${Name}.def \$(SHLIB_EX_OBJ) $objs $ex\n\n";
165 }
166 }
167 $ret.="\n";
168 return($ret);
169 }
170
171sub do_link_rule
172 {
173 local($target,$files,$dep_libs,$libs,$standalone)=@_;
174 local($ret,$_);
175 $file =~ s/\//$o/g if $o ne '/';
176 $n=&bname($targer);
177 if ($standalone)
178 {
179 $ret.="$target: $files $dep_libs\n";
180 $ret.="\t\$(LINK) \$(LFLAGS) $efile$target ";
181 $ret.="$files $libs\n\n";
182 }
183 elsif ($fips && !$shlib)
184 {
185 $ret.="$target: \$(O_FIPSCANISTER) $files $dep_libs\n";
186 $ret.="\tFIPS_LINK=\$(LINK) ";
187 $ret.="FIPS_CC=\$(CC) ";
188 $ret.="FIPS_CC_ARGS=\"-Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\" ";
189 $ret.="FIPS_PREMAIN_DSO= ";
190 $ret.="FIPS_TARGET=$target ";
191 $ret.="FIPS_LIBDIR=\$(FIPSLIB_D) ";
192 $ret.=" \$(FIPSLINK) \$(LFLAGS) $efile$target ";
193 $ret.="\$(APP_EX_OBJ) $files \$(OBJ_D)${o}fips_premain.obj $libs\n\n";
194 }
195 else
196 {
197 $ret.="$target: $files $dep_libs\n";
198 $ret.="\t\$(LINK) \$(LFLAGS) $efile$target ";
199 $ret.="\$(APP_EX_OBJ) $files $libs\n\n";
200 }
201 $ret.="\n";
202 return($ret);
203 }
204
205sub do_rlink_rule
206 {
207 local($target,$files,$check_hash, $deps)=@_;
208 local($ret,$_);
209
210 $file =~ s/\//$o/g if $o ne '/';
211 $n=&bname($targer);
212 $ret.="$target: $check_hash $files $deps\n";
213 $ret.="\t\$(PERL) util${o}checkhash.pl -chdir fips-1.0 -program_path ..$o$check_hash\n";
214 $ret.="\t\$(MKCANISTER) $target $files\n";
215 $ret.="\t$check_hash $target > $target.sha1\n";
216 $ret.="\t\$(CP) fips-1.0${o}fips_premain.c \$(FIPSLIB_D)\n";
217 $ret.="\t$check_hash \$(FIPSLIB_D)${o}fips_premain.c > \$(FIPSLIB_D)${o}fips_premain.c.sha1\n\n";
218 return($ret);
219 }
220
221
2221;
diff --git a/src/lib/libcrypto/util/pl/VC-32.pl b/src/lib/libcrypto/util/pl/VC-32.pl
index 8eb3c6c4bd..c3e29fda96 100644
--- a/src/lib/libcrypto/util/pl/VC-32.pl
+++ b/src/lib/libcrypto/util/pl/VC-32.pl
@@ -4,21 +4,7 @@
4# 4#
5 5
6$ssl= "ssleay32"; 6$ssl= "ssleay32";
7 7$crypto="libeay32";
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 }
22 8
23$o='\\'; 9$o='\\';
24$cp='$(PERL) util/copy.pl'; 10$cp='$(PERL) util/copy.pl';
@@ -27,6 +13,10 @@ $rm='del /Q';
27 13
28$zlib_lib="zlib1.lib"; 14$zlib_lib="zlib1.lib";
29 15
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
30# C compiler stuff 20# C compiler stuff
31$cc='cl'; 21$cc='cl';
32if ($FLAVOR =~ /WIN64/) 22if ($FLAVOR =~ /WIN64/)
@@ -42,14 +32,28 @@ if ($FLAVOR =~ /WIN64/)
42 # per 0.9.8 release remaining warnings were explicitly examined and 32 # per 0.9.8 release remaining warnings were explicitly examined and
43 # considered safe to ignore. 33 # considered safe to ignore.
44 # 34 #
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'; 35 $base_cflags= " $mf_cflag";
46 $base_cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8
47 $base_cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8
48 my $f = $shlib?' /MD':' /MT'; 36 my $f = $shlib?' /MD':' /MT';
49 $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib 37 $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
50 $opt_cflags=$f.' /Ox'; 38 $opt_cflags=$f.' /Ox';
51 $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; 39 $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
52 $lflags="/nologo /subsystem:console /opt:ref"; 40 $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 }
53 } 57 }
54elsif ($FLAVOR =~ /CE/) 58elsif ($FLAVOR =~ /CE/)
55 { 59 {
@@ -99,18 +103,18 @@ elsif ($FLAVOR =~ /CE/)
99 } 103 }
100 104
101 $cc='$(CC)'; 105 $cc='$(CC)';
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'; 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';
103 $base_cflags.=" $wcecdefs"; 107 $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'}));
104 $opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics... 110 $opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics...
105 $dbg_clfags=' /MC /Od -DDEBUG -D_DEBUG'; 111 $dbg_clfags=' /MC /Od -DDEBUG -D_DEBUG';
106 $lflags="/nologo /opt:ref $wcelflag"; 112 $lflags="/nologo /opt:ref $wcelflag";
107 } 113 }
108else # Win32 114else # Win32
109 { 115 {
110 $base_cflags=' /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32'; 116 $base_cflags= " $mf_cflag";
111 $base_cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8 117 my $f = $shlib?' /MD':' /MT';
112 $base_cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8
113 my $f = $shlib || $fips ?' /MD':' /MT';
114 $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib 118 $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
115 $opt_cflags=$f.' /Ox /O2 /Ob2'; 119 $opt_cflags=$f.' /Ox /O2 /Ob2';
116 $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; 120 $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
@@ -118,22 +122,28 @@ else # Win32
118 } 122 }
119$mlflags=''; 123$mlflags='';
120 124
121$out_def="out32"; $out_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); 125$out_def ="out32"; $out_def.="dll" if ($shlib);
122$tmp_def="tmp32"; $tmp_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); 126 $out_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/);
127$tmp_def ="tmp32"; $tmp_def.="dll" if ($shlib);
128 $tmp_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/);
123$inc_def="inc32"; 129$inc_def="inc32";
124 130
125if ($debug) 131if ($debug)
126 { 132 {
127 $cflags=$dbg_cflags.$base_cflags; 133 $cflags=$dbg_cflags.$base_cflags;
128 $lflags.=" /debug";
129 $mlflags.=' /debug';
130 } 134 }
131else 135else
132 { 136 {
133 $cflags=$opt_cflags.$base_cflags; 137 $cflags=$opt_cflags.$base_cflags;
134 } 138 }
135 139
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
136$obj='.obj'; 145$obj='.obj';
146$asm_suffix='.asm';
137$ofile="/Fo"; 147$ofile="/Fo";
138 148
139# EXE linking stuff 149# EXE linking stuff
@@ -143,26 +153,23 @@ $efile="/out:";
143$exep='.exe'; 153$exep='.exe';
144if ($no_sock) { $ex_libs=''; } 154if ($no_sock) { $ex_libs=''; }
145elsif ($FLAVOR =~ /CE/) { $ex_libs='winsock.lib'; } 155elsif ($FLAVOR =~ /CE/) { $ex_libs='winsock.lib'; }
146else { $ex_libs='wsock32.lib'; } 156else { $ex_libs='ws2_32.lib'; }
147 157
148if ($FLAVOR =~ /CE/) 158if ($FLAVOR =~ /CE/)
149 { 159 {
150 $ex_libs.=' $(WCECOMPAT)/lib/wcecompatex.lib'; 160 $ex_libs.=' $(WCECOMPAT)/lib/wcecompatex.lib' if (defined($ENV{'WCECOMPAT'}));
161 $ex_libs.=' $(PORTSDK_LIBPATH)/portlib.lib' if (defined($ENV{'PORTSDK_LIBPATH'}));
151 $ex_libs.=' /nodefaultlib:oldnames.lib coredll.lib corelibc.lib' if ($ENV{'TARGETCPU'} eq "X86"); 162 $ex_libs.=' /nodefaultlib:oldnames.lib coredll.lib corelibc.lib' if ($ENV{'TARGETCPU'} eq "X86");
152 } 163 }
153else 164else
154 { 165 {
155 $ex_libs.=' gdi32.lib crypt32.lib advapi32.lib user32.lib'; 166 $ex_libs.=' gdi32.lib advapi32.lib crypt32.lib user32.lib';
156 $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/); 167 $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/ and `cl 2>&1` =~ /14\.00\.4[0-9]{4}\./);
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/);
157 } 171 }
158 172
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 }
166# static library stuff 173# static library stuff
167$mklib='lib /nologo'; 174$mklib='lib /nologo';
168$ranlib=''; 175$ranlib='';
@@ -173,23 +180,30 @@ $lfile='/out:';
173 180
174$shlib_ex_obj=""; 181$shlib_ex_obj="";
175$app_ex_obj="setargv.obj" if ($FLAVOR !~ /CE/); 182$app_ex_obj="setargv.obj" if ($FLAVOR !~ /CE/);
176if ($nasm) { 183if ($FLAVOR =~ /WIN64A/) {
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) {
177 my $ver=`nasm -v 2>NUL`; 195 my $ver=`nasm -v 2>NUL`;
178 my $vew=`nasmw -v 2>NUL`; 196 my $vew=`nasmw -v 2>NUL`;
179 # pick newest version 197 # pick newest version
180 $asm=($ver gt $vew?"nasm":"nasmw")." -f win32"; 198 $asm=($ver gt $vew?"nasm":"nasmw")." -f win32";
199 $asmtype="win32n";
181 $afile='-o '; 200 $afile='-o ';
182} elsif ($ml64) {
183 $asm='ml64 /c /Cp /Cx';
184 $asm.=' /Zi' if $debug;
185 $afile='/Fo';
186} else { 201} else {
187 $asm='ml /nologo /Cp /coff /c /Cx'; 202 $asm='ml /nologo /Cp /coff /c /Cx /Zi';
188 $asm.=" /Zi" if $debug;
189 $afile='/Fo'; 203 $afile='/Fo';
204 $asmtype="win32";
190} 205}
191 206
192$aes_asm_obj='';
193$bn_asm_obj=''; 207$bn_asm_obj='';
194$bn_asm_src=''; 208$bn_asm_src='';
195$des_enc_obj=''; 209$des_enc_obj='';
@@ -198,56 +212,26 @@ $bf_enc_obj='';
198$bf_enc_src=''; 212$bf_enc_src='';
199 213
200if (!$no_asm) 214if (!$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")
231 { 215 {
232 $aes_asm_obj='$(OBJ_D)\aes-x86_64.obj'; 216 win32_import_asm($mf_bn_asm, "bn", \$bn_asm_obj, \$bn_asm_src);
233 $aes_asm_src='crypto\aes\asm\aes-x86_64.asm'; 217 win32_import_asm($mf_aes_asm, "aes", \$aes_asm_obj, \$aes_asm_src);
234 $bn_asm_obj='$(OBJ_D)\x86_64-mont.obj $(OBJ_D)\bn_asm.obj'; 218 win32_import_asm($mf_des_asm, "des", \$des_enc_obj, \$des_enc_src);
235 $bn_asm_src='crypto\bn\asm\x86_64-mont.asm'; 219 win32_import_asm($mf_bf_asm, "bf", \$bf_enc_obj, \$bf_enc_src);
236 $sha1_asm_obj='$(OBJ_D)\sha1-x86_64.obj $(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj'; 220 win32_import_asm($mf_cast_asm, "cast", \$cast_enc_obj, \$cast_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'; 221 win32_import_asm($mf_rc4_asm, "rc4", \$rc4_enc_obj, \$rc4_enc_src);
238 $cpuid_asm_obj='$(OBJ_D)\cpuid-x86_64.obj'; 222 win32_import_asm($mf_rc5_asm, "rc5", \$rc5_enc_obj, \$rc5_enc_src);
239 $cpuid_asm_src='crypto\cpuid-x86_64.asm'; 223 win32_import_asm($mf_md5_asm, "md5", \$md5_asm_obj, \$md5_asm_src);
240 $cflags.=" -DOPENSSL_CPUID_OBJ -DAES_ASM -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM"; 224 win32_import_asm($mf_sha_asm, "sha", \$sha1_asm_obj, \$sha1_asm_src);
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;
241 } 229 }
242 }
243 230
244if ($shlib && $FLAVOR !~ /CE/) 231if ($shlib && $FLAVOR !~ /CE/)
245 { 232 {
246 $mlflags.=" $lflags /dll"; 233 $mlflags.=" $lflags /dll";
247# $cflags =~ s| /MD| /MT|; 234 $lib_cflag.=" -D_WINDLL";
248 $lib_cflag=" -D_WINDLL";
249 $out_def="out32dll";
250 $tmp_def="tmp32dll";
251 # 235 #
252 # Engage Applink... 236 # Engage Applink...
253 # 237 #
@@ -267,8 +251,8 @@ $(INCO_D)\applink.c: ms\applink.c
267EXHEADER= $(EXHEADER) $(INCO_D)\applink.c 251EXHEADER= $(EXHEADER) $(INCO_D)\applink.c
268 252
269LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj 253LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj
254CRYPTOOBJ=$(OBJ_D)\uplink.obj $(CRYPTOOBJ)
270___ 255___
271$banner .= "CRYPTOOBJ=\$(OBJ_D)\\uplink.obj \$(CRYPTOOBJ)\n";
272 $banner.=<<'___' if ($FLAVOR =~ /WIN64/); 256 $banner.=<<'___' if ($FLAVOR =~ /WIN64/);
273CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ) 257CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ)
274___ 258___
@@ -276,119 +260,35 @@ ___
276elsif ($shlib && $FLAVOR =~ /CE/) 260elsif ($shlib && $FLAVOR =~ /CE/)
277 { 261 {
278 $mlflags.=" $lflags /dll"; 262 $mlflags.=" $lflags /dll";
279 $lib_cflag=" -D_WINDLL -D_DLL"; 263 $lflags.=' /entry:mainCRTstartup' if(defined($ENV{'PORTSDK_LIBPATH'}));
280 $out_def='out32dll_$(TARGETCPU)'; 264 $lib_cflag.=" -D_WINDLL -D_DLL";
281 $tmp_def='tmp32dll_$(TARGETCPU)';
282 } 265 }
283 266
284$cflags.=" /Fd$out_def";
285
286sub do_lib_rule 267sub do_lib_rule
287 { 268 {
288 my($objs,$target,$name,$shlib,$ign,$base_addr) = @_; 269 local($objs,$target,$name,$shlib)=@_;
289 local($ret); 270 local($ret);
290 271
291 $taget =~ s/\//$o/g if $o ne '/'; 272 $taget =~ s/\//$o/g if $o ne '/';
292 my $base_arg; 273 if ($name ne "")
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 "")
306 { 274 {
307 $name =~ tr/a-z/A-Z/; 275 $name =~ tr/a-z/A-Z/;
308 $name = "/def:ms/${name}.def"; 276 $name = "/def:ms/${name}.def";
309 } 277 }
278
310# $target="\$(LIB_D)$o$target"; 279# $target="\$(LIB_D)$o$target";
311# $ret.="$target: $objs\n"; 280 $ret.="$target: $objs\n";
312 if (!$shlib) 281 if (!$shlib)
313 { 282 {
314# $ret.="\t\$(RM) \$(O_$Name)\n"; 283# $ret.="\t\$(RM) \$(O_$Name)\n";
315 $ex =' '; 284 $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs\n<<\n";
316 $ret.="$target: $objs\n";
317 $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs $ex\n<<\n";
318 } 285 }
319 else 286 else
320 { 287 {
321 my $ex = ""; 288 local($ex)=($target =~ /O_CRYPTO/)?'':' $(L_CRYPTO)';
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 }
357 $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/; 289 $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/;
358 290 $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target $name @<<\n \$(SHLIB_EX_OBJ) $objs $ex \$(EX_LIBS)\n<<\n";
359 if ($fips && $target =~ /$fipstarget/) 291 $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;2\n\n";
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";
392 } 292 }
393 $ret.="\n"; 293 $ret.="\n";
394 return($ret); 294 return($ret);
@@ -396,64 +296,43 @@ sub do_lib_rule
396 296
397sub do_link_rule 297sub do_link_rule
398 { 298 {
399 my($target,$files,$dep_libs,$libs,$standalone)=@_; 299 local($target,$files,$dep_libs,$libs)=@_;
400 local($ret,$_); 300 local($ret,$_);
301
401 $file =~ s/\//$o/g if $o ne '/'; 302 $file =~ s/\//$o/g if $o ne '/';
402 $n=&bname($targer); 303 $n=&bname($targer);
403 $ret.="$target: $files $dep_libs\n"; 304 $ret.="$target: $files $dep_libs\n";
404 if ($standalone == 1) 305 $ret.="\t\$(LINK) \$(LFLAGS) $efile$target @<<\n";
405 { 306 $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n";
406 $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n\t"; 307 $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;1\n\n";
407 $ret.= "\$(EX_LIBS) " if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild); 308 return($ret);
408 $ret.="$files $libs\n<<\n"; 309 }
409 } 310
410 elsif ($standalone == 2) 311sub win32_import_asm
312 {
313 my ($mf_var, $asm_name, $oref, $sref) = @_;
314 my $asm_dir;
315 if ($asm_name eq "")
411 { 316 {
412 $ret.="\tSET FIPS_LINK=\$(LINK)\n"; 317 $asm_dir = "crypto\\";
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";
421 } 318 }
422 else 319 else
423 { 320 {
424 $ret.="\t\$(LINK) \$(LFLAGS) $efile$target @<<\n"; 321 $asm_dir = "crypto\\$asm_name\\asm\\";
425 $ret.="\t\$(APP_EX_OBJ) $files $libs\n<<\n";
426 } 322 }
427 $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;1\n\n";
428 return($ret);
429 }
430 323
431sub do_rlink_rule 324 $$oref = "";
432 { 325 $mf_var =~ s/\.o$/.obj/g;
433 local($target,$rl_start, $rl_mid, $rl_end,$dep_libs,$libs)=@_;
434 local($ret,$_);
435 my $files = "$rl_start $rl_mid $rl_end";
436 326
437 $file =~ s/\//$o/g if $o ne '/'; 327 foreach (split(/ /, $mf_var))
438 $n=&bname($targer); 328 {
439 $ret.="$target: $files $dep_libs \$(FIPS_SHA1_EXE)\n"; 329 $$oref .= $asm_dir . $_ . " ";
440 $ret.="\t\$(PERL) ms\\segrenam.pl \$\$a $rl_start\n"; 330 }
441 $ret.="\t\$(PERL) ms\\segrenam.pl \$\$b $rl_mid\n"; 331 $$oref =~ s/ $//;
442 $ret.="\t\$(PERL) ms\\segrenam.pl \$\$c $rl_end\n"; 332 $$sref = $$oref;
443 $ret.="\t\$(MKLIB) $lfile$target @<<\n\t$files\n<<\n"; 333 $$sref =~ s/\.obj/.asm/g;
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);
449 }
450 334
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 } 335 }
458 336
337
4591; 3381;
diff --git a/src/lib/libcrypto/util/pl/VC-CE.pl b/src/lib/libcrypto/util/pl/VC-CE.pl
deleted file mode 100644
index 2fd0c4dd32..0000000000
--- a/src/lib/libcrypto/util/pl/VC-CE.pl
+++ /dev/null
@@ -1,116 +0,0 @@
1#!/usr/local/bin/perl
2# VC-CE.pl - the file for eMbedded Visual C++ 3.0 for windows CE, static libraries
3#
4
5$ssl= "ssleay32";
6$crypto="libeay32";
7$RSAref="RSAref32";
8
9$o='\\';
10$cp='copy nul+'; # Timestamps get stuffed otherwise
11$rm='del';
12
13# C compiler stuff
14$cc='$(CC)';
15$cflags=' /W3 /WX /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo $(WCETARGETDEFS) -DUNICODE -D_UNICODE -DWIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -I$(WCECOMPAT)/include';
16$lflags='/nologo /subsystem:windowsce,$(WCELDVERSION) /machine:$(WCELDMACHINE) /opt:ref';
17$mlflags='';
18
19$out_def='out32_$(TARGETCPU)';
20$tmp_def='tmp32_$(TARGETCPU)';
21$inc_def="inc32";
22
23if ($debug)
24 {
25 $cflags=" /MDd /W3 /WX /Zi /Yd /Od /nologo -DWIN32 -D_DEBUG -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DDEBUG -DDSO_WIN32";
26 $lflags.=" /debug";
27 $mlflags.=' /debug';
28 }
29
30$obj='.obj';
31$ofile="/Fo";
32
33# EXE linking stuff
34$link="link";
35$efile="/out:";
36$exep='.exe';
37if ($no_sock)
38 { $ex_libs=""; }
39else { $ex_libs='winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib $(WCELDFLAGS)'; }
40
41# static library stuff
42$mklib='lib';
43$ranlib='';
44$plib="";
45$libp=".lib";
46$shlibp=($shlib)?".dll":".lib";
47$lfile='/out:';
48
49$shlib_ex_obj="";
50$app_ex_obj="";
51$app_ex_obj="";
52
53$bn_asm_obj='';
54$bn_asm_src='';
55$des_enc_obj='';
56$des_enc_src='';
57$bf_enc_obj='';
58$bf_enc_src='';
59
60if ($shlib)
61 {
62 $mlflags.=" $lflags /dll";
63# $cflags =~ s| /MD| /MT|;
64 $lib_cflag=" -D_WINDLL -D_DLL";
65 $out_def='out32dll_$(TARGETCPU)';
66 $tmp_def='tmp32dll_$(TARGETCPU)';
67 }
68
69$cflags.=" /Fd$out_def";
70
71sub do_lib_rule
72 {
73 local($objs,$target,$name,$shlib)=@_;
74 local($ret,$Name);
75
76 $taget =~ s/\//$o/g if $o ne '/';
77 ($Name=$name) =~ tr/a-z/A-Z/;
78
79# $target="\$(LIB_D)$o$target";
80 $ret.="$target: $objs\n";
81 if (!$shlib)
82 {
83# $ret.="\t\$(RM) \$(O_$Name)\n";
84 $ex =' ';
85 $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs $ex\n<<\n";
86 }
87 else
88 {
89 local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':'';
90# $ex.=' winsock.lib coredll.lib $(WCECOMPAT)/lib/wcecompatex.lib';
91 $ex.=' winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib';
92 $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n";
93 }
94 $ret.="\n";
95 return($ret);
96 }
97
98sub do_link_rule
99 {
100 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
101 local($ret,$_);
102
103 $file =~ s/\//$o/g if $o ne '/';
104 $n=&bname($targer);
105 $ret.="$target: $files $dep_libs\n";
106 $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n";
107 $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n";
108 if (defined $sha1file)
109 {
110 $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
111 }
112 $ret.="\n";
113 return($ret);
114 }
115
1161;
diff --git a/src/lib/libcrypto/util/pod2man.pl b/src/lib/libcrypto/util/pod2man.pl
index 546d1ec186..025d914f2e 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\s+comment\b/; # It is OK to have =for comment before NAME 428 next if /^=(for|begin|end)\s+comment\b/; # It is OK to have =for =begin or =end 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 4790e08f8a..da39899cb1 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; then 4if test "$OSTYPE" = msdosdjgpp || test "x$PLATFORM" = xmingw ; 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 4778c5ab01..7b32e9f4ff 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 <errno.h>\nmain(){printf(\"Hello world\\n\");}\n"; 81 print TEST "#include <stdio.h>\n#include <stdlib.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 <openssl/opensslv.h>\nmain(){printf(OPENSSL_VERSION_TEXT);}\n"; 99 print TEST "#include <stdio.h>\n#include <stdlib.h>\n#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 2055cc1597..15a58e7b13 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 101SSLv2_client_method 113 EXIST::FUNCTION:RSA,SSL2
102SSLv2_method 114 EXIST::FUNCTION:RSA 102SSLv2_method 114 EXIST::FUNCTION:RSA,SSL2
103SSLv2_server_method 115 EXIST::FUNCTION:RSA 103SSLv2_server_method 115 EXIST::FUNCTION:RSA,SSL2
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 EXIST::FUNCTION: 120SSL_SESSION_cmp 132 NOEXIST::FUNCTION:
121SSL_SESSION_hash 133 EXIST::FUNCTION: 121SSL_SESSION_hash 133 NOEXIST::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,3 +242,20 @@ 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: