diff options
Diffstat (limited to 'src/lib/libcrypto/util')
55 files changed, 12347 insertions, 2 deletions
diff --git a/src/lib/libcrypto/util/FreeBSD.sh b/src/lib/libcrypto/util/FreeBSD.sh new file mode 100644 index 0000000000..db8edfc6aa --- /dev/null +++ b/src/lib/libcrypto/util/FreeBSD.sh | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | perl util/perlpath.pl /usr/bin | ||
| 4 | perl util/ssldir.pl /usr/local | ||
| 5 | perl util/mk1mf.pl FreeBSD >Makefile.FreeBSD | ||
| 6 | perl Configure FreeBSD | ||
diff --git a/src/lib/libcrypto/util/add_cr.pl b/src/lib/libcrypto/util/add_cr.pl new file mode 100644 index 0000000000..c7b62c11ec --- /dev/null +++ b/src/lib/libcrypto/util/add_cr.pl | |||
| @@ -0,0 +1,123 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # This adds a copyright message to a souce code file. | ||
| 4 | # It also gets the file name correct. | ||
| 5 | # | ||
| 6 | # perl util/add_cr.pl *.[ch] */*.[ch] */*/*.[ch] | ||
| 7 | # | ||
| 8 | |||
| 9 | foreach (@ARGV) | ||
| 10 | { | ||
| 11 | &dofile($_); | ||
| 12 | } | ||
| 13 | |||
| 14 | sub dofile | ||
| 15 | { | ||
| 16 | local($file)=@_; | ||
| 17 | |||
| 18 | open(IN,"<$file") || die "unable to open $file:$!\n"; | ||
| 19 | |||
| 20 | print STDERR "doing $file\n"; | ||
| 21 | @in=<IN>; | ||
| 22 | |||
| 23 | return(1) if ($in[0] =~ / NOCW /); | ||
| 24 | |||
| 25 | @out=(); | ||
| 26 | open(OUT,">$file.out") || die "unable to open $file.$$:$!\n"; | ||
| 27 | push(@out,"/* $file */\n"); | ||
| 28 | if (($in[1] !~ /^\/\* Copyright \(C\) [0-9-]+ Eric Young \(eay\@cryptsoft.com\)/)) | ||
| 29 | { | ||
| 30 | push(@out,&Copyright); | ||
| 31 | $i=2; | ||
| 32 | @a=grep(/ Copyright \(C\) /,@in); | ||
| 33 | if ($#a >= 0) | ||
| 34 | { | ||
| 35 | while (($i <= $#in) && ($in[$i] ne " */\n")) | ||
| 36 | { $i++; } | ||
| 37 | $i++ if ($in[$i] eq " */\n"); | ||
| 38 | |||
| 39 | while (($i <= $#in) && ($in[$i] =~ /^\s*$/)) | ||
| 40 | { $i++; } | ||
| 41 | |||
| 42 | push(@out,"\n"); | ||
| 43 | for ( ; $i <= $#in; $i++) | ||
| 44 | { push(@out,$in[$i]); } | ||
| 45 | } | ||
| 46 | else | ||
| 47 | { push(@out,@in); } | ||
| 48 | } | ||
| 49 | else | ||
| 50 | { | ||
| 51 | shift(@in); | ||
| 52 | push(@out,@in); | ||
| 53 | } | ||
| 54 | print OUT @out; | ||
| 55 | close(IN); | ||
| 56 | close(OUT); | ||
| 57 | rename("$file","$file.orig") || die "unable to rename $file:$!\n"; | ||
| 58 | rename("$file.out",$file) || die "unable to rename $file.out:$!\n"; | ||
| 59 | } | ||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | sub Copyright | ||
| 64 | { | ||
| 65 | return <<'EOF'; | ||
| 66 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
| 67 | * All rights reserved. | ||
| 68 | * | ||
| 69 | * This package is an SSL implementation written | ||
| 70 | * by Eric Young (eay@cryptsoft.com). | ||
| 71 | * The implementation was written so as to conform with Netscapes SSL. | ||
| 72 | * | ||
| 73 | * This library is free for commercial and non-commercial use as long as | ||
| 74 | * the following conditions are aheared to. The following conditions | ||
| 75 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
| 76 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
| 77 | * included with this distribution is covered by the same copyright terms | ||
| 78 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
| 79 | * | ||
| 80 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
| 81 | * the code are not to be removed. | ||
| 82 | * If this package is used in a product, Eric Young should be given attribution | ||
| 83 | * as the author of the parts of the library used. | ||
| 84 | * This can be in the form of a textual message at program startup or | ||
| 85 | * in documentation (online or textual) provided with the package. | ||
| 86 | * | ||
| 87 | * Redistribution and use in source and binary forms, with or without | ||
| 88 | * modification, are permitted provided that the following conditions | ||
| 89 | * are met: | ||
| 90 | * 1. Redistributions of source code must retain the copyright | ||
| 91 | * notice, this list of conditions and the following disclaimer. | ||
| 92 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 93 | * notice, this list of conditions and the following disclaimer in the | ||
| 94 | * documentation and/or other materials provided with the distribution. | ||
| 95 | * 3. All advertising materials mentioning features or use of this software | ||
| 96 | * must display the following acknowledgement: | ||
| 97 | * "This product includes cryptographic software written by | ||
| 98 | * Eric Young (eay@cryptsoft.com)" | ||
| 99 | * The word 'cryptographic' can be left out if the rouines from the library | ||
| 100 | * being used are not cryptographic related :-). | ||
| 101 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
| 102 | * the apps directory (application code) you must include an acknowledgement: | ||
| 103 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
| 104 | * | ||
| 105 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
| 106 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 107 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 108 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 109 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 110 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 111 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 112 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 113 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 114 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 115 | * SUCH DAMAGE. | ||
| 116 | * | ||
| 117 | * The licence and distribution terms for any publically available version or | ||
| 118 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
| 119 | * copied and put under another distribution licence | ||
| 120 | * [including the GNU Public Licence.] | ||
| 121 | */ | ||
| 122 | EOF | ||
| 123 | } | ||
diff --git a/src/lib/libcrypto/util/arx.pl b/src/lib/libcrypto/util/arx.pl new file mode 100644 index 0000000000..ce62625c33 --- /dev/null +++ b/src/lib/libcrypto/util/arx.pl | |||
| @@ -0,0 +1,15 @@ | |||
| 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 | |||
| 6 | map { s/^.*\/([^\/]*)$/$1/ ; $EXCL{$_} = 1} split(' ', $ENV{EXCL_OBJ}); | ||
| 7 | |||
| 8 | #my @ks = keys %EXCL; | ||
| 9 | #print STDERR "Excluding: @ks \n"; | ||
| 10 | |||
| 11 | my @ARGS = grep { !exists $EXCL{$_} } @ARGV; | ||
| 12 | |||
| 13 | system @ARGS; | ||
| 14 | |||
| 15 | exit $? >> 8; | ||
diff --git a/src/lib/libcrypto/util/bat.sh b/src/lib/libcrypto/util/bat.sh new file mode 100644 index 0000000000..4d9a8287d0 --- /dev/null +++ b/src/lib/libcrypto/util/bat.sh | |||
| @@ -0,0 +1,134 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | |||
| 3 | $infile="/home/eay/ssl/SSLeay/MINFO"; | ||
| 4 | |||
| 5 | open(IN,"<$infile") || die "unable to open $infile:$!\n"; | ||
| 6 | $_=<IN>; | ||
| 7 | for (;;) | ||
| 8 | { | ||
| 9 | chop; | ||
| 10 | |||
| 11 | ($key,$val)=/^([^=]+)=(.*)/; | ||
| 12 | if ($key eq "RELATIVE_DIRECTORY") | ||
| 13 | { | ||
| 14 | if ($lib ne "") | ||
| 15 | { | ||
| 16 | $uc=$lib; | ||
| 17 | $uc =~ s/^lib(.*)\.a/$1/; | ||
| 18 | $uc =~ tr/a-z/A-Z/; | ||
| 19 | $lib_nam{$uc}=$uc; | ||
| 20 | $lib_obj{$uc}.=$libobj." "; | ||
| 21 | } | ||
| 22 | last if ($val eq "FINISHED"); | ||
| 23 | $lib=""; | ||
| 24 | $libobj=""; | ||
| 25 | $dir=$val; | ||
| 26 | } | ||
| 27 | |||
| 28 | if ($key eq "TEST") | ||
| 29 | { $test.=&var_add($dir,$val); } | ||
| 30 | |||
| 31 | if (($key eq "PROGS") || ($key eq "E_OBJ")) | ||
| 32 | { $e_exe.=&var_add($dir,$val); } | ||
| 33 | |||
| 34 | if ($key eq "LIB") | ||
| 35 | { | ||
| 36 | $lib=$val; | ||
| 37 | $lib =~ s/^.*\/([^\/]+)$/$1/; | ||
| 38 | } | ||
| 39 | |||
| 40 | if ($key eq "EXHEADER") | ||
| 41 | { $exheader.=&var_add($dir,$val); } | ||
| 42 | |||
| 43 | if ($key eq "HEADER") | ||
| 44 | { $header.=&var_add($dir,$val); } | ||
| 45 | |||
| 46 | if ($key eq "LIBSRC") | ||
| 47 | { $libsrc.=&var_add($dir,$val); } | ||
| 48 | |||
| 49 | if (!($_=<IN>)) | ||
| 50 | { $_="RELATIVE_DIRECTORY=FINISHED\n"; } | ||
| 51 | } | ||
| 52 | close(IN); | ||
| 53 | |||
| 54 | @a=split(/\s+/,$libsrc); | ||
| 55 | foreach (@a) | ||
| 56 | { | ||
| 57 | print "${_}.c\n"; | ||
| 58 | } | ||
| 59 | |||
| 60 | sub var_add | ||
| 61 | { | ||
| 62 | local($dir,$val)=@_; | ||
| 63 | local(@a,$_,$ret); | ||
| 64 | |||
| 65 | return("") if $no_engine && $dir =~ /\/engine/; | ||
| 66 | return("") if $no_idea && $dir =~ /\/idea/; | ||
| 67 | return("") if $no_rc2 && $dir =~ /\/rc2/; | ||
| 68 | return("") if $no_rc4 && $dir =~ /\/rc4/; | ||
| 69 | return("") if $no_rsa && $dir =~ /\/rsa/; | ||
| 70 | return("") if $no_rsa && $dir =~ /^rsaref/; | ||
| 71 | return("") if $no_dsa && $dir =~ /\/dsa/; | ||
| 72 | return("") if $no_dh && $dir =~ /\/dh/; | ||
| 73 | if ($no_des && $dir =~ /\/des/) | ||
| 74 | { | ||
| 75 | if ($val =~ /read_pwd/) | ||
| 76 | { return("$dir/read_pwd "); } | ||
| 77 | else | ||
| 78 | { return(""); } | ||
| 79 | } | ||
| 80 | return("") if $no_mdc2 && $dir =~ /\/mdc2/; | ||
| 81 | return("") if $no_sock && $dir =~ /\/proxy/; | ||
| 82 | return("") if $no_bf && $dir =~ /\/bf/; | ||
| 83 | return("") if $no_cast && $dir =~ /\/cast/; | ||
| 84 | |||
| 85 | $val =~ s/^\s*(.*)\s*$/$1/; | ||
| 86 | @a=split(/\s+/,$val); | ||
| 87 | grep(s/\.[och]$//,@a); | ||
| 88 | |||
| 89 | @a=grep(!/^e_.*_3d$/,@a) if $no_des; | ||
| 90 | @a=grep(!/^e_.*_d$/,@a) if $no_des; | ||
| 91 | @a=grep(!/^e_.*_i$/,@a) if $no_idea; | ||
| 92 | @a=grep(!/^e_.*_r2$/,@a) if $no_rc2; | ||
| 93 | @a=grep(!/^e_.*_bf$/,@a) if $no_bf; | ||
| 94 | @a=grep(!/^e_.*_c$/,@a) if $no_cast; | ||
| 95 | @a=grep(!/^e_rc4$/,@a) if $no_rc4; | ||
| 96 | |||
| 97 | @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2; | ||
| 98 | @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3; | ||
| 99 | |||
| 100 | @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock; | ||
| 101 | |||
| 102 | @a=grep(!/(^md2)|(_md2$)/,@a) if $no_md2; | ||
| 103 | @a=grep(!/(^md5)|(_md5$)/,@a) if $no_md5; | ||
| 104 | |||
| 105 | @a=grep(!/(^d2i_r_)|(^i2d_r_)/,@a) if $no_rsa; | ||
| 106 | @a=grep(!/(^p_open$)|(^p_seal$)/,@a) if $no_rsa; | ||
| 107 | @a=grep(!/(^pem_seal$)/,@a) if $no_rsa; | ||
| 108 | |||
| 109 | @a=grep(!/(m_dss$)|(m_dss1$)/,@a) if $no_dsa; | ||
| 110 | @a=grep(!/(^d2i_s_)|(^i2d_s_)|(_dsap$)/,@a) if $no_dsa; | ||
| 111 | |||
| 112 | @a=grep(!/^n_pkey$/,@a) if $no_rsa || $no_rc4; | ||
| 113 | |||
| 114 | @a=grep(!/_dhp$/,@a) if $no_dh; | ||
| 115 | |||
| 116 | @a=grep(!/(^sha[^1])|(_sha$)|(m_dss$)/,@a) if $no_sha; | ||
| 117 | @a=grep(!/(^sha1)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1; | ||
| 118 | @a=grep(!/_mdc2$/,@a) if $no_mdc2; | ||
| 119 | |||
| 120 | @a=grep(!/^engine$/,@a) if $no_engine; | ||
| 121 | @a=grep(!/(^rsa$)|(^genrsa$)|(^req$)|(^ca$)/,@a) if $no_rsa; | ||
| 122 | @a=grep(!/(^dsa$)|(^gendsa$)|(^dsaparam$)/,@a) if $no_dsa; | ||
| 123 | @a=grep(!/^gendsa$/,@a) if $no_sha1; | ||
| 124 | @a=grep(!/(^dh$)|(^gendh$)/,@a) if $no_dh; | ||
| 125 | |||
| 126 | @a=grep(!/(^dh)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1; | ||
| 127 | |||
| 128 | grep($_="$dir/$_",@a); | ||
| 129 | @a=grep(!/(^|\/)s_/,@a) if $no_sock; | ||
| 130 | @a=grep(!/(^|\/)bio_sock/,@a) if $no_sock; | ||
| 131 | $ret=join(' ',@a)." "; | ||
| 132 | return($ret); | ||
| 133 | } | ||
| 134 | |||
diff --git a/src/lib/libcrypto/util/checkhash.pl b/src/lib/libcrypto/util/checkhash.pl new file mode 100644 index 0000000000..c61fa72178 --- /dev/null +++ b/src/lib/libcrypto/util/checkhash.pl | |||
| @@ -0,0 +1,222 @@ | |||
| 1 | #!/usr/bin/env perl -w | ||
| 2 | |||
| 3 | my $package = caller; | ||
| 4 | |||
| 5 | if (!(defined $package)) | ||
| 6 | { | ||
| 7 | my $retval = check_hashes(@ARGV); | ||
| 8 | exit $retval; | ||
| 9 | } | ||
| 10 | |||
| 11 | 1; | ||
| 12 | |||
| 13 | sub 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 | |||
| 217 | sub 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 new file mode 100644 index 0000000000..344b422c34 --- /dev/null +++ b/src/lib/libcrypto/util/ck_errf.pl | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # This is just a quick script to scan for cases where the 'error' | ||
| 4 | # function name in a XXXerr() macro is wrong. | ||
| 5 | # | ||
| 6 | # Run in the top level by going | ||
| 7 | # perl util/ck_errf.pl */*.c */*/*.c | ||
| 8 | # | ||
| 9 | |||
| 10 | foreach $file (@ARGV) | ||
| 11 | { | ||
| 12 | open(IN,"<$file") || die "unable to open $file\n"; | ||
| 13 | $func=""; | ||
| 14 | while (<IN>) | ||
| 15 | { | ||
| 16 | if (!/;$/ && /^([a-zA-Z].*[\s*])?([A-Za-z_0-9]+)\(.*[),]/) | ||
| 17 | { | ||
| 18 | /^([^()]*(\([^()]*\)[^()]*)*)\(/; | ||
| 19 | $1 =~ /([A-Za-z_0-9]*)$/; | ||
| 20 | $func = $1; | ||
| 21 | $func =~ tr/A-Z/a-z/; | ||
| 22 | } | ||
| 23 | if (/([A-Z0-9]+)err\(([^,]+)/) | ||
| 24 | { | ||
| 25 | $errlib=$1; | ||
| 26 | $n=$2; | ||
| 27 | |||
| 28 | if ($func eq "") | ||
| 29 | { print "$file:$.:???:$n\n"; next; } | ||
| 30 | |||
| 31 | if ($n !~ /([^_]+)_F_(.+)$/) | ||
| 32 | { | ||
| 33 | # print "check -$file:$.:$func:$n\n"; | ||
| 34 | next; | ||
| 35 | } | ||
| 36 | $lib=$1; | ||
| 37 | $n=$2; | ||
| 38 | |||
| 39 | if ($lib ne $errlib) | ||
| 40 | { print "$file:$.:$func:$n [${errlib}err]\n"; next; } | ||
| 41 | |||
| 42 | $n =~ tr/A-Z/a-z/; | ||
| 43 | if (($n ne $func) && ($errlib ne "SYS")) | ||
| 44 | { print "$file:$.:$func:$n\n"; next; } | ||
| 45 | # print "$func:$1\n"; | ||
| 46 | } | ||
| 47 | } | ||
| 48 | close(IN); | ||
| 49 | } | ||
| 50 | |||
diff --git a/src/lib/libcrypto/util/clean-depend.pl b/src/lib/libcrypto/util/clean-depend.pl new file mode 100644 index 0000000000..2b2bdb4048 --- /dev/null +++ b/src/lib/libcrypto/util/clean-depend.pl | |||
| @@ -0,0 +1,57 @@ | |||
| 1 | #!/usr/local/bin/perl -w | ||
| 2 | # Clean the dependency list in a makefile of standard includes... | ||
| 3 | # Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999 | ||
| 4 | |||
| 5 | use strict; | ||
| 6 | |||
| 7 | while(<STDIN>) { | ||
| 8 | print; | ||
| 9 | last if /^# DO NOT DELETE THIS LINE/; | ||
| 10 | } | ||
| 11 | |||
| 12 | my %files; | ||
| 13 | |||
| 14 | my $thisfile=""; | ||
| 15 | while(<STDIN>) { | ||
| 16 | my ($dummy, $file,$deps)=/^((.*):)? (.*)$/; | ||
| 17 | my $origfile=""; | ||
| 18 | $thisfile=$file if defined $file; | ||
| 19 | next if !defined $deps; | ||
| 20 | $origfile=$thisfile; | ||
| 21 | $origfile=~s/\.o$/.c/; | ||
| 22 | my @deps=split ' ',$deps; | ||
| 23 | @deps=grep(!/^\//,@deps); | ||
| 24 | @deps=grep(!/^\\$/,@deps); | ||
| 25 | @deps=grep(!/^$origfile$/,@deps); | ||
| 26 | # pull out the kludged kerberos header (if present). | ||
| 27 | @deps=grep(!/^[.\/]+\/krb5.h/,@deps); | ||
| 28 | push @{$files{$thisfile}},@deps; | ||
| 29 | } | ||
| 30 | |||
| 31 | my $file; | ||
| 32 | foreach $file (sort keys %files) { | ||
| 33 | my $len=0; | ||
| 34 | my $dep; | ||
| 35 | my $origfile=$file; | ||
| 36 | $origfile=~s/\.o$/.c/; | ||
| 37 | $file=~s/^\.\///; | ||
| 38 | push @{$files{$file}},$origfile; | ||
| 39 | my $prevdep=""; | ||
| 40 | |||
| 41 | # Remove leading ./ before sorting | ||
| 42 | my @deps = map { $_ =~ s/^\.\///; $_ } @{$files{$file}}; | ||
| 43 | |||
| 44 | foreach $dep (sort @deps) { | ||
| 45 | next if $prevdep eq $dep; # to exterminate duplicates... | ||
| 46 | $prevdep = $dep; | ||
| 47 | $len=0 if $len+length($dep)+1 >= 80; | ||
| 48 | if($len == 0) { | ||
| 49 | print "\n$file:"; | ||
| 50 | $len=length($file)+1; | ||
| 51 | } | ||
| 52 | print " $dep"; | ||
| 53 | $len+=length($dep)+1; | ||
| 54 | } | ||
| 55 | } | ||
| 56 | |||
| 57 | print "\n"; | ||
diff --git a/src/lib/libcrypto/util/copy.pl b/src/lib/libcrypto/util/copy.pl new file mode 100644 index 0000000000..eba6d5815e --- /dev/null +++ b/src/lib/libcrypto/util/copy.pl | |||
| @@ -0,0 +1,70 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | |||
| 3 | use Fcntl; | ||
| 4 | |||
| 5 | |||
| 6 | # copy.pl | ||
| 7 | |||
| 8 | # Perl script 'copy' comment. On Windows the built in "copy" command also | ||
| 9 | # copies timestamps: this messes up Makefile dependencies. | ||
| 10 | |||
| 11 | my $stripcr = 0; | ||
| 12 | |||
| 13 | my $arg; | ||
| 14 | |||
| 15 | foreach $arg (@ARGV) { | ||
| 16 | if ($arg eq "-stripcr") | ||
| 17 | { | ||
| 18 | $stripcr = 1; | ||
| 19 | next; | ||
| 20 | } | ||
| 21 | $arg =~ s|\\|/|g; # compensate for bug/feature in cygwin glob... | ||
| 22 | foreach (glob $arg) | ||
| 23 | { | ||
| 24 | push @filelist, $_; | ||
| 25 | } | ||
| 26 | } | ||
| 27 | |||
| 28 | $fnum = @filelist; | ||
| 29 | |||
| 30 | if ($fnum <= 1) | ||
| 31 | { | ||
| 32 | die "Need at least two filenames"; | ||
| 33 | } | ||
| 34 | |||
| 35 | $dest = pop @filelist; | ||
| 36 | |||
| 37 | if ($fnum > 2 && ! -d $dest) | ||
| 38 | { | ||
| 39 | die "Destination must be a directory"; | ||
| 40 | } | ||
| 41 | |||
| 42 | foreach (@filelist) | ||
| 43 | { | ||
| 44 | if (-d $dest) | ||
| 45 | { | ||
| 46 | $dfile = $_; | ||
| 47 | $dfile =~ s|^.*[/\\]([^/\\]*)$|$1|; | ||
| 48 | $dfile = "$dest/$dfile"; | ||
| 49 | } | ||
| 50 | else | ||
| 51 | { | ||
| 52 | $dfile = $dest; | ||
| 53 | } | ||
| 54 | sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_"; | ||
| 55 | sysopen(OUT, $dfile, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY) | ||
| 56 | || die "Can't Open $dfile"; | ||
| 57 | while (sysread IN, $buf, 10240) | ||
| 58 | { | ||
| 59 | if ($stripcr) | ||
| 60 | { | ||
| 61 | $buf =~ tr/\015//d; | ||
| 62 | } | ||
| 63 | syswrite(OUT, $buf, length($buf)); | ||
| 64 | } | ||
| 65 | close(IN); | ||
| 66 | close(OUT); | ||
| 67 | print "Copying: $_ to $dfile\n"; | ||
| 68 | } | ||
| 69 | |||
| 70 | |||
diff --git a/src/lib/libcrypto/util/cygwin.sh b/src/lib/libcrypto/util/cygwin.sh new file mode 100644 index 0000000000..89d1dda95b --- /dev/null +++ b/src/lib/libcrypto/util/cygwin.sh | |||
| @@ -0,0 +1,141 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | # | ||
| 3 | # This script configures, builds and packs the binary package for | ||
| 4 | # the Cygwin net distribution version of OpenSSL | ||
| 5 | # | ||
| 6 | |||
| 7 | # Uncomment when debugging | ||
| 8 | #set -x | ||
| 9 | |||
| 10 | CONFIG_OPTIONS="--prefix=/usr shared no-idea no-rc5 no-mdc2" | ||
| 11 | INSTALL_PREFIX=/tmp/install | ||
| 12 | |||
| 13 | VERSION= | ||
| 14 | SUBVERSION=$1 | ||
| 15 | |||
| 16 | function cleanup() | ||
| 17 | { | ||
| 18 | rm -rf ${INSTALL_PREFIX}/etc | ||
| 19 | rm -rf ${INSTALL_PREFIX}/usr | ||
| 20 | } | ||
| 21 | |||
| 22 | function get_openssl_version() | ||
| 23 | { | ||
| 24 | eval `grep '^VERSION=' Makefile` | ||
| 25 | if [ -z "${VERSION}" ] | ||
| 26 | then | ||
| 27 | echo "Error: Couldn't retrieve OpenSSL version from Makefile." | ||
| 28 | echo " Check value of variable VERSION in Makefile." | ||
| 29 | exit 1 | ||
| 30 | fi | ||
| 31 | } | ||
| 32 | |||
| 33 | function base_install() | ||
| 34 | { | ||
| 35 | mkdir -p ${INSTALL_PREFIX} | ||
| 36 | cleanup | ||
| 37 | make install INSTALL_PREFIX="${INSTALL_PREFIX}" | ||
| 38 | } | ||
| 39 | |||
| 40 | function doc_install() | ||
| 41 | { | ||
| 42 | DOC_DIR=${INSTALL_PREFIX}/usr/share/doc/openssl | ||
| 43 | |||
| 44 | mkdir -p ${DOC_DIR} | ||
| 45 | cp CHANGES CHANGES.SSLeay INSTALL LICENSE NEWS README ${DOC_DIR} | ||
| 46 | |||
| 47 | create_cygwin_readme | ||
| 48 | } | ||
| 49 | |||
| 50 | function certs_install() | ||
| 51 | { | ||
| 52 | CERTS_DIR=${INSTALL_PREFIX}/usr/ssl/certs | ||
| 53 | |||
| 54 | mkdir -p ${CERTS_DIR} | ||
| 55 | cp -rp certs/* ${CERTS_DIR} | ||
| 56 | } | ||
| 57 | |||
| 58 | function create_cygwin_readme() | ||
| 59 | { | ||
| 60 | README_DIR=${INSTALL_PREFIX}/usr/share/doc/Cygwin | ||
| 61 | README_FILE=${README_DIR}/openssl-${VERSION}.README | ||
| 62 | |||
| 63 | mkdir -p ${README_DIR} | ||
| 64 | cat > ${README_FILE} <<- EOF | ||
| 65 | The Cygwin version has been built using the following configure: | ||
| 66 | |||
| 67 | ./config ${CONFIG_OPTIONS} | ||
| 68 | |||
| 69 | The IDEA, RC5 and MDC2 algorithms are disabled due to patent and/or | ||
| 70 | licensing issues. | ||
| 71 | EOF | ||
| 72 | } | ||
| 73 | |||
| 74 | function create_profile_files() | ||
| 75 | { | ||
| 76 | PROFILE_DIR=${INSTALL_PREFIX}/etc/profile.d | ||
| 77 | |||
| 78 | mkdir -p $PROFILE_DIR | ||
| 79 | cat > ${PROFILE_DIR}/openssl.sh <<- "EOF" | ||
| 80 | export MANPATH="${MANPATH}:/usr/ssl/man" | ||
| 81 | EOF | ||
| 82 | cat > ${PROFILE_DIR}/openssl.csh <<- "EOF" | ||
| 83 | if ( $?MANPATH ) then | ||
| 84 | setenv MANPATH "${MANPATH}:/usr/ssl/man" | ||
| 85 | else | ||
| 86 | setenv MANPATH ":/usr/ssl/man" | ||
| 87 | endif | ||
| 88 | EOF | ||
| 89 | } | ||
| 90 | |||
| 91 | if [ -z "${SUBVERSION}" ] | ||
| 92 | then | ||
| 93 | echo "Usage: $0 subversion" | ||
| 94 | exit 1 | ||
| 95 | fi | ||
| 96 | |||
| 97 | if [ ! -f config ] | ||
| 98 | then | ||
| 99 | echo "You must start this script in the OpenSSL toplevel source dir." | ||
| 100 | exit 1 | ||
| 101 | fi | ||
| 102 | |||
| 103 | ./config ${CONFIG_OPTIONS} | ||
| 104 | |||
| 105 | get_openssl_version | ||
| 106 | |||
| 107 | make depend || exit 1 | ||
| 108 | |||
| 109 | make || exit 1 | ||
| 110 | |||
| 111 | base_install | ||
| 112 | |||
| 113 | doc_install | ||
| 114 | |||
| 115 | certs_install | ||
| 116 | |||
| 117 | create_cygwin_readme | ||
| 118 | |||
| 119 | create_profile_files | ||
| 120 | |||
| 121 | cd ${INSTALL_PREFIX} | ||
| 122 | chmod u+w usr/lib/engines/*.so | ||
| 123 | strip usr/bin/*.exe usr/bin/*.dll usr/lib/engines/*.so | ||
| 124 | chmod u-w usr/lib/engines/*.so | ||
| 125 | |||
| 126 | # Runtime package | ||
| 127 | find etc usr/bin usr/lib/engines usr/share/doc usr/ssl/certs \ | ||
| 128 | usr/ssl/man/man[157] usr/ssl/misc usr/ssl/openssl.cnf usr/ssl/private \ | ||
| 129 | -empty -o \! -type d | | ||
| 130 | tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 - | ||
| 131 | # Development package | ||
| 132 | find usr/include usr/lib/*.a usr/lib/pkgconfig usr/ssl/man/man3 \ | ||
| 133 | -empty -o \! -type d | | ||
| 134 | tar cjfT openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 - | ||
| 135 | |||
| 136 | ls -l openssl-${VERSION}-${SUBVERSION}.tar.bz2 | ||
| 137 | ls -l openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 | ||
| 138 | |||
| 139 | cleanup | ||
| 140 | |||
| 141 | exit 0 | ||
diff --git a/src/lib/libcrypto/util/deleof.pl b/src/lib/libcrypto/util/deleof.pl new file mode 100644 index 0000000000..155acd88ff --- /dev/null +++ b/src/lib/libcrypto/util/deleof.pl | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | |||
| 3 | while (<>) | ||
| 4 | { | ||
| 5 | |||
| 6 | last if (/^# DO NOT DELETE THIS LINE/); | ||
| 7 | } | ||
diff --git a/src/lib/libcrypto/util/dirname.pl b/src/lib/libcrypto/util/dirname.pl new file mode 100644 index 0000000000..d7a66d96ac --- /dev/null +++ b/src/lib/libcrypto/util/dirname.pl | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | |||
| 3 | if ($#ARGV < 0) { | ||
| 4 | die "dirname.pl: too few arguments\n"; | ||
| 5 | } elsif ($#ARGV > 0) { | ||
| 6 | die "dirname.pl: too many arguments\n"; | ||
| 7 | } | ||
| 8 | |||
| 9 | my $d = $ARGV[0]; | ||
| 10 | |||
| 11 | if ($d =~ m|.*/.*|) { | ||
| 12 | $d =~ s|/[^/]*$||; | ||
| 13 | } else { | ||
| 14 | $d = "."; | ||
| 15 | } | ||
| 16 | |||
| 17 | print $d,"\n"; | ||
| 18 | exit(0); | ||
diff --git a/src/lib/libcrypto/util/do_ms.sh b/src/lib/libcrypto/util/do_ms.sh new file mode 100644 index 0000000000..515b074cff --- /dev/null +++ b/src/lib/libcrypto/util/do_ms.sh | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # generate the Microsoft makefiles and .def files | ||
| 4 | # | ||
| 5 | |||
| 6 | PATH=util:../util:$PATH | ||
| 7 | |||
| 8 | # perl util/mk1mf.pl no-sock VC-MSDOS >ms/msdos.mak | ||
| 9 | # perl util/mk1mf.pl VC-W31-32 >ms/w31.mak | ||
| 10 | perl util/mk1mf.pl dll VC-WIN16 >ms/w31dll.mak | ||
| 11 | # perl util/mk1mf.pl VC-WIN32 >ms/nt.mak | ||
| 12 | perl util/mk1mf.pl dll VC-WIN32 >ms/ntdll.mak | ||
| 13 | perl util/mk1mf.pl Mingw32 >ms/mingw32.mak | ||
| 14 | perl util/mk1mf.pl Mingw32-files >ms/mingw32f.mak | ||
| 15 | |||
| 16 | perl util/mkdef.pl 16 libeay > ms/libeay16.def | ||
| 17 | perl util/mkdef.pl 32 libeay > ms/libeay32.def | ||
| 18 | perl util/mkdef.pl 16 ssleay > ms/ssleay16.def | ||
| 19 | perl util/mkdef.pl 32 ssleay > ms/ssleay32.def | ||
diff --git a/src/lib/libcrypto/util/domd b/src/lib/libcrypto/util/domd new file mode 100644 index 0000000000..691be7a440 --- /dev/null +++ b/src/lib/libcrypto/util/domd | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Do a makedepend, only leave out the standard headers | ||
| 3 | # Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999 | ||
| 4 | |||
| 5 | TOP=$1 | ||
| 6 | shift | ||
| 7 | if [ "$1" = "-MD" ]; then | ||
| 8 | shift | ||
| 9 | MAKEDEPEND=$1 | ||
| 10 | shift | ||
| 11 | fi | ||
| 12 | if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi | ||
| 13 | |||
| 14 | cp Makefile Makefile.save | ||
| 15 | # fake the presence of Kerberos | ||
| 16 | touch $TOP/krb5.h | ||
| 17 | if [ "$MAKEDEPEND" = "gcc" ]; then | ||
| 18 | args="" | ||
| 19 | while [ $# -gt 0 ]; do | ||
| 20 | if [ "$1" != "--" ]; then args="$args $1"; fi | ||
| 21 | shift | ||
| 22 | done | ||
| 23 | sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp | ||
| 24 | echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp | ||
| 25 | gcc -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp | ||
| 26 | ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new | ||
| 27 | rm -f Makefile.tmp | ||
| 28 | else | ||
| 29 | ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ | ||
| 30 | ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new | ||
| 31 | fi | ||
| 32 | mv Makefile.new Makefile | ||
| 33 | # unfake the presence of Kerberos | ||
| 34 | rm $TOP/krb5.h | ||
diff --git a/src/lib/libcrypto/util/err-ins.pl b/src/lib/libcrypto/util/err-ins.pl new file mode 100644 index 0000000000..31b70df8d0 --- /dev/null +++ b/src/lib/libcrypto/util/err-ins.pl | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # tack error codes onto the end of a file | ||
| 4 | # | ||
| 5 | |||
| 6 | open(ERR,$ARGV[0]) || die "unable to open error file '$ARGV[0]':$!\n"; | ||
| 7 | @err=<ERR>; | ||
| 8 | close(ERR); | ||
| 9 | |||
| 10 | open(IN,$ARGV[1]) || die "unable to open header file '$ARGV[1]':$!\n"; | ||
| 11 | |||
| 12 | @out=""; | ||
| 13 | while (<IN>) | ||
| 14 | { | ||
| 15 | push(@out,$_); | ||
| 16 | last if /BEGIN ERROR CODES/; | ||
| 17 | } | ||
| 18 | close(IN); | ||
| 19 | |||
| 20 | open(OUT,">$ARGV[1]") || die "unable to open header file '$ARGV[1]':$1\n"; | ||
| 21 | print OUT @out; | ||
| 22 | print OUT @err; | ||
| 23 | print OUT <<"EOF"; | ||
| 24 | |||
| 25 | #ifdef __cplusplus | ||
| 26 | } | ||
| 27 | #endif | ||
| 28 | #endif | ||
| 29 | |||
| 30 | EOF | ||
| 31 | close(OUT); | ||
| 32 | |||
| 33 | |||
diff --git a/src/lib/libcrypto/util/extract-names.pl b/src/lib/libcrypto/util/extract-names.pl new file mode 100644 index 0000000000..35bd6ed843 --- /dev/null +++ b/src/lib/libcrypto/util/extract-names.pl | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | #!/usr/bin/perl | ||
| 2 | |||
| 3 | $/ = ""; # Eat a paragraph at once. | ||
| 4 | while(<STDIN>) { | ||
| 5 | chop; | ||
| 6 | s/\n/ /gm; | ||
| 7 | if (/^=head1 /) { | ||
| 8 | $name = 0; | ||
| 9 | } elsif ($name) { | ||
| 10 | if (/ - /) { | ||
| 11 | s/ - .*//; | ||
| 12 | s/,\s+/,/g; | ||
| 13 | s/\s+,/,/g; | ||
| 14 | s/^\s+//g; | ||
| 15 | s/\s+$//g; | ||
| 16 | s/\s/_/g; | ||
| 17 | push @words, split ','; | ||
| 18 | } | ||
| 19 | } | ||
| 20 | if (/^=head1 *NAME *$/) { | ||
| 21 | $name = 1; | ||
| 22 | } | ||
| 23 | } | ||
| 24 | |||
| 25 | print join("\n", @words),"\n"; | ||
| 26 | |||
diff --git a/src/lib/libcrypto/util/extract-section.pl b/src/lib/libcrypto/util/extract-section.pl new file mode 100644 index 0000000000..7a0ba4f69a --- /dev/null +++ b/src/lib/libcrypto/util/extract-section.pl | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | #!/usr/bin/perl | ||
| 2 | |||
| 3 | while(<STDIN>) { | ||
| 4 | if (/=for\s+comment\s+openssl_manual_section:(\S+)/) | ||
| 5 | { | ||
| 6 | print "$1\n"; | ||
| 7 | exit 0; | ||
| 8 | } | ||
| 9 | } | ||
| 10 | |||
| 11 | print "$ARGV[0]\n"; | ||
| 12 | |||
diff --git a/src/lib/libcrypto/util/files.pl b/src/lib/libcrypto/util/files.pl new file mode 100644 index 0000000000..41f033e3b9 --- /dev/null +++ b/src/lib/libcrypto/util/files.pl | |||
| @@ -0,0 +1,61 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # used to generate the file MINFO for use by util/mk1mf.pl | ||
| 4 | # It is basically a list of all variables from the passed makefile | ||
| 5 | # | ||
| 6 | |||
| 7 | $s=""; | ||
| 8 | while (<>) | ||
| 9 | { | ||
| 10 | chop; | ||
| 11 | s/#.*//; | ||
| 12 | if (/^(\S+)\s*=\s*(.*)$/) | ||
| 13 | { | ||
| 14 | $o=""; | ||
| 15 | ($s,$b)=($1,$2); | ||
| 16 | for (;;) | ||
| 17 | { | ||
| 18 | if ($b =~ /\\$/) | ||
| 19 | { | ||
| 20 | chop($b); | ||
| 21 | $o.=$b." "; | ||
| 22 | $b=<>; | ||
| 23 | chop($b); | ||
| 24 | } | ||
| 25 | else | ||
| 26 | { | ||
| 27 | $o.=$b." "; | ||
| 28 | last; | ||
| 29 | } | ||
| 30 | } | ||
| 31 | $o =~ s/^\s+//; | ||
| 32 | $o =~ s/\s+$//; | ||
| 33 | $o =~ s/\s+/ /g; | ||
| 34 | |||
| 35 | $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; | ||
| 36 | $sym{$s}=$o; | ||
| 37 | } | ||
| 38 | } | ||
| 39 | |||
| 40 | $pwd=`pwd`; chop($pwd); | ||
| 41 | |||
| 42 | if ($sym{'TOP'} eq ".") | ||
| 43 | { | ||
| 44 | $n=0; | ||
| 45 | $dir="."; | ||
| 46 | } | ||
| 47 | else { | ||
| 48 | $n=split(/\//,$sym{'TOP'}); | ||
| 49 | @_=split(/\//,$pwd); | ||
| 50 | $z=$#_-$n+1; | ||
| 51 | foreach $i ($z .. $#_) { $dir.=$_[$i]."/"; } | ||
| 52 | chop($dir); | ||
| 53 | } | ||
| 54 | |||
| 55 | print "RELATIVE_DIRECTORY=$dir\n"; | ||
| 56 | |||
| 57 | foreach (sort keys %sym) | ||
| 58 | { | ||
| 59 | print "$_=$sym{$_}\n"; | ||
| 60 | } | ||
| 61 | print "RELATIVE_DIRECTORY=\n"; | ||
diff --git a/src/lib/libcrypto/util/fipslink.pl b/src/lib/libcrypto/util/fipslink.pl new file mode 100644 index 0000000000..3597bc1740 --- /dev/null +++ b/src/lib/libcrypto/util/fipslink.pl | |||
| @@ -0,0 +1,78 @@ | |||
| 1 | #!/usr/bin/perl | ||
| 2 | |||
| 3 | sub 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 | |||
| 15 | my ($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 | |||
| 21 | if (exists $ENV{"PREMAIN_DSO_EXE"}) | ||
| 22 | { | ||
| 23 | $fips_premain_dso = $ENV{"PREMAIN_DSO_EXE"}; | ||
| 24 | } | ||
| 25 | else | ||
| 26 | { | ||
| 27 | $fips_premain_dso = ""; | ||
| 28 | } | ||
| 29 | |||
| 30 | check_hash($sha1_exe, "fips_premain.c"); | ||
| 31 | check_hash($sha1_exe, "fipscanister.lib"); | ||
| 32 | |||
| 33 | |||
| 34 | print "Integrity check OK\n"; | ||
| 35 | |||
| 36 | print "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c\n"; | ||
| 37 | system "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c"; | ||
| 38 | die "First stage Compile failure" if $? != 0; | ||
| 39 | |||
| 40 | print "$fips_link @ARGV\n"; | ||
| 41 | system "$fips_link @ARGV"; | ||
| 42 | die "First stage Link failure" if $? != 0; | ||
| 43 | |||
| 44 | |||
| 45 | print "$fips_premain_dso $fips_target\n"; | ||
| 46 | $fips_hash=`$fips_premain_dso $fips_target`; | ||
| 47 | chomp $fips_hash; | ||
| 48 | die "Get hash failure" if $? != 0; | ||
| 49 | |||
| 50 | |||
| 51 | print "$fips_cc -DHMAC_SHA1_SIG=\\\"$fips_hash\\\" $fips_cc_args $fips_libdir/fips_premain.c\n"; | ||
| 52 | system "$fips_cc -DHMAC_SHA1_SIG=\\\"$fips_hash\\\" $fips_cc_args $fips_libdir/fips_premain.c"; | ||
| 53 | die "Second stage Compile failure" if $? != 0; | ||
| 54 | |||
| 55 | |||
| 56 | print "$fips_link @ARGV\n"; | ||
| 57 | system "$fips_link @ARGV"; | ||
| 58 | die "Second stage Link failure" if $? != 0; | ||
| 59 | |||
| 60 | sub 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/fixNT.sh b/src/lib/libcrypto/util/fixNT.sh new file mode 100644 index 0000000000..ab9e766b86 --- /dev/null +++ b/src/lib/libcrypto/util/fixNT.sh | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # clean up the mess that NT makes of my source tree | ||
| 4 | # | ||
| 5 | |||
| 6 | if [ -f makefile -a ! -f Makefile ]; then | ||
| 7 | /bin/mv makefile Makefile | ||
| 8 | fi | ||
| 9 | chmod +x Configure util/* | ||
| 10 | echo cleaning | ||
| 11 | /bin/rm -f `find . -name '*.$$$' -print` 2>/dev/null >/dev/null | ||
| 12 | echo 'removing those damn ^M' | ||
| 13 | perl -pi -e 's/\015//' `find . -type 'f' -print |grep -v '.obj$' |grep -v '.der$' |grep -v '.gz'` | ||
| 14 | make -f Makefile links | ||
diff --git a/src/lib/libcrypto/util/install.sh b/src/lib/libcrypto/util/install.sh new file mode 100644 index 0000000000..e1d0c982df --- /dev/null +++ b/src/lib/libcrypto/util/install.sh | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # install - install a program, script, or datafile | ||
| 4 | # This comes from X11R5; it is not part of GNU. | ||
| 5 | # | ||
| 6 | # $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $ | ||
| 7 | # | ||
| 8 | # This script is compatible with the BSD install script, but was written | ||
| 9 | # from scratch. | ||
| 10 | # | ||
| 11 | |||
| 12 | |||
| 13 | # set DOITPROG to echo to test this script | ||
| 14 | |||
| 15 | doit="${DOITPROG:-}" | ||
| 16 | |||
| 17 | |||
| 18 | # put in absolute paths if you don't have them in your path; or use env. vars. | ||
| 19 | |||
| 20 | mvprog="${MVPROG:-mv}" | ||
| 21 | cpprog="${CPPROG:-cp}" | ||
| 22 | chmodprog="${CHMODPROG:-chmod}" | ||
| 23 | chownprog="${CHOWNPROG:-chown}" | ||
| 24 | chgrpprog="${CHGRPPROG:-chgrp}" | ||
| 25 | stripprog="${STRIPPROG:-strip}" | ||
| 26 | rmprog="${RMPROG:-rm}" | ||
| 27 | |||
| 28 | instcmd="$mvprog" | ||
| 29 | chmodcmd="" | ||
| 30 | chowncmd="" | ||
| 31 | chgrpcmd="" | ||
| 32 | stripcmd="" | ||
| 33 | rmcmd="$rmprog -f" | ||
| 34 | src="" | ||
| 35 | dst="" | ||
| 36 | |||
| 37 | while [ x"$1" != x ]; do | ||
| 38 | case $1 in | ||
| 39 | -c) instcmd="$cpprog" | ||
| 40 | shift | ||
| 41 | continue;; | ||
| 42 | |||
| 43 | -m) chmodcmd="$chmodprog $2" | ||
| 44 | shift | ||
| 45 | shift | ||
| 46 | continue;; | ||
| 47 | |||
| 48 | -o) chowncmd="$chownprog $2" | ||
| 49 | shift | ||
| 50 | shift | ||
| 51 | continue;; | ||
| 52 | |||
| 53 | -g) chgrpcmd="$chgrpprog $2" | ||
| 54 | shift | ||
| 55 | shift | ||
| 56 | continue;; | ||
| 57 | |||
| 58 | -s) stripcmd="$stripprog" | ||
| 59 | shift | ||
| 60 | continue;; | ||
| 61 | |||
| 62 | *) if [ x"$src" = x ] | ||
| 63 | then | ||
| 64 | src=$1 | ||
| 65 | else | ||
| 66 | dst=$1 | ||
| 67 | fi | ||
| 68 | shift | ||
| 69 | continue;; | ||
| 70 | esac | ||
| 71 | done | ||
| 72 | |||
| 73 | if [ x"$src" = x ] | ||
| 74 | then | ||
| 75 | echo "install: no input file specified" | ||
| 76 | exit 1 | ||
| 77 | fi | ||
| 78 | |||
| 79 | if [ x"$dst" = x ] | ||
| 80 | then | ||
| 81 | echo "install: no destination specified" | ||
| 82 | exit 1 | ||
| 83 | fi | ||
| 84 | |||
| 85 | |||
| 86 | # if destination is a directory, append the input filename; if your system | ||
| 87 | # does not like double slashes in filenames, you may need to add some logic | ||
| 88 | |||
| 89 | if [ -d $dst ] | ||
| 90 | then | ||
| 91 | dst="$dst"/`basename $src` | ||
| 92 | fi | ||
| 93 | |||
| 94 | |||
| 95 | # get rid of the old one and mode the new one in | ||
| 96 | |||
| 97 | $doit $rmcmd $dst | ||
| 98 | $doit $instcmd $src $dst | ||
| 99 | |||
| 100 | |||
| 101 | # and set any options; do chmod last to preserve setuid bits | ||
| 102 | |||
| 103 | if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; fi | ||
| 104 | if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; fi | ||
| 105 | if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; fi | ||
| 106 | if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; fi | ||
| 107 | |||
| 108 | exit 0 | ||
diff --git a/src/lib/libcrypto/util/libeay.num b/src/lib/libcrypto/util/libeay.num new file mode 100644 index 0000000000..62664f3c37 --- /dev/null +++ b/src/lib/libcrypto/util/libeay.num | |||
| @@ -0,0 +1,3702 @@ | |||
| 1 | SSLeay 1 EXIST::FUNCTION: | ||
| 2 | SSLeay_version 2 EXIST::FUNCTION: | ||
| 3 | ASN1_BIT_STRING_asn1_meth 3 EXIST::FUNCTION: | ||
| 4 | ASN1_HEADER_free 4 EXIST::FUNCTION: | ||
| 5 | ASN1_HEADER_new 5 EXIST::FUNCTION: | ||
| 6 | ASN1_IA5STRING_asn1_meth 6 EXIST::FUNCTION: | ||
| 7 | ASN1_INTEGER_get 7 EXIST::FUNCTION: | ||
| 8 | ASN1_INTEGER_set 8 EXIST::FUNCTION: | ||
| 9 | ASN1_INTEGER_to_BN 9 EXIST::FUNCTION: | ||
| 10 | ASN1_OBJECT_create 10 EXIST::FUNCTION: | ||
| 11 | ASN1_OBJECT_free 11 EXIST::FUNCTION: | ||
| 12 | ASN1_OBJECT_new 12 EXIST::FUNCTION: | ||
| 13 | ASN1_PRINTABLE_type 13 EXIST::FUNCTION: | ||
| 14 | ASN1_STRING_cmp 14 EXIST::FUNCTION: | ||
| 15 | ASN1_STRING_dup 15 EXIST::FUNCTION: | ||
| 16 | ASN1_STRING_free 16 EXIST::FUNCTION: | ||
| 17 | ASN1_STRING_new 17 EXIST::FUNCTION: | ||
| 18 | ASN1_STRING_print 18 EXIST::FUNCTION:BIO | ||
| 19 | ASN1_STRING_set 19 EXIST::FUNCTION: | ||
| 20 | ASN1_STRING_type_new 20 EXIST::FUNCTION: | ||
| 21 | ASN1_TYPE_free 21 EXIST::FUNCTION: | ||
| 22 | ASN1_TYPE_new 22 EXIST::FUNCTION: | ||
| 23 | ASN1_UNIVERSALSTRING_to_string 23 EXIST::FUNCTION: | ||
| 24 | ASN1_UTCTIME_check 24 EXIST::FUNCTION: | ||
| 25 | ASN1_UTCTIME_print 25 EXIST::FUNCTION:BIO | ||
| 26 | ASN1_UTCTIME_set 26 EXIST::FUNCTION: | ||
| 27 | ASN1_check_infinite_end 27 EXIST::FUNCTION: | ||
| 28 | ASN1_d2i_bio 28 EXIST::FUNCTION:BIO | ||
| 29 | ASN1_d2i_fp 29 EXIST::FUNCTION:FP_API | ||
| 30 | ASN1_digest 30 EXIST::FUNCTION:EVP | ||
| 31 | ASN1_dup 31 EXIST::FUNCTION: | ||
| 32 | ASN1_get_object 32 EXIST::FUNCTION: | ||
| 33 | ASN1_i2d_bio 33 EXIST::FUNCTION:BIO | ||
| 34 | ASN1_i2d_fp 34 EXIST::FUNCTION:FP_API | ||
| 35 | ASN1_object_size 35 EXIST::FUNCTION: | ||
| 36 | ASN1_parse 36 EXIST::FUNCTION:BIO | ||
| 37 | ASN1_put_object 37 EXIST::FUNCTION: | ||
| 38 | ASN1_sign 38 EXIST::FUNCTION:EVP | ||
| 39 | ASN1_verify 39 EXIST::FUNCTION:EVP | ||
| 40 | BF_cbc_encrypt 40 EXIST::FUNCTION:BF | ||
| 41 | BF_cfb64_encrypt 41 EXIST::FUNCTION:BF | ||
| 42 | BF_ecb_encrypt 42 EXIST::FUNCTION:BF | ||
| 43 | BF_encrypt 43 EXIST::FUNCTION:BF | ||
| 44 | BF_ofb64_encrypt 44 EXIST::FUNCTION:BF | ||
| 45 | BF_options 45 EXIST::FUNCTION:BF | ||
| 46 | BF_set_key 46 EXIST::FUNCTION:BF | ||
| 47 | BIO_CONNECT_free 47 NOEXIST::FUNCTION: | ||
| 48 | BIO_CONNECT_new 48 NOEXIST::FUNCTION: | ||
| 49 | BIO_accept 51 EXIST::FUNCTION: | ||
| 50 | BIO_ctrl 52 EXIST::FUNCTION: | ||
| 51 | BIO_int_ctrl 53 EXIST::FUNCTION: | ||
| 52 | BIO_debug_callback 54 EXIST::FUNCTION: | ||
| 53 | BIO_dump 55 EXIST::FUNCTION: | ||
| 54 | BIO_dup_chain 56 EXIST::FUNCTION: | ||
| 55 | BIO_f_base64 57 EXIST::FUNCTION:BIO | ||
| 56 | BIO_f_buffer 58 EXIST::FUNCTION: | ||
| 57 | BIO_f_cipher 59 EXIST::FUNCTION:BIO | ||
| 58 | BIO_f_md 60 EXIST::FUNCTION:BIO | ||
| 59 | BIO_f_null 61 EXIST::FUNCTION: | ||
| 60 | BIO_f_proxy_server 62 NOEXIST::FUNCTION: | ||
| 61 | BIO_fd_non_fatal_error 63 EXIST::FUNCTION: | ||
| 62 | BIO_fd_should_retry 64 EXIST::FUNCTION: | ||
| 63 | BIO_find_type 65 EXIST::FUNCTION: | ||
| 64 | BIO_free 66 EXIST::FUNCTION: | ||
| 65 | BIO_free_all 67 EXIST::FUNCTION: | ||
| 66 | BIO_get_accept_socket 69 EXIST::FUNCTION: | ||
| 67 | BIO_get_filter_bio 70 NOEXIST::FUNCTION: | ||
| 68 | BIO_get_host_ip 71 EXIST::FUNCTION: | ||
| 69 | BIO_get_port 72 EXIST::FUNCTION: | ||
| 70 | BIO_get_retry_BIO 73 EXIST::FUNCTION: | ||
| 71 | BIO_get_retry_reason 74 EXIST::FUNCTION: | ||
| 72 | BIO_gethostbyname 75 EXIST::FUNCTION: | ||
| 73 | BIO_gets 76 EXIST::FUNCTION: | ||
| 74 | BIO_new 78 EXIST::FUNCTION: | ||
| 75 | BIO_new_accept 79 EXIST::FUNCTION: | ||
| 76 | BIO_new_connect 80 EXIST::FUNCTION: | ||
| 77 | BIO_new_fd 81 EXIST::FUNCTION: | ||
| 78 | BIO_new_file 82 EXIST:!WIN16:FUNCTION:FP_API | ||
| 79 | BIO_new_fp 83 EXIST:!WIN16:FUNCTION:FP_API | ||
| 80 | BIO_new_socket 84 EXIST::FUNCTION: | ||
| 81 | BIO_pop 85 EXIST::FUNCTION: | ||
| 82 | BIO_printf 86 EXIST::FUNCTION: | ||
| 83 | BIO_push 87 EXIST::FUNCTION: | ||
| 84 | BIO_puts 88 EXIST::FUNCTION: | ||
| 85 | BIO_read 89 EXIST::FUNCTION: | ||
| 86 | BIO_s_accept 90 EXIST::FUNCTION: | ||
| 87 | BIO_s_connect 91 EXIST::FUNCTION: | ||
| 88 | BIO_s_fd 92 EXIST::FUNCTION: | ||
| 89 | BIO_s_file 93 EXIST:!WIN16:FUNCTION:FP_API | ||
| 90 | BIO_s_mem 95 EXIST::FUNCTION: | ||
| 91 | BIO_s_null 96 EXIST::FUNCTION: | ||
| 92 | BIO_s_proxy_client 97 NOEXIST::FUNCTION: | ||
| 93 | BIO_s_socket 98 EXIST::FUNCTION: | ||
| 94 | BIO_set 100 EXIST::FUNCTION: | ||
| 95 | BIO_set_cipher 101 EXIST::FUNCTION:BIO | ||
| 96 | BIO_set_tcp_ndelay 102 EXIST::FUNCTION: | ||
| 97 | BIO_sock_cleanup 103 EXIST::FUNCTION: | ||
| 98 | BIO_sock_error 104 EXIST::FUNCTION: | ||
| 99 | BIO_sock_init 105 EXIST::FUNCTION: | ||
| 100 | BIO_sock_non_fatal_error 106 EXIST::FUNCTION: | ||
| 101 | BIO_sock_should_retry 107 EXIST::FUNCTION: | ||
| 102 | BIO_socket_ioctl 108 EXIST::FUNCTION: | ||
| 103 | BIO_write 109 EXIST::FUNCTION: | ||
| 104 | BN_CTX_free 110 EXIST::FUNCTION: | ||
| 105 | BN_CTX_new 111 EXIST::FUNCTION: | ||
| 106 | BN_MONT_CTX_free 112 EXIST::FUNCTION: | ||
| 107 | BN_MONT_CTX_new 113 EXIST::FUNCTION: | ||
| 108 | BN_MONT_CTX_set 114 EXIST::FUNCTION: | ||
| 109 | BN_add 115 EXIST::FUNCTION: | ||
| 110 | BN_add_word 116 EXIST::FUNCTION: | ||
| 111 | BN_hex2bn 117 EXIST::FUNCTION: | ||
| 112 | BN_bin2bn 118 EXIST::FUNCTION: | ||
| 113 | BN_bn2hex 119 EXIST::FUNCTION: | ||
| 114 | BN_bn2bin 120 EXIST::FUNCTION: | ||
| 115 | BN_clear 121 EXIST::FUNCTION: | ||
| 116 | BN_clear_bit 122 EXIST::FUNCTION: | ||
| 117 | BN_clear_free 123 EXIST::FUNCTION: | ||
| 118 | BN_cmp 124 EXIST::FUNCTION: | ||
| 119 | BN_copy 125 EXIST::FUNCTION: | ||
| 120 | BN_div 126 EXIST::FUNCTION: | ||
| 121 | BN_div_word 127 EXIST::FUNCTION: | ||
| 122 | BN_dup 128 EXIST::FUNCTION: | ||
| 123 | BN_free 129 EXIST::FUNCTION: | ||
| 124 | BN_from_montgomery 130 EXIST::FUNCTION: | ||
| 125 | BN_gcd 131 EXIST::FUNCTION: | ||
| 126 | BN_generate_prime 132 EXIST::FUNCTION:DEPRECATED | ||
| 127 | BN_get_word 133 EXIST::FUNCTION: | ||
| 128 | BN_is_bit_set 134 EXIST::FUNCTION: | ||
| 129 | BN_is_prime 135 EXIST::FUNCTION:DEPRECATED | ||
| 130 | BN_lshift 136 EXIST::FUNCTION: | ||
| 131 | BN_lshift1 137 EXIST::FUNCTION: | ||
| 132 | BN_mask_bits 138 EXIST::FUNCTION: | ||
| 133 | BN_mod 139 NOEXIST::FUNCTION: | ||
| 134 | BN_mod_exp 140 EXIST::FUNCTION: | ||
| 135 | BN_mod_exp_mont 141 EXIST::FUNCTION: | ||
| 136 | BN_mod_exp_simple 143 EXIST::FUNCTION: | ||
| 137 | BN_mod_inverse 144 EXIST::FUNCTION: | ||
| 138 | BN_mod_mul 145 EXIST::FUNCTION: | ||
| 139 | BN_mod_mul_montgomery 146 EXIST::FUNCTION: | ||
| 140 | BN_mod_word 148 EXIST::FUNCTION: | ||
| 141 | BN_mul 149 EXIST::FUNCTION: | ||
| 142 | BN_new 150 EXIST::FUNCTION: | ||
| 143 | BN_num_bits 151 EXIST::FUNCTION: | ||
| 144 | BN_num_bits_word 152 EXIST::FUNCTION: | ||
| 145 | BN_options 153 EXIST::FUNCTION: | ||
| 146 | BN_print 154 EXIST::FUNCTION: | ||
| 147 | BN_print_fp 155 EXIST::FUNCTION:FP_API | ||
| 148 | BN_rand 156 EXIST::FUNCTION: | ||
| 149 | BN_reciprocal 157 EXIST::FUNCTION: | ||
| 150 | BN_rshift 158 EXIST::FUNCTION: | ||
| 151 | BN_rshift1 159 EXIST::FUNCTION: | ||
| 152 | BN_set_bit 160 EXIST::FUNCTION: | ||
| 153 | BN_set_word 161 EXIST::FUNCTION: | ||
| 154 | BN_sqr 162 EXIST::FUNCTION: | ||
| 155 | BN_sub 163 EXIST::FUNCTION: | ||
| 156 | BN_to_ASN1_INTEGER 164 EXIST::FUNCTION: | ||
| 157 | BN_ucmp 165 EXIST::FUNCTION: | ||
| 158 | BN_value_one 166 EXIST::FUNCTION: | ||
| 159 | BUF_MEM_free 167 EXIST::FUNCTION: | ||
| 160 | BUF_MEM_grow 168 EXIST::FUNCTION: | ||
| 161 | BUF_MEM_new 169 EXIST::FUNCTION: | ||
| 162 | BUF_strdup 170 EXIST::FUNCTION: | ||
| 163 | CONF_free 171 EXIST::FUNCTION: | ||
| 164 | CONF_get_number 172 EXIST::FUNCTION: | ||
| 165 | CONF_get_section 173 EXIST::FUNCTION: | ||
| 166 | CONF_get_string 174 EXIST::FUNCTION: | ||
| 167 | CONF_load 175 EXIST::FUNCTION: | ||
| 168 | CRYPTO_add_lock 176 EXIST::FUNCTION: | ||
| 169 | CRYPTO_dbg_free 177 EXIST::FUNCTION: | ||
| 170 | CRYPTO_dbg_malloc 178 EXIST::FUNCTION: | ||
| 171 | CRYPTO_dbg_realloc 179 EXIST::FUNCTION: | ||
| 172 | CRYPTO_dbg_remalloc 180 NOEXIST::FUNCTION: | ||
| 173 | CRYPTO_free 181 EXIST::FUNCTION: | ||
| 174 | CRYPTO_get_add_lock_callback 182 EXIST::FUNCTION: | ||
| 175 | CRYPTO_get_id_callback 183 EXIST::FUNCTION: | ||
| 176 | CRYPTO_get_lock_name 184 EXIST::FUNCTION: | ||
| 177 | CRYPTO_get_locking_callback 185 EXIST::FUNCTION: | ||
| 178 | CRYPTO_get_mem_functions 186 EXIST::FUNCTION: | ||
| 179 | CRYPTO_lock 187 EXIST::FUNCTION: | ||
| 180 | CRYPTO_malloc 188 EXIST::FUNCTION: | ||
| 181 | CRYPTO_mem_ctrl 189 EXIST::FUNCTION: | ||
| 182 | CRYPTO_mem_leaks 190 EXIST::FUNCTION: | ||
| 183 | CRYPTO_mem_leaks_cb 191 EXIST::FUNCTION: | ||
| 184 | CRYPTO_mem_leaks_fp 192 EXIST::FUNCTION:FP_API | ||
| 185 | CRYPTO_realloc 193 EXIST::FUNCTION: | ||
| 186 | CRYPTO_remalloc 194 EXIST::FUNCTION: | ||
| 187 | CRYPTO_set_add_lock_callback 195 EXIST::FUNCTION: | ||
| 188 | CRYPTO_set_id_callback 196 EXIST::FUNCTION: | ||
| 189 | CRYPTO_set_locking_callback 197 EXIST::FUNCTION: | ||
| 190 | CRYPTO_set_mem_functions 198 EXIST::FUNCTION: | ||
| 191 | CRYPTO_thread_id 199 EXIST::FUNCTION: | ||
| 192 | DH_check 200 EXIST::FUNCTION:DH | ||
| 193 | DH_compute_key 201 EXIST::FUNCTION:DH | ||
| 194 | DH_free 202 EXIST::FUNCTION:DH | ||
| 195 | DH_generate_key 203 EXIST::FUNCTION:DH | ||
| 196 | DH_generate_parameters 204 EXIST::FUNCTION:DEPRECATED,DH | ||
| 197 | DH_new 205 EXIST::FUNCTION:DH | ||
| 198 | DH_size 206 EXIST::FUNCTION:DH | ||
| 199 | DHparams_print 207 EXIST::FUNCTION:BIO,DH | ||
| 200 | DHparams_print_fp 208 EXIST::FUNCTION:DH,FP_API | ||
| 201 | DSA_free 209 EXIST::FUNCTION:DSA | ||
| 202 | DSA_generate_key 210 EXIST::FUNCTION:DSA | ||
| 203 | DSA_generate_parameters 211 EXIST::FUNCTION:DEPRECATED,DSA | ||
| 204 | DSA_is_prime 212 NOEXIST::FUNCTION: | ||
| 205 | DSA_new 213 EXIST::FUNCTION:DSA | ||
| 206 | DSA_print 214 EXIST::FUNCTION:BIO,DSA | ||
| 207 | DSA_print_fp 215 EXIST::FUNCTION:DSA,FP_API | ||
| 208 | DSA_sign 216 EXIST::FUNCTION:DSA | ||
| 209 | DSA_sign_setup 217 EXIST::FUNCTION:DSA | ||
| 210 | DSA_size 218 EXIST::FUNCTION:DSA | ||
| 211 | DSA_verify 219 EXIST::FUNCTION:DSA | ||
| 212 | DSAparams_print 220 EXIST::FUNCTION:BIO,DSA | ||
| 213 | DSAparams_print_fp 221 EXIST::FUNCTION:DSA,FP_API | ||
| 214 | ERR_clear_error 222 EXIST::FUNCTION: | ||
| 215 | ERR_error_string 223 EXIST::FUNCTION: | ||
| 216 | ERR_free_strings 224 EXIST::FUNCTION: | ||
| 217 | ERR_func_error_string 225 EXIST::FUNCTION: | ||
| 218 | ERR_get_err_state_table 226 EXIST::FUNCTION:LHASH | ||
| 219 | ERR_get_error 227 EXIST::FUNCTION: | ||
| 220 | ERR_get_error_line 228 EXIST::FUNCTION: | ||
| 221 | ERR_get_state 229 EXIST::FUNCTION: | ||
| 222 | ERR_get_string_table 230 EXIST::FUNCTION:LHASH | ||
| 223 | ERR_lib_error_string 231 EXIST::FUNCTION: | ||
| 224 | ERR_load_ASN1_strings 232 EXIST::FUNCTION: | ||
| 225 | ERR_load_BIO_strings 233 EXIST::FUNCTION: | ||
| 226 | ERR_load_BN_strings 234 EXIST::FUNCTION: | ||
| 227 | ERR_load_BUF_strings 235 EXIST::FUNCTION: | ||
| 228 | ERR_load_CONF_strings 236 EXIST::FUNCTION: | ||
| 229 | ERR_load_DH_strings 237 EXIST::FUNCTION:DH | ||
| 230 | ERR_load_DSA_strings 238 EXIST::FUNCTION:DSA | ||
| 231 | ERR_load_ERR_strings 239 EXIST::FUNCTION: | ||
| 232 | ERR_load_EVP_strings 240 EXIST::FUNCTION: | ||
| 233 | ERR_load_OBJ_strings 241 EXIST::FUNCTION: | ||
| 234 | ERR_load_PEM_strings 242 EXIST::FUNCTION: | ||
| 235 | ERR_load_PROXY_strings 243 NOEXIST::FUNCTION: | ||
| 236 | ERR_load_RSA_strings 244 EXIST::FUNCTION:RSA | ||
| 237 | ERR_load_X509_strings 245 EXIST::FUNCTION: | ||
| 238 | ERR_load_crypto_strings 246 EXIST::FUNCTION: | ||
| 239 | ERR_load_strings 247 EXIST::FUNCTION: | ||
| 240 | ERR_peek_error 248 EXIST::FUNCTION: | ||
| 241 | ERR_peek_error_line 249 EXIST::FUNCTION: | ||
| 242 | ERR_print_errors 250 EXIST::FUNCTION:BIO | ||
| 243 | ERR_print_errors_fp 251 EXIST::FUNCTION:FP_API | ||
| 244 | ERR_put_error 252 EXIST::FUNCTION: | ||
| 245 | ERR_reason_error_string 253 EXIST::FUNCTION: | ||
| 246 | ERR_remove_state 254 EXIST::FUNCTION: | ||
| 247 | EVP_BytesToKey 255 EXIST::FUNCTION: | ||
| 248 | EVP_CIPHER_CTX_cleanup 256 EXIST::FUNCTION: | ||
| 249 | EVP_CipherFinal 257 EXIST::FUNCTION: | ||
| 250 | EVP_CipherInit 258 EXIST::FUNCTION: | ||
| 251 | EVP_CipherUpdate 259 EXIST::FUNCTION: | ||
| 252 | EVP_DecodeBlock 260 EXIST::FUNCTION: | ||
| 253 | EVP_DecodeFinal 261 EXIST::FUNCTION: | ||
| 254 | EVP_DecodeInit 262 EXIST::FUNCTION: | ||
| 255 | EVP_DecodeUpdate 263 EXIST::FUNCTION: | ||
| 256 | EVP_DecryptFinal 264 EXIST::FUNCTION: | ||
| 257 | EVP_DecryptInit 265 EXIST::FUNCTION: | ||
| 258 | EVP_DecryptUpdate 266 EXIST::FUNCTION: | ||
| 259 | EVP_DigestFinal 267 EXIST::FUNCTION: | ||
| 260 | EVP_DigestInit 268 EXIST::FUNCTION: | ||
| 261 | EVP_DigestUpdate 269 EXIST::FUNCTION: | ||
| 262 | EVP_EncodeBlock 270 EXIST::FUNCTION: | ||
| 263 | EVP_EncodeFinal 271 EXIST::FUNCTION: | ||
| 264 | EVP_EncodeInit 272 EXIST::FUNCTION: | ||
| 265 | EVP_EncodeUpdate 273 EXIST::FUNCTION: | ||
| 266 | EVP_EncryptFinal 274 EXIST::FUNCTION: | ||
| 267 | EVP_EncryptInit 275 EXIST::FUNCTION: | ||
| 268 | EVP_EncryptUpdate 276 EXIST::FUNCTION: | ||
| 269 | EVP_OpenFinal 277 EXIST::FUNCTION:RSA | ||
| 270 | EVP_OpenInit 278 EXIST::FUNCTION:RSA | ||
| 271 | EVP_PKEY_assign 279 EXIST::FUNCTION: | ||
| 272 | EVP_PKEY_copy_parameters 280 EXIST::FUNCTION: | ||
| 273 | EVP_PKEY_free 281 EXIST::FUNCTION: | ||
| 274 | EVP_PKEY_missing_parameters 282 EXIST::FUNCTION: | ||
| 275 | EVP_PKEY_new 283 EXIST::FUNCTION: | ||
| 276 | EVP_PKEY_save_parameters 284 EXIST::FUNCTION: | ||
| 277 | EVP_PKEY_size 285 EXIST::FUNCTION: | ||
| 278 | EVP_PKEY_type 286 EXIST::FUNCTION: | ||
| 279 | EVP_SealFinal 287 EXIST::FUNCTION:RSA | ||
| 280 | EVP_SealInit 288 EXIST::FUNCTION:RSA | ||
| 281 | EVP_SignFinal 289 EXIST::FUNCTION: | ||
| 282 | EVP_VerifyFinal 290 EXIST::FUNCTION: | ||
| 283 | EVP_add_alias 291 NOEXIST::FUNCTION: | ||
| 284 | EVP_add_cipher 292 EXIST::FUNCTION: | ||
| 285 | EVP_add_digest 293 EXIST::FUNCTION: | ||
| 286 | EVP_bf_cbc 294 EXIST::FUNCTION:BF | ||
| 287 | EVP_bf_cfb64 295 EXIST::FUNCTION:BF | ||
| 288 | EVP_bf_ecb 296 EXIST::FUNCTION:BF | ||
| 289 | EVP_bf_ofb 297 EXIST::FUNCTION:BF | ||
| 290 | EVP_cleanup 298 EXIST::FUNCTION: | ||
| 291 | EVP_des_cbc 299 EXIST::FUNCTION:DES | ||
| 292 | EVP_des_cfb64 300 EXIST::FUNCTION:DES | ||
| 293 | EVP_des_ecb 301 EXIST::FUNCTION:DES | ||
| 294 | EVP_des_ede 302 EXIST::FUNCTION:DES | ||
| 295 | EVP_des_ede3 303 EXIST::FUNCTION:DES | ||
| 296 | EVP_des_ede3_cbc 304 EXIST::FUNCTION:DES | ||
| 297 | EVP_des_ede3_cfb64 305 EXIST::FUNCTION:DES | ||
| 298 | EVP_des_ede3_ofb 306 EXIST::FUNCTION:DES | ||
| 299 | EVP_des_ede_cbc 307 EXIST::FUNCTION:DES | ||
| 300 | EVP_des_ede_cfb64 308 EXIST::FUNCTION:DES | ||
| 301 | EVP_des_ede_ofb 309 EXIST::FUNCTION:DES | ||
| 302 | EVP_des_ofb 310 EXIST::FUNCTION:DES | ||
| 303 | EVP_desx_cbc 311 EXIST::FUNCTION:DES | ||
| 304 | EVP_dss 312 EXIST::FUNCTION:DSA,SHA | ||
| 305 | EVP_dss1 313 EXIST::FUNCTION:DSA,SHA | ||
| 306 | EVP_enc_null 314 EXIST::FUNCTION: | ||
| 307 | EVP_get_cipherbyname 315 EXIST::FUNCTION: | ||
| 308 | EVP_get_digestbyname 316 EXIST::FUNCTION: | ||
| 309 | EVP_get_pw_prompt 317 EXIST::FUNCTION: | ||
| 310 | EVP_idea_cbc 318 EXIST::FUNCTION:IDEA | ||
| 311 | EVP_idea_cfb64 319 EXIST::FUNCTION:IDEA | ||
| 312 | EVP_idea_ecb 320 EXIST::FUNCTION:IDEA | ||
| 313 | EVP_idea_ofb 321 EXIST::FUNCTION:IDEA | ||
| 314 | EVP_md2 322 EXIST::FUNCTION:MD2 | ||
| 315 | EVP_md5 323 EXIST::FUNCTION:MD5 | ||
| 316 | EVP_md_null 324 EXIST::FUNCTION: | ||
| 317 | EVP_rc2_cbc 325 EXIST::FUNCTION:RC2 | ||
| 318 | EVP_rc2_cfb64 326 EXIST::FUNCTION:RC2 | ||
| 319 | EVP_rc2_ecb 327 EXIST::FUNCTION:RC2 | ||
| 320 | EVP_rc2_ofb 328 EXIST::FUNCTION:RC2 | ||
| 321 | EVP_rc4 329 EXIST::FUNCTION:RC4 | ||
| 322 | EVP_read_pw_string 330 EXIST::FUNCTION: | ||
| 323 | EVP_set_pw_prompt 331 EXIST::FUNCTION: | ||
| 324 | EVP_sha 332 EXIST::FUNCTION:SHA | ||
| 325 | EVP_sha1 333 EXIST::FUNCTION:SHA | ||
| 326 | MD2 334 EXIST::FUNCTION:MD2 | ||
| 327 | MD2_Final 335 EXIST::FUNCTION:MD2 | ||
| 328 | MD2_Init 336 EXIST::FUNCTION:MD2 | ||
| 329 | MD2_Update 337 EXIST::FUNCTION:MD2 | ||
| 330 | MD2_options 338 EXIST::FUNCTION:MD2 | ||
| 331 | MD5 339 EXIST::FUNCTION:MD5 | ||
| 332 | MD5_Final 340 EXIST::FUNCTION:MD5 | ||
| 333 | MD5_Init 341 EXIST::FUNCTION:MD5 | ||
| 334 | MD5_Update 342 EXIST::FUNCTION:MD5 | ||
| 335 | MDC2 343 EXIST::FUNCTION:MDC2 | ||
| 336 | MDC2_Final 344 EXIST::FUNCTION:MDC2 | ||
| 337 | MDC2_Init 345 EXIST::FUNCTION:MDC2 | ||
| 338 | MDC2_Update 346 EXIST::FUNCTION:MDC2 | ||
| 339 | NETSCAPE_SPKAC_free 347 EXIST::FUNCTION: | ||
| 340 | NETSCAPE_SPKAC_new 348 EXIST::FUNCTION: | ||
| 341 | NETSCAPE_SPKI_free 349 EXIST::FUNCTION: | ||
| 342 | NETSCAPE_SPKI_new 350 EXIST::FUNCTION: | ||
| 343 | NETSCAPE_SPKI_sign 351 EXIST::FUNCTION:EVP | ||
| 344 | NETSCAPE_SPKI_verify 352 EXIST::FUNCTION:EVP | ||
| 345 | OBJ_add_object 353 EXIST::FUNCTION: | ||
| 346 | OBJ_bsearch 354 EXIST::FUNCTION: | ||
| 347 | OBJ_cleanup 355 EXIST::FUNCTION: | ||
| 348 | OBJ_cmp 356 EXIST::FUNCTION: | ||
| 349 | OBJ_create 357 EXIST::FUNCTION: | ||
| 350 | OBJ_dup 358 EXIST::FUNCTION: | ||
| 351 | OBJ_ln2nid 359 EXIST::FUNCTION: | ||
| 352 | OBJ_new_nid 360 EXIST::FUNCTION: | ||
| 353 | OBJ_nid2ln 361 EXIST::FUNCTION: | ||
| 354 | OBJ_nid2obj 362 EXIST::FUNCTION: | ||
| 355 | OBJ_nid2sn 363 EXIST::FUNCTION: | ||
| 356 | OBJ_obj2nid 364 EXIST::FUNCTION: | ||
| 357 | OBJ_sn2nid 365 EXIST::FUNCTION: | ||
| 358 | OBJ_txt2nid 366 EXIST::FUNCTION: | ||
| 359 | PEM_ASN1_read 367 EXIST:!WIN16:FUNCTION: | ||
| 360 | PEM_ASN1_read_bio 368 EXIST::FUNCTION:BIO | ||
| 361 | PEM_ASN1_write 369 EXIST:!WIN16:FUNCTION: | ||
| 362 | PEM_ASN1_write_bio 370 EXIST::FUNCTION:BIO | ||
| 363 | PEM_SealFinal 371 EXIST::FUNCTION:RSA | ||
| 364 | PEM_SealInit 372 EXIST::FUNCTION:RSA | ||
| 365 | PEM_SealUpdate 373 EXIST::FUNCTION:RSA | ||
| 366 | PEM_SignFinal 374 EXIST::FUNCTION: | ||
| 367 | PEM_SignInit 375 EXIST::FUNCTION: | ||
| 368 | PEM_SignUpdate 376 EXIST::FUNCTION: | ||
| 369 | PEM_X509_INFO_read 377 EXIST:!WIN16:FUNCTION: | ||
| 370 | PEM_X509_INFO_read_bio 378 EXIST::FUNCTION:BIO | ||
| 371 | PEM_X509_INFO_write_bio 379 EXIST::FUNCTION:BIO | ||
| 372 | PEM_dek_info 380 EXIST::FUNCTION: | ||
| 373 | PEM_do_header 381 EXIST::FUNCTION: | ||
| 374 | PEM_get_EVP_CIPHER_INFO 382 EXIST::FUNCTION: | ||
| 375 | PEM_proc_type 383 EXIST::FUNCTION: | ||
| 376 | PEM_read 384 EXIST:!WIN16:FUNCTION: | ||
| 377 | PEM_read_DHparams 385 EXIST:!WIN16:FUNCTION:DH | ||
| 378 | PEM_read_DSAPrivateKey 386 EXIST:!WIN16:FUNCTION:DSA | ||
| 379 | PEM_read_DSAparams 387 EXIST:!WIN16:FUNCTION:DSA | ||
| 380 | PEM_read_PKCS7 388 EXIST:!WIN16:FUNCTION: | ||
| 381 | PEM_read_PrivateKey 389 EXIST:!WIN16:FUNCTION: | ||
| 382 | PEM_read_RSAPrivateKey 390 EXIST:!WIN16:FUNCTION:RSA | ||
| 383 | PEM_read_X509 391 EXIST:!WIN16:FUNCTION: | ||
| 384 | PEM_read_X509_CRL 392 EXIST:!WIN16:FUNCTION: | ||
| 385 | PEM_read_X509_REQ 393 EXIST:!WIN16:FUNCTION: | ||
| 386 | PEM_read_bio 394 EXIST::FUNCTION:BIO | ||
| 387 | PEM_read_bio_DHparams 395 EXIST::FUNCTION:DH | ||
| 388 | PEM_read_bio_DSAPrivateKey 396 EXIST::FUNCTION:DSA | ||
| 389 | PEM_read_bio_DSAparams 397 EXIST::FUNCTION:DSA | ||
| 390 | PEM_read_bio_PKCS7 398 EXIST::FUNCTION: | ||
| 391 | PEM_read_bio_PrivateKey 399 EXIST::FUNCTION: | ||
| 392 | PEM_read_bio_RSAPrivateKey 400 EXIST::FUNCTION:RSA | ||
| 393 | PEM_read_bio_X509 401 EXIST::FUNCTION: | ||
| 394 | PEM_read_bio_X509_CRL 402 EXIST::FUNCTION: | ||
| 395 | PEM_read_bio_X509_REQ 403 EXIST::FUNCTION: | ||
| 396 | PEM_write 404 EXIST:!WIN16:FUNCTION: | ||
| 397 | PEM_write_DHparams 405 EXIST:!WIN16:FUNCTION:DH | ||
| 398 | PEM_write_DSAPrivateKey 406 EXIST:!WIN16:FUNCTION:DSA | ||
| 399 | PEM_write_DSAparams 407 EXIST:!WIN16:FUNCTION:DSA | ||
| 400 | PEM_write_PKCS7 408 EXIST:!WIN16:FUNCTION: | ||
| 401 | PEM_write_PrivateKey 409 EXIST:!WIN16:FUNCTION: | ||
| 402 | PEM_write_RSAPrivateKey 410 EXIST:!WIN16:FUNCTION:RSA | ||
| 403 | PEM_write_X509 411 EXIST:!WIN16:FUNCTION: | ||
| 404 | PEM_write_X509_CRL 412 EXIST:!WIN16:FUNCTION: | ||
| 405 | PEM_write_X509_REQ 413 EXIST:!WIN16:FUNCTION: | ||
| 406 | PEM_write_bio 414 EXIST::FUNCTION:BIO | ||
| 407 | PEM_write_bio_DHparams 415 EXIST::FUNCTION:DH | ||
| 408 | PEM_write_bio_DSAPrivateKey 416 EXIST::FUNCTION:DSA | ||
| 409 | PEM_write_bio_DSAparams 417 EXIST::FUNCTION:DSA | ||
| 410 | PEM_write_bio_PKCS7 418 EXIST::FUNCTION: | ||
| 411 | PEM_write_bio_PrivateKey 419 EXIST::FUNCTION: | ||
| 412 | PEM_write_bio_RSAPrivateKey 420 EXIST::FUNCTION:RSA | ||
| 413 | PEM_write_bio_X509 421 EXIST::FUNCTION: | ||
| 414 | PEM_write_bio_X509_CRL 422 EXIST::FUNCTION: | ||
| 415 | PEM_write_bio_X509_REQ 423 EXIST::FUNCTION: | ||
| 416 | PKCS7_DIGEST_free 424 EXIST::FUNCTION: | ||
| 417 | PKCS7_DIGEST_new 425 EXIST::FUNCTION: | ||
| 418 | PKCS7_ENCRYPT_free 426 EXIST::FUNCTION: | ||
| 419 | PKCS7_ENCRYPT_new 427 EXIST::FUNCTION: | ||
| 420 | PKCS7_ENC_CONTENT_free 428 EXIST::FUNCTION: | ||
| 421 | PKCS7_ENC_CONTENT_new 429 EXIST::FUNCTION: | ||
| 422 | PKCS7_ENVELOPE_free 430 EXIST::FUNCTION: | ||
| 423 | PKCS7_ENVELOPE_new 431 EXIST::FUNCTION: | ||
| 424 | PKCS7_ISSUER_AND_SERIAL_digest 432 EXIST::FUNCTION: | ||
| 425 | PKCS7_ISSUER_AND_SERIAL_free 433 EXIST::FUNCTION: | ||
| 426 | PKCS7_ISSUER_AND_SERIAL_new 434 EXIST::FUNCTION: | ||
| 427 | PKCS7_RECIP_INFO_free 435 EXIST::FUNCTION: | ||
| 428 | PKCS7_RECIP_INFO_new 436 EXIST::FUNCTION: | ||
| 429 | PKCS7_SIGNED_free 437 EXIST::FUNCTION: | ||
| 430 | PKCS7_SIGNED_new 438 EXIST::FUNCTION: | ||
| 431 | PKCS7_SIGNER_INFO_free 439 EXIST::FUNCTION: | ||
| 432 | PKCS7_SIGNER_INFO_new 440 EXIST::FUNCTION: | ||
| 433 | PKCS7_SIGN_ENVELOPE_free 441 EXIST::FUNCTION: | ||
| 434 | PKCS7_SIGN_ENVELOPE_new 442 EXIST::FUNCTION: | ||
| 435 | PKCS7_dup 443 EXIST::FUNCTION: | ||
| 436 | PKCS7_free 444 EXIST::FUNCTION: | ||
| 437 | PKCS7_new 445 EXIST::FUNCTION: | ||
| 438 | PROXY_ENTRY_add_noproxy 446 NOEXIST::FUNCTION: | ||
| 439 | PROXY_ENTRY_clear_noproxy 447 NOEXIST::FUNCTION: | ||
| 440 | PROXY_ENTRY_free 448 NOEXIST::FUNCTION: | ||
| 441 | PROXY_ENTRY_get_noproxy 449 NOEXIST::FUNCTION: | ||
| 442 | PROXY_ENTRY_new 450 NOEXIST::FUNCTION: | ||
| 443 | PROXY_ENTRY_set_server 451 NOEXIST::FUNCTION: | ||
| 444 | PROXY_add_noproxy 452 NOEXIST::FUNCTION: | ||
| 445 | PROXY_add_server 453 NOEXIST::FUNCTION: | ||
| 446 | PROXY_check_by_host 454 NOEXIST::FUNCTION: | ||
| 447 | PROXY_check_url 455 NOEXIST::FUNCTION: | ||
| 448 | PROXY_clear_noproxy 456 NOEXIST::FUNCTION: | ||
| 449 | PROXY_free 457 NOEXIST::FUNCTION: | ||
| 450 | PROXY_get_noproxy 458 NOEXIST::FUNCTION: | ||
| 451 | PROXY_get_proxies 459 NOEXIST::FUNCTION: | ||
| 452 | PROXY_get_proxy_entry 460 NOEXIST::FUNCTION: | ||
| 453 | PROXY_load_conf 461 NOEXIST::FUNCTION: | ||
| 454 | PROXY_new 462 NOEXIST::FUNCTION: | ||
| 455 | PROXY_print 463 NOEXIST::FUNCTION: | ||
| 456 | RAND_bytes 464 EXIST::FUNCTION: | ||
| 457 | RAND_cleanup 465 EXIST::FUNCTION: | ||
| 458 | RAND_file_name 466 EXIST::FUNCTION: | ||
| 459 | RAND_load_file 467 EXIST::FUNCTION: | ||
| 460 | RAND_screen 468 EXIST:WIN32:FUNCTION: | ||
| 461 | RAND_seed 469 EXIST::FUNCTION: | ||
| 462 | RAND_write_file 470 EXIST::FUNCTION: | ||
| 463 | RC2_cbc_encrypt 471 EXIST::FUNCTION:RC2 | ||
| 464 | RC2_cfb64_encrypt 472 EXIST::FUNCTION:RC2 | ||
| 465 | RC2_ecb_encrypt 473 EXIST::FUNCTION:RC2 | ||
| 466 | RC2_encrypt 474 EXIST::FUNCTION:RC2 | ||
| 467 | RC2_ofb64_encrypt 475 EXIST::FUNCTION:RC2 | ||
| 468 | RC2_set_key 476 EXIST::FUNCTION:RC2 | ||
| 469 | RC4 477 EXIST::FUNCTION:RC4 | ||
| 470 | RC4_options 478 EXIST::FUNCTION:RC4 | ||
| 471 | RC4_set_key 479 EXIST::FUNCTION:RC4 | ||
| 472 | RSAPrivateKey_asn1_meth 480 EXIST::FUNCTION:RSA | ||
| 473 | RSAPrivateKey_dup 481 EXIST::FUNCTION:RSA | ||
| 474 | RSAPublicKey_dup 482 EXIST::FUNCTION:RSA | ||
| 475 | RSA_PKCS1_SSLeay 483 EXIST::FUNCTION:RSA | ||
| 476 | RSA_free 484 EXIST::FUNCTION:RSA | ||
| 477 | RSA_generate_key 485 EXIST::FUNCTION:DEPRECATED,RSA | ||
| 478 | RSA_new 486 EXIST::FUNCTION:RSA | ||
| 479 | RSA_new_method 487 EXIST::FUNCTION:RSA | ||
| 480 | RSA_print 488 EXIST::FUNCTION:BIO,RSA | ||
| 481 | RSA_print_fp 489 EXIST::FUNCTION:FP_API,RSA | ||
| 482 | RSA_private_decrypt 490 EXIST::FUNCTION:RSA | ||
| 483 | RSA_private_encrypt 491 EXIST::FUNCTION:RSA | ||
| 484 | RSA_public_decrypt 492 EXIST::FUNCTION:RSA | ||
| 485 | RSA_public_encrypt 493 EXIST::FUNCTION:RSA | ||
| 486 | RSA_set_default_method 494 EXIST::FUNCTION:RSA | ||
| 487 | RSA_sign 495 EXIST::FUNCTION:RSA | ||
| 488 | RSA_sign_ASN1_OCTET_STRING 496 EXIST::FUNCTION:RSA | ||
| 489 | RSA_size 497 EXIST::FUNCTION:RSA | ||
| 490 | RSA_verify 498 EXIST::FUNCTION:RSA | ||
| 491 | RSA_verify_ASN1_OCTET_STRING 499 EXIST::FUNCTION:RSA | ||
| 492 | SHA 500 EXIST::FUNCTION:SHA,SHA0 | ||
| 493 | SHA1 501 EXIST::FUNCTION:SHA,SHA1 | ||
| 494 | SHA1_Final 502 EXIST::FUNCTION:SHA,SHA1 | ||
| 495 | SHA1_Init 503 EXIST::FUNCTION:SHA,SHA1 | ||
| 496 | SHA1_Update 504 EXIST::FUNCTION:SHA,SHA1 | ||
| 497 | SHA_Final 505 EXIST::FUNCTION:SHA,SHA0 | ||
| 498 | SHA_Init 506 EXIST::FUNCTION:SHA,SHA0 | ||
| 499 | SHA_Update 507 EXIST::FUNCTION:SHA,SHA0 | ||
| 500 | OpenSSL_add_all_algorithms 508 NOEXIST::FUNCTION: | ||
| 501 | OpenSSL_add_all_ciphers 509 EXIST::FUNCTION: | ||
| 502 | OpenSSL_add_all_digests 510 EXIST::FUNCTION: | ||
| 503 | TXT_DB_create_index 511 EXIST::FUNCTION: | ||
| 504 | TXT_DB_free 512 EXIST::FUNCTION: | ||
| 505 | TXT_DB_get_by_index 513 EXIST::FUNCTION: | ||
| 506 | TXT_DB_insert 514 EXIST::FUNCTION: | ||
| 507 | TXT_DB_read 515 EXIST::FUNCTION:BIO | ||
| 508 | TXT_DB_write 516 EXIST::FUNCTION:BIO | ||
| 509 | X509_ALGOR_free 517 EXIST::FUNCTION: | ||
| 510 | X509_ALGOR_new 518 EXIST::FUNCTION: | ||
| 511 | X509_ATTRIBUTE_free 519 EXIST::FUNCTION: | ||
| 512 | X509_ATTRIBUTE_new 520 EXIST::FUNCTION: | ||
| 513 | X509_CINF_free 521 EXIST::FUNCTION: | ||
| 514 | X509_CINF_new 522 EXIST::FUNCTION: | ||
| 515 | X509_CRL_INFO_free 523 EXIST::FUNCTION: | ||
| 516 | X509_CRL_INFO_new 524 EXIST::FUNCTION: | ||
| 517 | X509_CRL_add_ext 525 EXIST::FUNCTION: | ||
| 518 | X509_CRL_cmp 526 EXIST::FUNCTION: | ||
| 519 | X509_CRL_delete_ext 527 EXIST::FUNCTION: | ||
| 520 | X509_CRL_dup 528 EXIST::FUNCTION: | ||
| 521 | X509_CRL_free 529 EXIST::FUNCTION: | ||
| 522 | X509_CRL_get_ext 530 EXIST::FUNCTION: | ||
| 523 | X509_CRL_get_ext_by_NID 531 EXIST::FUNCTION: | ||
| 524 | X509_CRL_get_ext_by_OBJ 532 EXIST::FUNCTION: | ||
| 525 | X509_CRL_get_ext_by_critical 533 EXIST::FUNCTION: | ||
| 526 | X509_CRL_get_ext_count 534 EXIST::FUNCTION: | ||
| 527 | X509_CRL_new 535 EXIST::FUNCTION: | ||
| 528 | X509_CRL_sign 536 EXIST::FUNCTION:EVP | ||
| 529 | X509_CRL_verify 537 EXIST::FUNCTION:EVP | ||
| 530 | X509_EXTENSION_create_by_NID 538 EXIST::FUNCTION: | ||
| 531 | X509_EXTENSION_create_by_OBJ 539 EXIST::FUNCTION: | ||
| 532 | X509_EXTENSION_dup 540 EXIST::FUNCTION: | ||
| 533 | X509_EXTENSION_free 541 EXIST::FUNCTION: | ||
| 534 | X509_EXTENSION_get_critical 542 EXIST::FUNCTION: | ||
| 535 | X509_EXTENSION_get_data 543 EXIST::FUNCTION: | ||
| 536 | X509_EXTENSION_get_object 544 EXIST::FUNCTION: | ||
| 537 | X509_EXTENSION_new 545 EXIST::FUNCTION: | ||
| 538 | X509_EXTENSION_set_critical 546 EXIST::FUNCTION: | ||
| 539 | X509_EXTENSION_set_data 547 EXIST::FUNCTION: | ||
| 540 | X509_EXTENSION_set_object 548 EXIST::FUNCTION: | ||
| 541 | X509_INFO_free 549 EXIST::FUNCTION:EVP | ||
| 542 | X509_INFO_new 550 EXIST::FUNCTION:EVP | ||
| 543 | X509_LOOKUP_by_alias 551 EXIST::FUNCTION: | ||
| 544 | X509_LOOKUP_by_fingerprint 552 EXIST::FUNCTION: | ||
| 545 | X509_LOOKUP_by_issuer_serial 553 EXIST::FUNCTION: | ||
| 546 | X509_LOOKUP_by_subject 554 EXIST::FUNCTION: | ||
| 547 | X509_LOOKUP_ctrl 555 EXIST::FUNCTION: | ||
| 548 | X509_LOOKUP_file 556 EXIST::FUNCTION: | ||
| 549 | X509_LOOKUP_free 557 EXIST::FUNCTION: | ||
| 550 | X509_LOOKUP_hash_dir 558 EXIST::FUNCTION: | ||
| 551 | X509_LOOKUP_init 559 EXIST::FUNCTION: | ||
| 552 | X509_LOOKUP_new 560 EXIST::FUNCTION: | ||
| 553 | X509_LOOKUP_shutdown 561 EXIST::FUNCTION: | ||
| 554 | X509_NAME_ENTRY_create_by_NID 562 EXIST::FUNCTION: | ||
| 555 | X509_NAME_ENTRY_create_by_OBJ 563 EXIST::FUNCTION: | ||
| 556 | X509_NAME_ENTRY_dup 564 EXIST::FUNCTION: | ||
| 557 | X509_NAME_ENTRY_free 565 EXIST::FUNCTION: | ||
| 558 | X509_NAME_ENTRY_get_data 566 EXIST::FUNCTION: | ||
| 559 | X509_NAME_ENTRY_get_object 567 EXIST::FUNCTION: | ||
| 560 | X509_NAME_ENTRY_new 568 EXIST::FUNCTION: | ||
| 561 | X509_NAME_ENTRY_set_data 569 EXIST::FUNCTION: | ||
| 562 | X509_NAME_ENTRY_set_object 570 EXIST::FUNCTION: | ||
| 563 | X509_NAME_add_entry 571 EXIST::FUNCTION: | ||
| 564 | X509_NAME_cmp 572 EXIST::FUNCTION: | ||
| 565 | X509_NAME_delete_entry 573 EXIST::FUNCTION: | ||
| 566 | X509_NAME_digest 574 EXIST::FUNCTION:EVP | ||
| 567 | X509_NAME_dup 575 EXIST::FUNCTION: | ||
| 568 | X509_NAME_entry_count 576 EXIST::FUNCTION: | ||
| 569 | X509_NAME_free 577 EXIST::FUNCTION: | ||
| 570 | X509_NAME_get_entry 578 EXIST::FUNCTION: | ||
| 571 | X509_NAME_get_index_by_NID 579 EXIST::FUNCTION: | ||
| 572 | X509_NAME_get_index_by_OBJ 580 EXIST::FUNCTION: | ||
| 573 | X509_NAME_get_text_by_NID 581 EXIST::FUNCTION: | ||
| 574 | X509_NAME_get_text_by_OBJ 582 EXIST::FUNCTION: | ||
| 575 | X509_NAME_hash 583 EXIST::FUNCTION: | ||
| 576 | X509_NAME_new 584 EXIST::FUNCTION: | ||
| 577 | X509_NAME_oneline 585 EXIST::FUNCTION:EVP | ||
| 578 | X509_NAME_print 586 EXIST::FUNCTION:BIO | ||
| 579 | X509_NAME_set 587 EXIST::FUNCTION: | ||
| 580 | X509_OBJECT_free_contents 588 EXIST::FUNCTION: | ||
| 581 | X509_OBJECT_retrieve_by_subject 589 EXIST::FUNCTION: | ||
| 582 | X509_OBJECT_up_ref_count 590 EXIST::FUNCTION: | ||
| 583 | X509_PKEY_free 591 EXIST::FUNCTION: | ||
| 584 | X509_PKEY_new 592 EXIST::FUNCTION: | ||
| 585 | X509_PUBKEY_free 593 EXIST::FUNCTION: | ||
| 586 | X509_PUBKEY_get 594 EXIST::FUNCTION: | ||
| 587 | X509_PUBKEY_new 595 EXIST::FUNCTION: | ||
| 588 | X509_PUBKEY_set 596 EXIST::FUNCTION: | ||
| 589 | X509_REQ_INFO_free 597 EXIST::FUNCTION: | ||
| 590 | X509_REQ_INFO_new 598 EXIST::FUNCTION: | ||
| 591 | X509_REQ_dup 599 EXIST::FUNCTION: | ||
| 592 | X509_REQ_free 600 EXIST::FUNCTION: | ||
| 593 | X509_REQ_get_pubkey 601 EXIST::FUNCTION: | ||
| 594 | X509_REQ_new 602 EXIST::FUNCTION: | ||
| 595 | X509_REQ_print 603 EXIST::FUNCTION:BIO | ||
| 596 | X509_REQ_print_fp 604 EXIST::FUNCTION:FP_API | ||
| 597 | X509_REQ_set_pubkey 605 EXIST::FUNCTION: | ||
| 598 | X509_REQ_set_subject_name 606 EXIST::FUNCTION: | ||
| 599 | X509_REQ_set_version 607 EXIST::FUNCTION: | ||
| 600 | X509_REQ_sign 608 EXIST::FUNCTION:EVP | ||
| 601 | X509_REQ_to_X509 609 EXIST::FUNCTION: | ||
| 602 | X509_REQ_verify 610 EXIST::FUNCTION:EVP | ||
| 603 | X509_REVOKED_add_ext 611 EXIST::FUNCTION: | ||
| 604 | X509_REVOKED_delete_ext 612 EXIST::FUNCTION: | ||
| 605 | X509_REVOKED_free 613 EXIST::FUNCTION: | ||
| 606 | X509_REVOKED_get_ext 614 EXIST::FUNCTION: | ||
| 607 | X509_REVOKED_get_ext_by_NID 615 EXIST::FUNCTION: | ||
| 608 | X509_REVOKED_get_ext_by_OBJ 616 EXIST::FUNCTION: | ||
| 609 | X509_REVOKED_get_ext_by_critical 617 EXIST:!VMS:FUNCTION: | ||
| 610 | X509_REVOKED_get_ext_by_critic 617 EXIST:VMS:FUNCTION: | ||
| 611 | X509_REVOKED_get_ext_count 618 EXIST::FUNCTION: | ||
| 612 | X509_REVOKED_new 619 EXIST::FUNCTION: | ||
| 613 | X509_SIG_free 620 EXIST::FUNCTION: | ||
| 614 | X509_SIG_new 621 EXIST::FUNCTION: | ||
| 615 | X509_STORE_CTX_cleanup 622 EXIST::FUNCTION: | ||
| 616 | X509_STORE_CTX_init 623 EXIST::FUNCTION: | ||
| 617 | X509_STORE_add_cert 624 EXIST::FUNCTION: | ||
| 618 | X509_STORE_add_lookup 625 EXIST::FUNCTION: | ||
| 619 | X509_STORE_free 626 EXIST::FUNCTION: | ||
| 620 | X509_STORE_get_by_subject 627 EXIST::FUNCTION: | ||
| 621 | X509_STORE_load_locations 628 EXIST::FUNCTION:STDIO | ||
| 622 | X509_STORE_new 629 EXIST::FUNCTION: | ||
| 623 | X509_STORE_set_default_paths 630 EXIST::FUNCTION:STDIO | ||
| 624 | X509_VAL_free 631 EXIST::FUNCTION: | ||
| 625 | X509_VAL_new 632 EXIST::FUNCTION: | ||
| 626 | X509_add_ext 633 EXIST::FUNCTION: | ||
| 627 | X509_asn1_meth 634 EXIST::FUNCTION: | ||
| 628 | X509_certificate_type 635 EXIST::FUNCTION: | ||
| 629 | X509_check_private_key 636 EXIST::FUNCTION: | ||
| 630 | X509_cmp_current_time 637 EXIST::FUNCTION: | ||
| 631 | X509_delete_ext 638 EXIST::FUNCTION: | ||
| 632 | X509_digest 639 EXIST::FUNCTION:EVP | ||
| 633 | X509_dup 640 EXIST::FUNCTION: | ||
| 634 | X509_free 641 EXIST::FUNCTION: | ||
| 635 | X509_get_default_cert_area 642 EXIST::FUNCTION: | ||
| 636 | X509_get_default_cert_dir 643 EXIST::FUNCTION: | ||
| 637 | X509_get_default_cert_dir_env 644 EXIST::FUNCTION: | ||
| 638 | X509_get_default_cert_file 645 EXIST::FUNCTION: | ||
| 639 | X509_get_default_cert_file_env 646 EXIST::FUNCTION: | ||
| 640 | X509_get_default_private_dir 647 EXIST::FUNCTION: | ||
| 641 | X509_get_ext 648 EXIST::FUNCTION: | ||
| 642 | X509_get_ext_by_NID 649 EXIST::FUNCTION: | ||
| 643 | X509_get_ext_by_OBJ 650 EXIST::FUNCTION: | ||
| 644 | X509_get_ext_by_critical 651 EXIST::FUNCTION: | ||
| 645 | X509_get_ext_count 652 EXIST::FUNCTION: | ||
| 646 | X509_get_issuer_name 653 EXIST::FUNCTION: | ||
| 647 | X509_get_pubkey 654 EXIST::FUNCTION: | ||
| 648 | X509_get_pubkey_parameters 655 EXIST::FUNCTION: | ||
| 649 | X509_get_serialNumber 656 EXIST::FUNCTION: | ||
| 650 | X509_get_subject_name 657 EXIST::FUNCTION: | ||
| 651 | X509_gmtime_adj 658 EXIST::FUNCTION: | ||
| 652 | X509_issuer_and_serial_cmp 659 EXIST::FUNCTION: | ||
| 653 | X509_issuer_and_serial_hash 660 EXIST::FUNCTION: | ||
| 654 | X509_issuer_name_cmp 661 EXIST::FUNCTION: | ||
| 655 | X509_issuer_name_hash 662 EXIST::FUNCTION: | ||
| 656 | X509_load_cert_file 663 EXIST::FUNCTION:STDIO | ||
| 657 | X509_new 664 EXIST::FUNCTION: | ||
| 658 | X509_print 665 EXIST::FUNCTION:BIO | ||
| 659 | X509_print_fp 666 EXIST::FUNCTION:FP_API | ||
| 660 | X509_set_issuer_name 667 EXIST::FUNCTION: | ||
| 661 | X509_set_notAfter 668 EXIST::FUNCTION: | ||
| 662 | X509_set_notBefore 669 EXIST::FUNCTION: | ||
| 663 | X509_set_pubkey 670 EXIST::FUNCTION: | ||
| 664 | X509_set_serialNumber 671 EXIST::FUNCTION: | ||
| 665 | X509_set_subject_name 672 EXIST::FUNCTION: | ||
| 666 | X509_set_version 673 EXIST::FUNCTION: | ||
| 667 | X509_sign 674 EXIST::FUNCTION:EVP | ||
| 668 | X509_subject_name_cmp 675 EXIST::FUNCTION: | ||
| 669 | X509_subject_name_hash 676 EXIST::FUNCTION: | ||
| 670 | X509_to_X509_REQ 677 EXIST::FUNCTION: | ||
| 671 | X509_verify 678 EXIST::FUNCTION:EVP | ||
| 672 | X509_verify_cert 679 EXIST::FUNCTION: | ||
| 673 | X509_verify_cert_error_string 680 EXIST::FUNCTION: | ||
| 674 | X509v3_add_ext 681 EXIST::FUNCTION: | ||
| 675 | X509v3_add_extension 682 NOEXIST::FUNCTION: | ||
| 676 | X509v3_add_netscape_extensions 683 NOEXIST::FUNCTION: | ||
| 677 | X509v3_add_standard_extensions 684 NOEXIST::FUNCTION: | ||
| 678 | X509v3_cleanup_extensions 685 NOEXIST::FUNCTION: | ||
| 679 | X509v3_data_type_by_NID 686 NOEXIST::FUNCTION: | ||
| 680 | X509v3_data_type_by_OBJ 687 NOEXIST::FUNCTION: | ||
| 681 | X509v3_delete_ext 688 EXIST::FUNCTION: | ||
| 682 | X509v3_get_ext 689 EXIST::FUNCTION: | ||
| 683 | X509v3_get_ext_by_NID 690 EXIST::FUNCTION: | ||
| 684 | X509v3_get_ext_by_OBJ 691 EXIST::FUNCTION: | ||
| 685 | X509v3_get_ext_by_critical 692 EXIST::FUNCTION: | ||
| 686 | X509v3_get_ext_count 693 EXIST::FUNCTION: | ||
| 687 | X509v3_pack_string 694 NOEXIST::FUNCTION: | ||
| 688 | X509v3_pack_type_by_NID 695 NOEXIST::FUNCTION: | ||
| 689 | X509v3_pack_type_by_OBJ 696 NOEXIST::FUNCTION: | ||
| 690 | X509v3_unpack_string 697 NOEXIST::FUNCTION: | ||
| 691 | _des_crypt 698 NOEXIST::FUNCTION: | ||
| 692 | a2d_ASN1_OBJECT 699 EXIST::FUNCTION: | ||
| 693 | a2i_ASN1_INTEGER 700 EXIST::FUNCTION:BIO | ||
| 694 | a2i_ASN1_STRING 701 EXIST::FUNCTION:BIO | ||
| 695 | asn1_Finish 702 EXIST::FUNCTION: | ||
| 696 | asn1_GetSequence 703 EXIST::FUNCTION: | ||
| 697 | bn_div_words 704 EXIST::FUNCTION: | ||
| 698 | bn_expand2 705 EXIST::FUNCTION: | ||
| 699 | bn_mul_add_words 706 EXIST::FUNCTION: | ||
| 700 | bn_mul_words 707 EXIST::FUNCTION: | ||
| 701 | BN_uadd 708 EXIST::FUNCTION: | ||
| 702 | BN_usub 709 EXIST::FUNCTION: | ||
| 703 | bn_sqr_words 710 EXIST::FUNCTION: | ||
| 704 | _ossl_old_crypt 711 EXIST:!NeXT,!PERL5:FUNCTION:DES | ||
| 705 | d2i_ASN1_BIT_STRING 712 EXIST::FUNCTION: | ||
| 706 | d2i_ASN1_BOOLEAN 713 EXIST::FUNCTION: | ||
| 707 | d2i_ASN1_HEADER 714 EXIST::FUNCTION: | ||
| 708 | d2i_ASN1_IA5STRING 715 EXIST::FUNCTION: | ||
| 709 | d2i_ASN1_INTEGER 716 EXIST::FUNCTION: | ||
| 710 | d2i_ASN1_OBJECT 717 EXIST::FUNCTION: | ||
| 711 | d2i_ASN1_OCTET_STRING 718 EXIST::FUNCTION: | ||
| 712 | d2i_ASN1_PRINTABLE 719 EXIST::FUNCTION: | ||
| 713 | d2i_ASN1_PRINTABLESTRING 720 EXIST::FUNCTION: | ||
| 714 | d2i_ASN1_SET 721 EXIST::FUNCTION: | ||
| 715 | d2i_ASN1_T61STRING 722 EXIST::FUNCTION: | ||
| 716 | d2i_ASN1_TYPE 723 EXIST::FUNCTION: | ||
| 717 | d2i_ASN1_UTCTIME 724 EXIST::FUNCTION: | ||
| 718 | d2i_ASN1_bytes 725 EXIST::FUNCTION: | ||
| 719 | d2i_ASN1_type_bytes 726 EXIST::FUNCTION: | ||
| 720 | d2i_DHparams 727 EXIST::FUNCTION:DH | ||
| 721 | d2i_DSAPrivateKey 728 EXIST::FUNCTION:DSA | ||
| 722 | d2i_DSAPrivateKey_bio 729 EXIST::FUNCTION:BIO,DSA | ||
| 723 | d2i_DSAPrivateKey_fp 730 EXIST::FUNCTION:DSA,FP_API | ||
| 724 | d2i_DSAPublicKey 731 EXIST::FUNCTION:DSA | ||
| 725 | d2i_DSAparams 732 EXIST::FUNCTION:DSA | ||
| 726 | d2i_NETSCAPE_SPKAC 733 EXIST::FUNCTION: | ||
| 727 | d2i_NETSCAPE_SPKI 734 EXIST::FUNCTION: | ||
| 728 | d2i_Netscape_RSA 735 EXIST::FUNCTION:RC4,RSA | ||
| 729 | d2i_PKCS7 736 EXIST::FUNCTION: | ||
| 730 | d2i_PKCS7_DIGEST 737 EXIST::FUNCTION: | ||
| 731 | d2i_PKCS7_ENCRYPT 738 EXIST::FUNCTION: | ||
| 732 | d2i_PKCS7_ENC_CONTENT 739 EXIST::FUNCTION: | ||
| 733 | d2i_PKCS7_ENVELOPE 740 EXIST::FUNCTION: | ||
| 734 | d2i_PKCS7_ISSUER_AND_SERIAL 741 EXIST::FUNCTION: | ||
| 735 | d2i_PKCS7_RECIP_INFO 742 EXIST::FUNCTION: | ||
| 736 | d2i_PKCS7_SIGNED 743 EXIST::FUNCTION: | ||
| 737 | d2i_PKCS7_SIGNER_INFO 744 EXIST::FUNCTION: | ||
| 738 | d2i_PKCS7_SIGN_ENVELOPE 745 EXIST::FUNCTION: | ||
| 739 | d2i_PKCS7_bio 746 EXIST::FUNCTION: | ||
| 740 | d2i_PKCS7_fp 747 EXIST::FUNCTION:FP_API | ||
| 741 | d2i_PrivateKey 748 EXIST::FUNCTION: | ||
| 742 | d2i_PublicKey 749 EXIST::FUNCTION: | ||
| 743 | d2i_RSAPrivateKey 750 EXIST::FUNCTION:RSA | ||
| 744 | d2i_RSAPrivateKey_bio 751 EXIST::FUNCTION:BIO,RSA | ||
| 745 | d2i_RSAPrivateKey_fp 752 EXIST::FUNCTION:FP_API,RSA | ||
| 746 | d2i_RSAPublicKey 753 EXIST::FUNCTION:RSA | ||
| 747 | d2i_X509 754 EXIST::FUNCTION: | ||
| 748 | d2i_X509_ALGOR 755 EXIST::FUNCTION: | ||
| 749 | d2i_X509_ATTRIBUTE 756 EXIST::FUNCTION: | ||
| 750 | d2i_X509_CINF 757 EXIST::FUNCTION: | ||
| 751 | d2i_X509_CRL 758 EXIST::FUNCTION: | ||
| 752 | d2i_X509_CRL_INFO 759 EXIST::FUNCTION: | ||
| 753 | d2i_X509_CRL_bio 760 EXIST::FUNCTION:BIO | ||
| 754 | d2i_X509_CRL_fp 761 EXIST::FUNCTION:FP_API | ||
| 755 | d2i_X509_EXTENSION 762 EXIST::FUNCTION: | ||
| 756 | d2i_X509_NAME 763 EXIST::FUNCTION: | ||
| 757 | d2i_X509_NAME_ENTRY 764 EXIST::FUNCTION: | ||
| 758 | d2i_X509_PKEY 765 EXIST::FUNCTION: | ||
| 759 | d2i_X509_PUBKEY 766 EXIST::FUNCTION: | ||
| 760 | d2i_X509_REQ 767 EXIST::FUNCTION: | ||
| 761 | d2i_X509_REQ_INFO 768 EXIST::FUNCTION: | ||
| 762 | d2i_X509_REQ_bio 769 EXIST::FUNCTION:BIO | ||
| 763 | d2i_X509_REQ_fp 770 EXIST::FUNCTION:FP_API | ||
| 764 | d2i_X509_REVOKED 771 EXIST::FUNCTION: | ||
| 765 | d2i_X509_SIG 772 EXIST::FUNCTION: | ||
| 766 | d2i_X509_VAL 773 EXIST::FUNCTION: | ||
| 767 | d2i_X509_bio 774 EXIST::FUNCTION:BIO | ||
| 768 | d2i_X509_fp 775 EXIST::FUNCTION:FP_API | ||
| 769 | DES_cbc_cksum 777 EXIST::FUNCTION:DES | ||
| 770 | DES_cbc_encrypt 778 EXIST::FUNCTION:DES | ||
| 771 | DES_cblock_print_file 779 NOEXIST::FUNCTION: | ||
| 772 | DES_cfb64_encrypt 780 EXIST::FUNCTION:DES | ||
| 773 | DES_cfb_encrypt 781 EXIST::FUNCTION:DES | ||
| 774 | DES_decrypt3 782 EXIST::FUNCTION:DES | ||
| 775 | DES_ecb3_encrypt 783 EXIST::FUNCTION:DES | ||
| 776 | DES_ecb_encrypt 784 EXIST::FUNCTION:DES | ||
| 777 | DES_ede3_cbc_encrypt 785 EXIST::FUNCTION:DES | ||
| 778 | DES_ede3_cfb64_encrypt 786 EXIST::FUNCTION:DES | ||
| 779 | DES_ede3_ofb64_encrypt 787 EXIST::FUNCTION:DES | ||
| 780 | DES_enc_read 788 EXIST::FUNCTION:DES | ||
| 781 | DES_enc_write 789 EXIST::FUNCTION:DES | ||
| 782 | DES_encrypt1 790 EXIST::FUNCTION:DES | ||
| 783 | DES_encrypt2 791 EXIST::FUNCTION:DES | ||
| 784 | DES_encrypt3 792 EXIST::FUNCTION:DES | ||
| 785 | DES_fcrypt 793 EXIST::FUNCTION:DES | ||
| 786 | DES_is_weak_key 794 EXIST::FUNCTION:DES | ||
| 787 | DES_key_sched 795 EXIST::FUNCTION:DES | ||
| 788 | DES_ncbc_encrypt 796 EXIST::FUNCTION:DES | ||
| 789 | DES_ofb64_encrypt 797 EXIST::FUNCTION:DES | ||
| 790 | DES_ofb_encrypt 798 EXIST::FUNCTION:DES | ||
| 791 | DES_options 799 EXIST::FUNCTION:DES | ||
| 792 | DES_pcbc_encrypt 800 EXIST::FUNCTION:DES | ||
| 793 | DES_quad_cksum 801 EXIST::FUNCTION:DES | ||
| 794 | DES_random_key 802 EXIST::FUNCTION:DES | ||
| 795 | _ossl_old_des_random_seed 803 EXIST::FUNCTION:DES | ||
| 796 | _ossl_old_des_read_2passwords 804 EXIST::FUNCTION:DES | ||
| 797 | _ossl_old_des_read_password 805 EXIST::FUNCTION:DES | ||
| 798 | _ossl_old_des_read_pw 806 EXIST::FUNCTION: | ||
| 799 | _ossl_old_des_read_pw_string 807 EXIST::FUNCTION: | ||
| 800 | DES_set_key 808 EXIST::FUNCTION:DES | ||
| 801 | DES_set_odd_parity 809 EXIST::FUNCTION:DES | ||
| 802 | DES_string_to_2keys 810 EXIST::FUNCTION:DES | ||
| 803 | DES_string_to_key 811 EXIST::FUNCTION:DES | ||
| 804 | DES_xcbc_encrypt 812 EXIST::FUNCTION:DES | ||
| 805 | DES_xwhite_in2out 813 NOEXIST::FUNCTION: | ||
| 806 | fcrypt_body 814 NOEXIST::FUNCTION: | ||
| 807 | i2a_ASN1_INTEGER 815 EXIST::FUNCTION:BIO | ||
| 808 | i2a_ASN1_OBJECT 816 EXIST::FUNCTION:BIO | ||
| 809 | i2a_ASN1_STRING 817 EXIST::FUNCTION:BIO | ||
| 810 | i2d_ASN1_BIT_STRING 818 EXIST::FUNCTION: | ||
| 811 | i2d_ASN1_BOOLEAN 819 EXIST::FUNCTION: | ||
| 812 | i2d_ASN1_HEADER 820 EXIST::FUNCTION: | ||
| 813 | i2d_ASN1_IA5STRING 821 EXIST::FUNCTION: | ||
| 814 | i2d_ASN1_INTEGER 822 EXIST::FUNCTION: | ||
| 815 | i2d_ASN1_OBJECT 823 EXIST::FUNCTION: | ||
| 816 | i2d_ASN1_OCTET_STRING 824 EXIST::FUNCTION: | ||
| 817 | i2d_ASN1_PRINTABLE 825 EXIST::FUNCTION: | ||
| 818 | i2d_ASN1_SET 826 EXIST::FUNCTION: | ||
| 819 | i2d_ASN1_TYPE 827 EXIST::FUNCTION: | ||
| 820 | i2d_ASN1_UTCTIME 828 EXIST::FUNCTION: | ||
| 821 | i2d_ASN1_bytes 829 EXIST::FUNCTION: | ||
| 822 | i2d_DHparams 830 EXIST::FUNCTION:DH | ||
| 823 | i2d_DSAPrivateKey 831 EXIST::FUNCTION:DSA | ||
| 824 | i2d_DSAPrivateKey_bio 832 EXIST::FUNCTION:BIO,DSA | ||
| 825 | i2d_DSAPrivateKey_fp 833 EXIST::FUNCTION:DSA,FP_API | ||
| 826 | i2d_DSAPublicKey 834 EXIST::FUNCTION:DSA | ||
| 827 | i2d_DSAparams 835 EXIST::FUNCTION:DSA | ||
| 828 | i2d_NETSCAPE_SPKAC 836 EXIST::FUNCTION: | ||
| 829 | i2d_NETSCAPE_SPKI 837 EXIST::FUNCTION: | ||
| 830 | i2d_Netscape_RSA 838 EXIST::FUNCTION:RC4,RSA | ||
| 831 | i2d_PKCS7 839 EXIST::FUNCTION: | ||
| 832 | i2d_PKCS7_DIGEST 840 EXIST::FUNCTION: | ||
| 833 | i2d_PKCS7_ENCRYPT 841 EXIST::FUNCTION: | ||
| 834 | i2d_PKCS7_ENC_CONTENT 842 EXIST::FUNCTION: | ||
| 835 | i2d_PKCS7_ENVELOPE 843 EXIST::FUNCTION: | ||
| 836 | i2d_PKCS7_ISSUER_AND_SERIAL 844 EXIST::FUNCTION: | ||
| 837 | i2d_PKCS7_RECIP_INFO 845 EXIST::FUNCTION: | ||
| 838 | i2d_PKCS7_SIGNED 846 EXIST::FUNCTION: | ||
| 839 | i2d_PKCS7_SIGNER_INFO 847 EXIST::FUNCTION: | ||
| 840 | i2d_PKCS7_SIGN_ENVELOPE 848 EXIST::FUNCTION: | ||
| 841 | i2d_PKCS7_bio 849 EXIST::FUNCTION: | ||
| 842 | i2d_PKCS7_fp 850 EXIST::FUNCTION:FP_API | ||
| 843 | i2d_PrivateKey 851 EXIST::FUNCTION: | ||
| 844 | i2d_PublicKey 852 EXIST::FUNCTION: | ||
| 845 | i2d_RSAPrivateKey 853 EXIST::FUNCTION:RSA | ||
| 846 | i2d_RSAPrivateKey_bio 854 EXIST::FUNCTION:BIO,RSA | ||
| 847 | i2d_RSAPrivateKey_fp 855 EXIST::FUNCTION:FP_API,RSA | ||
| 848 | i2d_RSAPublicKey 856 EXIST::FUNCTION:RSA | ||
| 849 | i2d_X509 857 EXIST::FUNCTION: | ||
| 850 | i2d_X509_ALGOR 858 EXIST::FUNCTION: | ||
| 851 | i2d_X509_ATTRIBUTE 859 EXIST::FUNCTION: | ||
| 852 | i2d_X509_CINF 860 EXIST::FUNCTION: | ||
| 853 | i2d_X509_CRL 861 EXIST::FUNCTION: | ||
| 854 | i2d_X509_CRL_INFO 862 EXIST::FUNCTION: | ||
| 855 | i2d_X509_CRL_bio 863 EXIST::FUNCTION:BIO | ||
| 856 | i2d_X509_CRL_fp 864 EXIST::FUNCTION:FP_API | ||
| 857 | i2d_X509_EXTENSION 865 EXIST::FUNCTION: | ||
| 858 | i2d_X509_NAME 866 EXIST::FUNCTION: | ||
| 859 | i2d_X509_NAME_ENTRY 867 EXIST::FUNCTION: | ||
| 860 | i2d_X509_PKEY 868 EXIST::FUNCTION: | ||
| 861 | i2d_X509_PUBKEY 869 EXIST::FUNCTION: | ||
| 862 | i2d_X509_REQ 870 EXIST::FUNCTION: | ||
| 863 | i2d_X509_REQ_INFO 871 EXIST::FUNCTION: | ||
| 864 | i2d_X509_REQ_bio 872 EXIST::FUNCTION:BIO | ||
| 865 | i2d_X509_REQ_fp 873 EXIST::FUNCTION:FP_API | ||
| 866 | i2d_X509_REVOKED 874 EXIST::FUNCTION: | ||
| 867 | i2d_X509_SIG 875 EXIST::FUNCTION: | ||
| 868 | i2d_X509_VAL 876 EXIST::FUNCTION: | ||
| 869 | i2d_X509_bio 877 EXIST::FUNCTION:BIO | ||
| 870 | i2d_X509_fp 878 EXIST::FUNCTION:FP_API | ||
| 871 | idea_cbc_encrypt 879 EXIST::FUNCTION:IDEA | ||
| 872 | idea_cfb64_encrypt 880 EXIST::FUNCTION:IDEA | ||
| 873 | idea_ecb_encrypt 881 EXIST::FUNCTION:IDEA | ||
| 874 | idea_encrypt 882 EXIST::FUNCTION:IDEA | ||
| 875 | idea_ofb64_encrypt 883 EXIST::FUNCTION:IDEA | ||
| 876 | idea_options 884 EXIST::FUNCTION:IDEA | ||
| 877 | idea_set_decrypt_key 885 EXIST::FUNCTION:IDEA | ||
| 878 | idea_set_encrypt_key 886 EXIST::FUNCTION:IDEA | ||
| 879 | lh_delete 887 EXIST::FUNCTION: | ||
| 880 | lh_doall 888 EXIST::FUNCTION: | ||
| 881 | lh_doall_arg 889 EXIST::FUNCTION: | ||
| 882 | lh_free 890 EXIST::FUNCTION: | ||
| 883 | lh_insert 891 EXIST::FUNCTION: | ||
| 884 | lh_new 892 EXIST::FUNCTION: | ||
| 885 | lh_node_stats 893 EXIST::FUNCTION:FP_API | ||
| 886 | lh_node_stats_bio 894 EXIST::FUNCTION:BIO | ||
| 887 | lh_node_usage_stats 895 EXIST::FUNCTION:FP_API | ||
| 888 | lh_node_usage_stats_bio 896 EXIST::FUNCTION:BIO | ||
| 889 | lh_retrieve 897 EXIST::FUNCTION: | ||
| 890 | lh_stats 898 EXIST::FUNCTION:FP_API | ||
| 891 | lh_stats_bio 899 EXIST::FUNCTION:BIO | ||
| 892 | lh_strhash 900 EXIST::FUNCTION: | ||
| 893 | sk_delete 901 EXIST::FUNCTION: | ||
| 894 | sk_delete_ptr 902 EXIST::FUNCTION: | ||
| 895 | sk_dup 903 EXIST::FUNCTION: | ||
| 896 | sk_find 904 EXIST::FUNCTION: | ||
| 897 | sk_free 905 EXIST::FUNCTION: | ||
| 898 | sk_insert 906 EXIST::FUNCTION: | ||
| 899 | sk_new 907 EXIST::FUNCTION: | ||
| 900 | sk_pop 908 EXIST::FUNCTION: | ||
| 901 | sk_pop_free 909 EXIST::FUNCTION: | ||
| 902 | sk_push 910 EXIST::FUNCTION: | ||
| 903 | sk_set_cmp_func 911 EXIST::FUNCTION: | ||
| 904 | sk_shift 912 EXIST::FUNCTION: | ||
| 905 | sk_unshift 913 EXIST::FUNCTION: | ||
| 906 | sk_zero 914 EXIST::FUNCTION: | ||
| 907 | BIO_f_nbio_test 915 EXIST::FUNCTION: | ||
| 908 | ASN1_TYPE_get 916 EXIST::FUNCTION: | ||
| 909 | ASN1_TYPE_set 917 EXIST::FUNCTION: | ||
| 910 | PKCS7_content_free 918 NOEXIST::FUNCTION: | ||
| 911 | ERR_load_PKCS7_strings 919 EXIST::FUNCTION: | ||
| 912 | X509_find_by_issuer_and_serial 920 EXIST::FUNCTION: | ||
| 913 | X509_find_by_subject 921 EXIST::FUNCTION: | ||
| 914 | PKCS7_ctrl 927 EXIST::FUNCTION: | ||
| 915 | PKCS7_set_type 928 EXIST::FUNCTION: | ||
| 916 | PKCS7_set_content 929 EXIST::FUNCTION: | ||
| 917 | PKCS7_SIGNER_INFO_set 930 EXIST::FUNCTION: | ||
| 918 | PKCS7_add_signer 931 EXIST::FUNCTION: | ||
| 919 | PKCS7_add_certificate 932 EXIST::FUNCTION: | ||
| 920 | PKCS7_add_crl 933 EXIST::FUNCTION: | ||
| 921 | PKCS7_content_new 934 EXIST::FUNCTION: | ||
| 922 | PKCS7_dataSign 935 NOEXIST::FUNCTION: | ||
| 923 | PKCS7_dataVerify 936 EXIST::FUNCTION: | ||
| 924 | PKCS7_dataInit 937 EXIST::FUNCTION: | ||
| 925 | PKCS7_add_signature 938 EXIST::FUNCTION: | ||
| 926 | PKCS7_cert_from_signer_info 939 EXIST::FUNCTION: | ||
| 927 | PKCS7_get_signer_info 940 EXIST::FUNCTION: | ||
| 928 | EVP_delete_alias 941 NOEXIST::FUNCTION: | ||
| 929 | EVP_mdc2 942 EXIST::FUNCTION:MDC2 | ||
| 930 | PEM_read_bio_RSAPublicKey 943 EXIST::FUNCTION:RSA | ||
| 931 | PEM_write_bio_RSAPublicKey 944 EXIST::FUNCTION:RSA | ||
| 932 | d2i_RSAPublicKey_bio 945 EXIST::FUNCTION:BIO,RSA | ||
| 933 | i2d_RSAPublicKey_bio 946 EXIST::FUNCTION:BIO,RSA | ||
| 934 | PEM_read_RSAPublicKey 947 EXIST:!WIN16:FUNCTION:RSA | ||
| 935 | PEM_write_RSAPublicKey 949 EXIST:!WIN16:FUNCTION:RSA | ||
| 936 | d2i_RSAPublicKey_fp 952 EXIST::FUNCTION:FP_API,RSA | ||
| 937 | i2d_RSAPublicKey_fp 954 EXIST::FUNCTION:FP_API,RSA | ||
| 938 | BIO_copy_next_retry 955 EXIST::FUNCTION: | ||
| 939 | RSA_flags 956 EXIST::FUNCTION:RSA | ||
| 940 | X509_STORE_add_crl 957 EXIST::FUNCTION: | ||
| 941 | X509_load_crl_file 958 EXIST::FUNCTION:STDIO | ||
| 942 | EVP_rc2_40_cbc 959 EXIST::FUNCTION:RC2 | ||
| 943 | EVP_rc4_40 960 EXIST::FUNCTION:RC4 | ||
| 944 | EVP_CIPHER_CTX_init 961 EXIST::FUNCTION: | ||
| 945 | HMAC 962 EXIST::FUNCTION:HMAC | ||
| 946 | HMAC_Init 963 EXIST::FUNCTION:HMAC | ||
| 947 | HMAC_Update 964 EXIST::FUNCTION:HMAC | ||
| 948 | HMAC_Final 965 EXIST::FUNCTION:HMAC | ||
| 949 | ERR_get_next_error_library 966 EXIST::FUNCTION: | ||
| 950 | EVP_PKEY_cmp_parameters 967 EXIST::FUNCTION: | ||
| 951 | HMAC_cleanup 968 NOEXIST::FUNCTION: | ||
| 952 | BIO_ptr_ctrl 969 EXIST::FUNCTION: | ||
| 953 | BIO_new_file_internal 970 EXIST:WIN16:FUNCTION:FP_API | ||
| 954 | BIO_new_fp_internal 971 EXIST:WIN16:FUNCTION:FP_API | ||
| 955 | BIO_s_file_internal 972 EXIST:WIN16:FUNCTION:FP_API | ||
| 956 | BN_BLINDING_convert 973 EXIST::FUNCTION: | ||
| 957 | BN_BLINDING_invert 974 EXIST::FUNCTION: | ||
| 958 | BN_BLINDING_update 975 EXIST::FUNCTION: | ||
| 959 | RSA_blinding_on 977 EXIST::FUNCTION:RSA | ||
| 960 | RSA_blinding_off 978 EXIST::FUNCTION:RSA | ||
| 961 | i2t_ASN1_OBJECT 979 EXIST::FUNCTION: | ||
| 962 | BN_BLINDING_new 980 EXIST::FUNCTION: | ||
| 963 | BN_BLINDING_free 981 EXIST::FUNCTION: | ||
| 964 | EVP_cast5_cbc 983 EXIST::FUNCTION:CAST | ||
| 965 | EVP_cast5_cfb64 984 EXIST::FUNCTION:CAST | ||
| 966 | EVP_cast5_ecb 985 EXIST::FUNCTION:CAST | ||
| 967 | EVP_cast5_ofb 986 EXIST::FUNCTION:CAST | ||
| 968 | BF_decrypt 987 EXIST::FUNCTION:BF | ||
| 969 | CAST_set_key 988 EXIST::FUNCTION:CAST | ||
| 970 | CAST_encrypt 989 EXIST::FUNCTION:CAST | ||
| 971 | CAST_decrypt 990 EXIST::FUNCTION:CAST | ||
| 972 | CAST_ecb_encrypt 991 EXIST::FUNCTION:CAST | ||
| 973 | CAST_cbc_encrypt 992 EXIST::FUNCTION:CAST | ||
| 974 | CAST_cfb64_encrypt 993 EXIST::FUNCTION:CAST | ||
| 975 | CAST_ofb64_encrypt 994 EXIST::FUNCTION:CAST | ||
| 976 | RC2_decrypt 995 EXIST::FUNCTION:RC2 | ||
| 977 | OBJ_create_objects 997 EXIST::FUNCTION: | ||
| 978 | BN_exp 998 EXIST::FUNCTION: | ||
| 979 | BN_mul_word 999 EXIST::FUNCTION: | ||
| 980 | BN_sub_word 1000 EXIST::FUNCTION: | ||
| 981 | BN_dec2bn 1001 EXIST::FUNCTION: | ||
| 982 | BN_bn2dec 1002 EXIST::FUNCTION: | ||
| 983 | BIO_ghbn_ctrl 1003 NOEXIST::FUNCTION: | ||
| 984 | CRYPTO_free_ex_data 1004 EXIST::FUNCTION: | ||
| 985 | CRYPTO_get_ex_data 1005 EXIST::FUNCTION: | ||
| 986 | CRYPTO_set_ex_data 1007 EXIST::FUNCTION: | ||
| 987 | ERR_load_CRYPTO_strings 1009 EXIST:!OS2,!VMS,!WIN16:FUNCTION: | ||
| 988 | ERR_load_CRYPTOlib_strings 1009 EXIST:OS2,VMS,WIN16:FUNCTION: | ||
| 989 | EVP_PKEY_bits 1010 EXIST::FUNCTION: | ||
| 990 | MD5_Transform 1011 EXIST::FUNCTION:MD5 | ||
| 991 | SHA1_Transform 1012 EXIST::FUNCTION:SHA,SHA1 | ||
| 992 | SHA_Transform 1013 EXIST::FUNCTION:SHA,SHA0 | ||
| 993 | X509_STORE_CTX_get_chain 1014 EXIST::FUNCTION: | ||
| 994 | X509_STORE_CTX_get_current_cert 1015 EXIST::FUNCTION: | ||
| 995 | X509_STORE_CTX_get_error 1016 EXIST::FUNCTION: | ||
| 996 | X509_STORE_CTX_get_error_depth 1017 EXIST::FUNCTION: | ||
| 997 | X509_STORE_CTX_get_ex_data 1018 EXIST::FUNCTION: | ||
| 998 | X509_STORE_CTX_set_cert 1020 EXIST::FUNCTION: | ||
| 999 | X509_STORE_CTX_set_chain 1021 EXIST::FUNCTION: | ||
| 1000 | X509_STORE_CTX_set_error 1022 EXIST::FUNCTION: | ||
| 1001 | X509_STORE_CTX_set_ex_data 1023 EXIST::FUNCTION: | ||
| 1002 | CRYPTO_dup_ex_data 1025 EXIST::FUNCTION: | ||
| 1003 | CRYPTO_get_new_lockid 1026 EXIST::FUNCTION: | ||
| 1004 | CRYPTO_new_ex_data 1027 EXIST::FUNCTION: | ||
| 1005 | RSA_set_ex_data 1028 EXIST::FUNCTION:RSA | ||
| 1006 | RSA_get_ex_data 1029 EXIST::FUNCTION:RSA | ||
| 1007 | RSA_get_ex_new_index 1030 EXIST::FUNCTION:RSA | ||
| 1008 | RSA_padding_add_PKCS1_type_1 1031 EXIST::FUNCTION:RSA | ||
| 1009 | RSA_padding_add_PKCS1_type_2 1032 EXIST::FUNCTION:RSA | ||
| 1010 | RSA_padding_add_SSLv23 1033 EXIST::FUNCTION:RSA | ||
| 1011 | RSA_padding_add_none 1034 EXIST::FUNCTION:RSA | ||
| 1012 | RSA_padding_check_PKCS1_type_1 1035 EXIST::FUNCTION:RSA | ||
| 1013 | RSA_padding_check_PKCS1_type_2 1036 EXIST::FUNCTION:RSA | ||
| 1014 | RSA_padding_check_SSLv23 1037 EXIST::FUNCTION:RSA | ||
| 1015 | RSA_padding_check_none 1038 EXIST::FUNCTION:RSA | ||
| 1016 | bn_add_words 1039 EXIST::FUNCTION: | ||
| 1017 | d2i_Netscape_RSA_2 1040 NOEXIST::FUNCTION: | ||
| 1018 | CRYPTO_get_ex_new_index 1041 EXIST::FUNCTION: | ||
| 1019 | RIPEMD160_Init 1042 EXIST::FUNCTION:RIPEMD | ||
| 1020 | RIPEMD160_Update 1043 EXIST::FUNCTION:RIPEMD | ||
| 1021 | RIPEMD160_Final 1044 EXIST::FUNCTION:RIPEMD | ||
| 1022 | RIPEMD160 1045 EXIST::FUNCTION:RIPEMD | ||
| 1023 | RIPEMD160_Transform 1046 EXIST::FUNCTION:RIPEMD | ||
| 1024 | RC5_32_set_key 1047 EXIST::FUNCTION:RC5 | ||
| 1025 | RC5_32_ecb_encrypt 1048 EXIST::FUNCTION:RC5 | ||
| 1026 | RC5_32_encrypt 1049 EXIST::FUNCTION:RC5 | ||
| 1027 | RC5_32_decrypt 1050 EXIST::FUNCTION:RC5 | ||
| 1028 | RC5_32_cbc_encrypt 1051 EXIST::FUNCTION:RC5 | ||
| 1029 | RC5_32_cfb64_encrypt 1052 EXIST::FUNCTION:RC5 | ||
| 1030 | RC5_32_ofb64_encrypt 1053 EXIST::FUNCTION:RC5 | ||
| 1031 | BN_bn2mpi 1058 EXIST::FUNCTION: | ||
| 1032 | BN_mpi2bn 1059 EXIST::FUNCTION: | ||
| 1033 | ASN1_BIT_STRING_get_bit 1060 EXIST::FUNCTION: | ||
| 1034 | ASN1_BIT_STRING_set_bit 1061 EXIST::FUNCTION: | ||
| 1035 | BIO_get_ex_data 1062 EXIST::FUNCTION: | ||
| 1036 | BIO_get_ex_new_index 1063 EXIST::FUNCTION: | ||
| 1037 | BIO_set_ex_data 1064 EXIST::FUNCTION: | ||
| 1038 | X509v3_get_key_usage 1066 NOEXIST::FUNCTION: | ||
| 1039 | X509v3_set_key_usage 1067 NOEXIST::FUNCTION: | ||
| 1040 | a2i_X509v3_key_usage 1068 NOEXIST::FUNCTION: | ||
| 1041 | i2a_X509v3_key_usage 1069 NOEXIST::FUNCTION: | ||
| 1042 | EVP_PKEY_decrypt 1070 EXIST::FUNCTION: | ||
| 1043 | EVP_PKEY_encrypt 1071 EXIST::FUNCTION: | ||
| 1044 | PKCS7_RECIP_INFO_set 1072 EXIST::FUNCTION: | ||
| 1045 | PKCS7_add_recipient 1073 EXIST::FUNCTION: | ||
| 1046 | PKCS7_add_recipient_info 1074 EXIST::FUNCTION: | ||
| 1047 | PKCS7_set_cipher 1075 EXIST::FUNCTION: | ||
| 1048 | ASN1_TYPE_get_int_octetstring 1076 EXIST::FUNCTION: | ||
| 1049 | ASN1_TYPE_get_octetstring 1077 EXIST::FUNCTION: | ||
| 1050 | ASN1_TYPE_set_int_octetstring 1078 EXIST::FUNCTION: | ||
| 1051 | ASN1_TYPE_set_octetstring 1079 EXIST::FUNCTION: | ||
| 1052 | ASN1_UTCTIME_set_string 1080 EXIST::FUNCTION: | ||
| 1053 | ERR_add_error_data 1081 EXIST::FUNCTION:BIO | ||
| 1054 | ERR_set_error_data 1082 EXIST::FUNCTION: | ||
| 1055 | EVP_CIPHER_asn1_to_param 1083 EXIST::FUNCTION: | ||
| 1056 | EVP_CIPHER_param_to_asn1 1084 EXIST::FUNCTION: | ||
| 1057 | EVP_CIPHER_get_asn1_iv 1085 EXIST::FUNCTION: | ||
| 1058 | EVP_CIPHER_set_asn1_iv 1086 EXIST::FUNCTION: | ||
| 1059 | EVP_rc5_32_12_16_cbc 1087 EXIST::FUNCTION:RC5 | ||
| 1060 | EVP_rc5_32_12_16_cfb64 1088 EXIST::FUNCTION:RC5 | ||
| 1061 | EVP_rc5_32_12_16_ecb 1089 EXIST::FUNCTION:RC5 | ||
| 1062 | EVP_rc5_32_12_16_ofb 1090 EXIST::FUNCTION:RC5 | ||
| 1063 | asn1_add_error 1091 EXIST::FUNCTION: | ||
| 1064 | d2i_ASN1_BMPSTRING 1092 EXIST::FUNCTION: | ||
| 1065 | i2d_ASN1_BMPSTRING 1093 EXIST::FUNCTION: | ||
| 1066 | BIO_f_ber 1094 NOEXIST::FUNCTION: | ||
| 1067 | BN_init 1095 EXIST::FUNCTION: | ||
| 1068 | COMP_CTX_new 1096 EXIST::FUNCTION: | ||
| 1069 | COMP_CTX_free 1097 EXIST::FUNCTION: | ||
| 1070 | COMP_CTX_compress_block 1098 NOEXIST::FUNCTION: | ||
| 1071 | COMP_CTX_expand_block 1099 NOEXIST::FUNCTION: | ||
| 1072 | X509_STORE_CTX_get_ex_new_index 1100 EXIST::FUNCTION: | ||
| 1073 | OBJ_NAME_add 1101 EXIST::FUNCTION: | ||
| 1074 | BIO_socket_nbio 1102 EXIST::FUNCTION: | ||
| 1075 | EVP_rc2_64_cbc 1103 EXIST::FUNCTION:RC2 | ||
| 1076 | OBJ_NAME_cleanup 1104 EXIST::FUNCTION: | ||
| 1077 | OBJ_NAME_get 1105 EXIST::FUNCTION: | ||
| 1078 | OBJ_NAME_init 1106 EXIST::FUNCTION: | ||
| 1079 | OBJ_NAME_new_index 1107 EXIST::FUNCTION: | ||
| 1080 | OBJ_NAME_remove 1108 EXIST::FUNCTION: | ||
| 1081 | BN_MONT_CTX_copy 1109 EXIST::FUNCTION: | ||
| 1082 | BIO_new_socks4a_connect 1110 NOEXIST::FUNCTION: | ||
| 1083 | BIO_s_socks4a_connect 1111 NOEXIST::FUNCTION: | ||
| 1084 | PROXY_set_connect_mode 1112 NOEXIST::FUNCTION: | ||
| 1085 | RAND_SSLeay 1113 EXIST::FUNCTION: | ||
| 1086 | RAND_set_rand_method 1114 EXIST::FUNCTION: | ||
| 1087 | RSA_memory_lock 1115 EXIST::FUNCTION:RSA | ||
| 1088 | bn_sub_words 1116 EXIST::FUNCTION: | ||
| 1089 | bn_mul_normal 1117 NOEXIST::FUNCTION: | ||
| 1090 | bn_mul_comba8 1118 NOEXIST::FUNCTION: | ||
| 1091 | bn_mul_comba4 1119 NOEXIST::FUNCTION: | ||
| 1092 | bn_sqr_normal 1120 NOEXIST::FUNCTION: | ||
| 1093 | bn_sqr_comba8 1121 NOEXIST::FUNCTION: | ||
| 1094 | bn_sqr_comba4 1122 NOEXIST::FUNCTION: | ||
| 1095 | bn_cmp_words 1123 NOEXIST::FUNCTION: | ||
| 1096 | bn_mul_recursive 1124 NOEXIST::FUNCTION: | ||
| 1097 | bn_mul_part_recursive 1125 NOEXIST::FUNCTION: | ||
| 1098 | bn_sqr_recursive 1126 NOEXIST::FUNCTION: | ||
| 1099 | bn_mul_low_normal 1127 NOEXIST::FUNCTION: | ||
| 1100 | BN_RECP_CTX_init 1128 EXIST::FUNCTION: | ||
| 1101 | BN_RECP_CTX_new 1129 EXIST::FUNCTION: | ||
| 1102 | BN_RECP_CTX_free 1130 EXIST::FUNCTION: | ||
| 1103 | BN_RECP_CTX_set 1131 EXIST::FUNCTION: | ||
| 1104 | BN_mod_mul_reciprocal 1132 EXIST::FUNCTION: | ||
| 1105 | BN_mod_exp_recp 1133 EXIST::FUNCTION: | ||
| 1106 | BN_div_recp 1134 EXIST::FUNCTION: | ||
| 1107 | BN_CTX_init 1135 EXIST::FUNCTION:DEPRECATED | ||
| 1108 | BN_MONT_CTX_init 1136 EXIST::FUNCTION: | ||
| 1109 | RAND_get_rand_method 1137 EXIST::FUNCTION: | ||
| 1110 | PKCS7_add_attribute 1138 EXIST::FUNCTION: | ||
| 1111 | PKCS7_add_signed_attribute 1139 EXIST::FUNCTION: | ||
| 1112 | PKCS7_digest_from_attributes 1140 EXIST::FUNCTION: | ||
| 1113 | PKCS7_get_attribute 1141 EXIST::FUNCTION: | ||
| 1114 | PKCS7_get_issuer_and_serial 1142 EXIST::FUNCTION: | ||
| 1115 | PKCS7_get_signed_attribute 1143 EXIST::FUNCTION: | ||
| 1116 | COMP_compress_block 1144 EXIST::FUNCTION: | ||
| 1117 | COMP_expand_block 1145 EXIST::FUNCTION: | ||
| 1118 | COMP_rle 1146 EXIST::FUNCTION: | ||
| 1119 | COMP_zlib 1147 EXIST::FUNCTION: | ||
| 1120 | ms_time_diff 1148 EXIST::FUNCTION: | ||
| 1121 | ms_time_new 1149 EXIST::FUNCTION: | ||
| 1122 | ms_time_free 1150 EXIST::FUNCTION: | ||
| 1123 | ms_time_cmp 1151 EXIST::FUNCTION: | ||
| 1124 | ms_time_get 1152 EXIST::FUNCTION: | ||
| 1125 | PKCS7_set_attributes 1153 EXIST::FUNCTION: | ||
| 1126 | PKCS7_set_signed_attributes 1154 EXIST::FUNCTION: | ||
| 1127 | X509_ATTRIBUTE_create 1155 EXIST::FUNCTION: | ||
| 1128 | X509_ATTRIBUTE_dup 1156 EXIST::FUNCTION: | ||
| 1129 | ASN1_GENERALIZEDTIME_check 1157 EXIST::FUNCTION: | ||
| 1130 | ASN1_GENERALIZEDTIME_print 1158 EXIST::FUNCTION:BIO | ||
| 1131 | ASN1_GENERALIZEDTIME_set 1159 EXIST::FUNCTION: | ||
| 1132 | ASN1_GENERALIZEDTIME_set_string 1160 EXIST::FUNCTION: | ||
| 1133 | ASN1_TIME_print 1161 EXIST::FUNCTION:BIO | ||
| 1134 | BASIC_CONSTRAINTS_free 1162 EXIST::FUNCTION: | ||
| 1135 | BASIC_CONSTRAINTS_new 1163 EXIST::FUNCTION: | ||
| 1136 | ERR_load_X509V3_strings 1164 EXIST::FUNCTION: | ||
| 1137 | NETSCAPE_CERT_SEQUENCE_free 1165 EXIST::FUNCTION: | ||
| 1138 | NETSCAPE_CERT_SEQUENCE_new 1166 EXIST::FUNCTION: | ||
| 1139 | OBJ_txt2obj 1167 EXIST::FUNCTION: | ||
| 1140 | PEM_read_NETSCAPE_CERT_SEQUENCE 1168 EXIST:!VMS,!WIN16:FUNCTION: | ||
| 1141 | PEM_read_NS_CERT_SEQ 1168 EXIST:VMS:FUNCTION: | ||
| 1142 | PEM_read_bio_NETSCAPE_CERT_SEQUENCE 1169 EXIST:!VMS:FUNCTION: | ||
| 1143 | PEM_read_bio_NS_CERT_SEQ 1169 EXIST:VMS:FUNCTION: | ||
| 1144 | PEM_write_NETSCAPE_CERT_SEQUENCE 1170 EXIST:!VMS,!WIN16:FUNCTION: | ||
| 1145 | PEM_write_NS_CERT_SEQ 1170 EXIST:VMS:FUNCTION: | ||
| 1146 | PEM_write_bio_NETSCAPE_CERT_SEQUENCE 1171 EXIST:!VMS:FUNCTION: | ||
| 1147 | PEM_write_bio_NS_CERT_SEQ 1171 EXIST:VMS:FUNCTION: | ||
| 1148 | X509V3_EXT_add 1172 EXIST::FUNCTION: | ||
| 1149 | X509V3_EXT_add_alias 1173 EXIST::FUNCTION: | ||
| 1150 | X509V3_EXT_add_conf 1174 EXIST::FUNCTION: | ||
| 1151 | X509V3_EXT_cleanup 1175 EXIST::FUNCTION: | ||
| 1152 | X509V3_EXT_conf 1176 EXIST::FUNCTION: | ||
| 1153 | X509V3_EXT_conf_nid 1177 EXIST::FUNCTION: | ||
| 1154 | X509V3_EXT_get 1178 EXIST::FUNCTION: | ||
| 1155 | X509V3_EXT_get_nid 1179 EXIST::FUNCTION: | ||
| 1156 | X509V3_EXT_print 1180 EXIST::FUNCTION: | ||
| 1157 | X509V3_EXT_print_fp 1181 EXIST::FUNCTION: | ||
| 1158 | X509V3_add_standard_extensions 1182 EXIST::FUNCTION: | ||
| 1159 | X509V3_add_value 1183 EXIST::FUNCTION: | ||
| 1160 | X509V3_add_value_bool 1184 EXIST::FUNCTION: | ||
| 1161 | X509V3_add_value_int 1185 EXIST::FUNCTION: | ||
| 1162 | X509V3_conf_free 1186 EXIST::FUNCTION: | ||
| 1163 | X509V3_get_value_bool 1187 EXIST::FUNCTION: | ||
| 1164 | X509V3_get_value_int 1188 EXIST::FUNCTION: | ||
| 1165 | X509V3_parse_list 1189 EXIST::FUNCTION: | ||
| 1166 | d2i_ASN1_GENERALIZEDTIME 1190 EXIST::FUNCTION: | ||
| 1167 | d2i_ASN1_TIME 1191 EXIST::FUNCTION: | ||
| 1168 | d2i_BASIC_CONSTRAINTS 1192 EXIST::FUNCTION: | ||
| 1169 | d2i_NETSCAPE_CERT_SEQUENCE 1193 EXIST::FUNCTION: | ||
| 1170 | d2i_ext_ku 1194 NOEXIST::FUNCTION: | ||
| 1171 | ext_ku_free 1195 NOEXIST::FUNCTION: | ||
| 1172 | ext_ku_new 1196 NOEXIST::FUNCTION: | ||
| 1173 | i2d_ASN1_GENERALIZEDTIME 1197 EXIST::FUNCTION: | ||
| 1174 | i2d_ASN1_TIME 1198 EXIST::FUNCTION: | ||
| 1175 | i2d_BASIC_CONSTRAINTS 1199 EXIST::FUNCTION: | ||
| 1176 | i2d_NETSCAPE_CERT_SEQUENCE 1200 EXIST::FUNCTION: | ||
| 1177 | i2d_ext_ku 1201 NOEXIST::FUNCTION: | ||
| 1178 | EVP_MD_CTX_copy 1202 EXIST::FUNCTION: | ||
| 1179 | i2d_ASN1_ENUMERATED 1203 EXIST::FUNCTION: | ||
| 1180 | d2i_ASN1_ENUMERATED 1204 EXIST::FUNCTION: | ||
| 1181 | ASN1_ENUMERATED_set 1205 EXIST::FUNCTION: | ||
| 1182 | ASN1_ENUMERATED_get 1206 EXIST::FUNCTION: | ||
| 1183 | BN_to_ASN1_ENUMERATED 1207 EXIST::FUNCTION: | ||
| 1184 | ASN1_ENUMERATED_to_BN 1208 EXIST::FUNCTION: | ||
| 1185 | i2a_ASN1_ENUMERATED 1209 EXIST::FUNCTION:BIO | ||
| 1186 | a2i_ASN1_ENUMERATED 1210 EXIST::FUNCTION:BIO | ||
| 1187 | i2d_GENERAL_NAME 1211 EXIST::FUNCTION: | ||
| 1188 | d2i_GENERAL_NAME 1212 EXIST::FUNCTION: | ||
| 1189 | GENERAL_NAME_new 1213 EXIST::FUNCTION: | ||
| 1190 | GENERAL_NAME_free 1214 EXIST::FUNCTION: | ||
| 1191 | GENERAL_NAMES_new 1215 EXIST::FUNCTION: | ||
| 1192 | GENERAL_NAMES_free 1216 EXIST::FUNCTION: | ||
| 1193 | d2i_GENERAL_NAMES 1217 EXIST::FUNCTION: | ||
| 1194 | i2d_GENERAL_NAMES 1218 EXIST::FUNCTION: | ||
| 1195 | i2v_GENERAL_NAMES 1219 EXIST::FUNCTION: | ||
| 1196 | i2s_ASN1_OCTET_STRING 1220 EXIST::FUNCTION: | ||
| 1197 | s2i_ASN1_OCTET_STRING 1221 EXIST::FUNCTION: | ||
| 1198 | X509V3_EXT_check_conf 1222 NOEXIST::FUNCTION: | ||
| 1199 | hex_to_string 1223 EXIST::FUNCTION: | ||
| 1200 | string_to_hex 1224 EXIST::FUNCTION: | ||
| 1201 | DES_ede3_cbcm_encrypt 1225 EXIST::FUNCTION:DES | ||
| 1202 | RSA_padding_add_PKCS1_OAEP 1226 EXIST::FUNCTION:RSA | ||
| 1203 | RSA_padding_check_PKCS1_OAEP 1227 EXIST::FUNCTION:RSA | ||
| 1204 | X509_CRL_print_fp 1228 EXIST::FUNCTION:FP_API | ||
| 1205 | X509_CRL_print 1229 EXIST::FUNCTION:BIO | ||
| 1206 | i2v_GENERAL_NAME 1230 EXIST::FUNCTION: | ||
| 1207 | v2i_GENERAL_NAME 1231 EXIST::FUNCTION: | ||
| 1208 | i2d_PKEY_USAGE_PERIOD 1232 EXIST::FUNCTION: | ||
| 1209 | d2i_PKEY_USAGE_PERIOD 1233 EXIST::FUNCTION: | ||
| 1210 | PKEY_USAGE_PERIOD_new 1234 EXIST::FUNCTION: | ||
| 1211 | PKEY_USAGE_PERIOD_free 1235 EXIST::FUNCTION: | ||
| 1212 | v2i_GENERAL_NAMES 1236 EXIST::FUNCTION: | ||
| 1213 | i2s_ASN1_INTEGER 1237 EXIST::FUNCTION: | ||
| 1214 | X509V3_EXT_d2i 1238 EXIST::FUNCTION: | ||
| 1215 | name_cmp 1239 EXIST::FUNCTION: | ||
| 1216 | str_dup 1240 NOEXIST::FUNCTION: | ||
| 1217 | i2s_ASN1_ENUMERATED 1241 EXIST::FUNCTION: | ||
| 1218 | i2s_ASN1_ENUMERATED_TABLE 1242 EXIST::FUNCTION: | ||
| 1219 | BIO_s_log 1243 EXIST:!OS2,!WIN16,!WIN32,!macintosh:FUNCTION: | ||
| 1220 | BIO_f_reliable 1244 EXIST::FUNCTION:BIO | ||
| 1221 | PKCS7_dataFinal 1245 EXIST::FUNCTION: | ||
| 1222 | PKCS7_dataDecode 1246 EXIST::FUNCTION: | ||
| 1223 | X509V3_EXT_CRL_add_conf 1247 EXIST::FUNCTION: | ||
| 1224 | BN_set_params 1248 EXIST::FUNCTION:DEPRECATED | ||
| 1225 | BN_get_params 1249 EXIST::FUNCTION:DEPRECATED | ||
| 1226 | BIO_get_ex_num 1250 NOEXIST::FUNCTION: | ||
| 1227 | BIO_set_ex_free_func 1251 NOEXIST::FUNCTION: | ||
| 1228 | EVP_ripemd160 1252 EXIST::FUNCTION:RIPEMD | ||
| 1229 | ASN1_TIME_set 1253 EXIST::FUNCTION: | ||
| 1230 | i2d_AUTHORITY_KEYID 1254 EXIST::FUNCTION: | ||
| 1231 | d2i_AUTHORITY_KEYID 1255 EXIST::FUNCTION: | ||
| 1232 | AUTHORITY_KEYID_new 1256 EXIST::FUNCTION: | ||
| 1233 | AUTHORITY_KEYID_free 1257 EXIST::FUNCTION: | ||
| 1234 | ASN1_seq_unpack 1258 EXIST::FUNCTION: | ||
| 1235 | ASN1_seq_pack 1259 EXIST::FUNCTION: | ||
| 1236 | ASN1_unpack_string 1260 EXIST::FUNCTION: | ||
| 1237 | ASN1_pack_string 1261 EXIST::FUNCTION: | ||
| 1238 | PKCS12_pack_safebag 1262 NOEXIST::FUNCTION: | ||
| 1239 | PKCS12_MAKE_KEYBAG 1263 EXIST::FUNCTION: | ||
| 1240 | PKCS8_encrypt 1264 EXIST::FUNCTION: | ||
| 1241 | PKCS12_MAKE_SHKEYBAG 1265 EXIST::FUNCTION: | ||
| 1242 | PKCS12_pack_p7data 1266 EXIST::FUNCTION: | ||
| 1243 | PKCS12_pack_p7encdata 1267 EXIST::FUNCTION: | ||
| 1244 | PKCS12_add_localkeyid 1268 EXIST::FUNCTION: | ||
| 1245 | PKCS12_add_friendlyname_asc 1269 EXIST::FUNCTION: | ||
| 1246 | PKCS12_add_friendlyname_uni 1270 EXIST::FUNCTION: | ||
| 1247 | PKCS12_get_friendlyname 1271 EXIST::FUNCTION: | ||
| 1248 | PKCS12_pbe_crypt 1272 EXIST::FUNCTION: | ||
| 1249 | PKCS12_decrypt_d2i 1273 NOEXIST::FUNCTION: | ||
| 1250 | PKCS12_i2d_encrypt 1274 NOEXIST::FUNCTION: | ||
| 1251 | PKCS12_init 1275 EXIST::FUNCTION: | ||
| 1252 | PKCS12_key_gen_asc 1276 EXIST::FUNCTION: | ||
| 1253 | PKCS12_key_gen_uni 1277 EXIST::FUNCTION: | ||
| 1254 | PKCS12_gen_mac 1278 EXIST::FUNCTION: | ||
| 1255 | PKCS12_verify_mac 1279 EXIST::FUNCTION: | ||
| 1256 | PKCS12_set_mac 1280 EXIST::FUNCTION: | ||
| 1257 | PKCS12_setup_mac 1281 EXIST::FUNCTION: | ||
| 1258 | asc2uni 1282 EXIST::FUNCTION: | ||
| 1259 | uni2asc 1283 EXIST::FUNCTION: | ||
| 1260 | i2d_PKCS12_BAGS 1284 EXIST::FUNCTION: | ||
| 1261 | PKCS12_BAGS_new 1285 EXIST::FUNCTION: | ||
| 1262 | d2i_PKCS12_BAGS 1286 EXIST::FUNCTION: | ||
| 1263 | PKCS12_BAGS_free 1287 EXIST::FUNCTION: | ||
| 1264 | i2d_PKCS12 1288 EXIST::FUNCTION: | ||
| 1265 | d2i_PKCS12 1289 EXIST::FUNCTION: | ||
| 1266 | PKCS12_new 1290 EXIST::FUNCTION: | ||
| 1267 | PKCS12_free 1291 EXIST::FUNCTION: | ||
| 1268 | i2d_PKCS12_MAC_DATA 1292 EXIST::FUNCTION: | ||
| 1269 | PKCS12_MAC_DATA_new 1293 EXIST::FUNCTION: | ||
| 1270 | d2i_PKCS12_MAC_DATA 1294 EXIST::FUNCTION: | ||
| 1271 | PKCS12_MAC_DATA_free 1295 EXIST::FUNCTION: | ||
| 1272 | i2d_PKCS12_SAFEBAG 1296 EXIST::FUNCTION: | ||
| 1273 | PKCS12_SAFEBAG_new 1297 EXIST::FUNCTION: | ||
| 1274 | d2i_PKCS12_SAFEBAG 1298 EXIST::FUNCTION: | ||
| 1275 | PKCS12_SAFEBAG_free 1299 EXIST::FUNCTION: | ||
| 1276 | ERR_load_PKCS12_strings 1300 EXIST::FUNCTION: | ||
| 1277 | PKCS12_PBE_add 1301 EXIST::FUNCTION: | ||
| 1278 | PKCS8_add_keyusage 1302 EXIST::FUNCTION: | ||
| 1279 | PKCS12_get_attr_gen 1303 EXIST::FUNCTION: | ||
| 1280 | PKCS12_parse 1304 EXIST::FUNCTION: | ||
| 1281 | PKCS12_create 1305 EXIST::FUNCTION: | ||
| 1282 | i2d_PKCS12_bio 1306 EXIST::FUNCTION: | ||
| 1283 | i2d_PKCS12_fp 1307 EXIST::FUNCTION: | ||
| 1284 | d2i_PKCS12_bio 1308 EXIST::FUNCTION: | ||
| 1285 | d2i_PKCS12_fp 1309 EXIST::FUNCTION: | ||
| 1286 | i2d_PBEPARAM 1310 EXIST::FUNCTION: | ||
| 1287 | PBEPARAM_new 1311 EXIST::FUNCTION: | ||
| 1288 | d2i_PBEPARAM 1312 EXIST::FUNCTION: | ||
| 1289 | PBEPARAM_free 1313 EXIST::FUNCTION: | ||
| 1290 | i2d_PKCS8_PRIV_KEY_INFO 1314 EXIST::FUNCTION: | ||
| 1291 | PKCS8_PRIV_KEY_INFO_new 1315 EXIST::FUNCTION: | ||
| 1292 | d2i_PKCS8_PRIV_KEY_INFO 1316 EXIST::FUNCTION: | ||
| 1293 | PKCS8_PRIV_KEY_INFO_free 1317 EXIST::FUNCTION: | ||
| 1294 | EVP_PKCS82PKEY 1318 EXIST::FUNCTION: | ||
| 1295 | EVP_PKEY2PKCS8 1319 EXIST::FUNCTION: | ||
| 1296 | PKCS8_set_broken 1320 EXIST::FUNCTION: | ||
| 1297 | EVP_PBE_ALGOR_CipherInit 1321 NOEXIST::FUNCTION: | ||
| 1298 | EVP_PBE_alg_add 1322 EXIST::FUNCTION: | ||
| 1299 | PKCS5_pbe_set 1323 EXIST::FUNCTION: | ||
| 1300 | EVP_PBE_cleanup 1324 EXIST::FUNCTION: | ||
| 1301 | i2d_SXNET 1325 EXIST::FUNCTION: | ||
| 1302 | d2i_SXNET 1326 EXIST::FUNCTION: | ||
| 1303 | SXNET_new 1327 EXIST::FUNCTION: | ||
| 1304 | SXNET_free 1328 EXIST::FUNCTION: | ||
| 1305 | i2d_SXNETID 1329 EXIST::FUNCTION: | ||
| 1306 | d2i_SXNETID 1330 EXIST::FUNCTION: | ||
| 1307 | SXNETID_new 1331 EXIST::FUNCTION: | ||
| 1308 | SXNETID_free 1332 EXIST::FUNCTION: | ||
| 1309 | DSA_SIG_new 1333 EXIST::FUNCTION:DSA | ||
| 1310 | DSA_SIG_free 1334 EXIST::FUNCTION:DSA | ||
| 1311 | DSA_do_sign 1335 EXIST::FUNCTION:DSA | ||
| 1312 | DSA_do_verify 1336 EXIST::FUNCTION:DSA | ||
| 1313 | d2i_DSA_SIG 1337 EXIST::FUNCTION:DSA | ||
| 1314 | i2d_DSA_SIG 1338 EXIST::FUNCTION:DSA | ||
| 1315 | i2d_ASN1_VISIBLESTRING 1339 EXIST::FUNCTION: | ||
| 1316 | d2i_ASN1_VISIBLESTRING 1340 EXIST::FUNCTION: | ||
| 1317 | i2d_ASN1_UTF8STRING 1341 EXIST::FUNCTION: | ||
| 1318 | d2i_ASN1_UTF8STRING 1342 EXIST::FUNCTION: | ||
| 1319 | i2d_DIRECTORYSTRING 1343 EXIST::FUNCTION: | ||
| 1320 | d2i_DIRECTORYSTRING 1344 EXIST::FUNCTION: | ||
| 1321 | i2d_DISPLAYTEXT 1345 EXIST::FUNCTION: | ||
| 1322 | d2i_DISPLAYTEXT 1346 EXIST::FUNCTION: | ||
| 1323 | d2i_ASN1_SET_OF_X509 1379 NOEXIST::FUNCTION: | ||
| 1324 | i2d_ASN1_SET_OF_X509 1380 NOEXIST::FUNCTION: | ||
| 1325 | i2d_PBKDF2PARAM 1397 EXIST::FUNCTION: | ||
| 1326 | PBKDF2PARAM_new 1398 EXIST::FUNCTION: | ||
| 1327 | d2i_PBKDF2PARAM 1399 EXIST::FUNCTION: | ||
| 1328 | PBKDF2PARAM_free 1400 EXIST::FUNCTION: | ||
| 1329 | i2d_PBE2PARAM 1401 EXIST::FUNCTION: | ||
| 1330 | PBE2PARAM_new 1402 EXIST::FUNCTION: | ||
| 1331 | d2i_PBE2PARAM 1403 EXIST::FUNCTION: | ||
| 1332 | PBE2PARAM_free 1404 EXIST::FUNCTION: | ||
| 1333 | d2i_ASN1_SET_OF_GENERAL_NAME 1421 NOEXIST::FUNCTION: | ||
| 1334 | i2d_ASN1_SET_OF_GENERAL_NAME 1422 NOEXIST::FUNCTION: | ||
| 1335 | d2i_ASN1_SET_OF_SXNETID 1439 NOEXIST::FUNCTION: | ||
| 1336 | i2d_ASN1_SET_OF_SXNETID 1440 NOEXIST::FUNCTION: | ||
| 1337 | d2i_ASN1_SET_OF_POLICYQUALINFO 1457 NOEXIST::FUNCTION: | ||
| 1338 | i2d_ASN1_SET_OF_POLICYQUALINFO 1458 NOEXIST::FUNCTION: | ||
| 1339 | d2i_ASN1_SET_OF_POLICYINFO 1475 NOEXIST::FUNCTION: | ||
| 1340 | i2d_ASN1_SET_OF_POLICYINFO 1476 NOEXIST::FUNCTION: | ||
| 1341 | SXNET_add_id_asc 1477 EXIST::FUNCTION: | ||
| 1342 | SXNET_add_id_ulong 1478 EXIST::FUNCTION: | ||
| 1343 | SXNET_add_id_INTEGER 1479 EXIST::FUNCTION: | ||
| 1344 | SXNET_get_id_asc 1480 EXIST::FUNCTION: | ||
| 1345 | SXNET_get_id_ulong 1481 EXIST::FUNCTION: | ||
| 1346 | SXNET_get_id_INTEGER 1482 EXIST::FUNCTION: | ||
| 1347 | X509V3_set_conf_lhash 1483 EXIST::FUNCTION: | ||
| 1348 | i2d_CERTIFICATEPOLICIES 1484 EXIST::FUNCTION: | ||
| 1349 | CERTIFICATEPOLICIES_new 1485 EXIST::FUNCTION: | ||
| 1350 | CERTIFICATEPOLICIES_free 1486 EXIST::FUNCTION: | ||
| 1351 | d2i_CERTIFICATEPOLICIES 1487 EXIST::FUNCTION: | ||
| 1352 | i2d_POLICYINFO 1488 EXIST::FUNCTION: | ||
| 1353 | POLICYINFO_new 1489 EXIST::FUNCTION: | ||
| 1354 | d2i_POLICYINFO 1490 EXIST::FUNCTION: | ||
| 1355 | POLICYINFO_free 1491 EXIST::FUNCTION: | ||
| 1356 | i2d_POLICYQUALINFO 1492 EXIST::FUNCTION: | ||
| 1357 | POLICYQUALINFO_new 1493 EXIST::FUNCTION: | ||
| 1358 | d2i_POLICYQUALINFO 1494 EXIST::FUNCTION: | ||
| 1359 | POLICYQUALINFO_free 1495 EXIST::FUNCTION: | ||
| 1360 | i2d_USERNOTICE 1496 EXIST::FUNCTION: | ||
| 1361 | USERNOTICE_new 1497 EXIST::FUNCTION: | ||
| 1362 | d2i_USERNOTICE 1498 EXIST::FUNCTION: | ||
| 1363 | USERNOTICE_free 1499 EXIST::FUNCTION: | ||
| 1364 | i2d_NOTICEREF 1500 EXIST::FUNCTION: | ||
| 1365 | NOTICEREF_new 1501 EXIST::FUNCTION: | ||
| 1366 | d2i_NOTICEREF 1502 EXIST::FUNCTION: | ||
| 1367 | NOTICEREF_free 1503 EXIST::FUNCTION: | ||
| 1368 | X509V3_get_string 1504 EXIST::FUNCTION: | ||
| 1369 | X509V3_get_section 1505 EXIST::FUNCTION: | ||
| 1370 | X509V3_string_free 1506 EXIST::FUNCTION: | ||
| 1371 | X509V3_section_free 1507 EXIST::FUNCTION: | ||
| 1372 | X509V3_set_ctx 1508 EXIST::FUNCTION: | ||
| 1373 | s2i_ASN1_INTEGER 1509 EXIST::FUNCTION: | ||
| 1374 | CRYPTO_set_locked_mem_functions 1510 EXIST::FUNCTION: | ||
| 1375 | CRYPTO_get_locked_mem_functions 1511 EXIST::FUNCTION: | ||
| 1376 | CRYPTO_malloc_locked 1512 EXIST::FUNCTION: | ||
| 1377 | CRYPTO_free_locked 1513 EXIST::FUNCTION: | ||
| 1378 | BN_mod_exp2_mont 1514 EXIST::FUNCTION: | ||
| 1379 | ERR_get_error_line_data 1515 EXIST::FUNCTION: | ||
| 1380 | ERR_peek_error_line_data 1516 EXIST::FUNCTION: | ||
| 1381 | PKCS12_PBE_keyivgen 1517 EXIST::FUNCTION: | ||
| 1382 | X509_ALGOR_dup 1518 EXIST::FUNCTION: | ||
| 1383 | d2i_ASN1_SET_OF_DIST_POINT 1535 NOEXIST::FUNCTION: | ||
| 1384 | i2d_ASN1_SET_OF_DIST_POINT 1536 NOEXIST::FUNCTION: | ||
| 1385 | i2d_CRL_DIST_POINTS 1537 EXIST::FUNCTION: | ||
| 1386 | CRL_DIST_POINTS_new 1538 EXIST::FUNCTION: | ||
| 1387 | CRL_DIST_POINTS_free 1539 EXIST::FUNCTION: | ||
| 1388 | d2i_CRL_DIST_POINTS 1540 EXIST::FUNCTION: | ||
| 1389 | i2d_DIST_POINT 1541 EXIST::FUNCTION: | ||
| 1390 | DIST_POINT_new 1542 EXIST::FUNCTION: | ||
| 1391 | d2i_DIST_POINT 1543 EXIST::FUNCTION: | ||
| 1392 | DIST_POINT_free 1544 EXIST::FUNCTION: | ||
| 1393 | i2d_DIST_POINT_NAME 1545 EXIST::FUNCTION: | ||
| 1394 | DIST_POINT_NAME_new 1546 EXIST::FUNCTION: | ||
| 1395 | DIST_POINT_NAME_free 1547 EXIST::FUNCTION: | ||
| 1396 | d2i_DIST_POINT_NAME 1548 EXIST::FUNCTION: | ||
| 1397 | X509V3_add_value_uchar 1549 EXIST::FUNCTION: | ||
| 1398 | d2i_ASN1_SET_OF_X509_ATTRIBUTE 1555 NOEXIST::FUNCTION: | ||
| 1399 | i2d_ASN1_SET_OF_ASN1_TYPE 1560 NOEXIST::FUNCTION: | ||
| 1400 | d2i_ASN1_SET_OF_X509_EXTENSION 1567 NOEXIST::FUNCTION: | ||
| 1401 | d2i_ASN1_SET_OF_X509_NAME_ENTRY 1574 NOEXIST::FUNCTION: | ||
| 1402 | d2i_ASN1_SET_OF_ASN1_TYPE 1589 NOEXIST::FUNCTION: | ||
| 1403 | i2d_ASN1_SET_OF_X509_ATTRIBUTE 1615 NOEXIST::FUNCTION: | ||
| 1404 | i2d_ASN1_SET_OF_X509_EXTENSION 1624 NOEXIST::FUNCTION: | ||
| 1405 | i2d_ASN1_SET_OF_X509_NAME_ENTRY 1633 NOEXIST::FUNCTION: | ||
| 1406 | X509V3_EXT_i2d 1646 EXIST::FUNCTION: | ||
| 1407 | X509V3_EXT_val_prn 1647 EXIST::FUNCTION: | ||
| 1408 | X509V3_EXT_add_list 1648 EXIST::FUNCTION: | ||
| 1409 | EVP_CIPHER_type 1649 EXIST::FUNCTION: | ||
| 1410 | EVP_PBE_CipherInit 1650 EXIST::FUNCTION: | ||
| 1411 | X509V3_add_value_bool_nf 1651 EXIST::FUNCTION: | ||
| 1412 | d2i_ASN1_UINTEGER 1652 EXIST::FUNCTION: | ||
| 1413 | sk_value 1653 EXIST::FUNCTION: | ||
| 1414 | sk_num 1654 EXIST::FUNCTION: | ||
| 1415 | sk_set 1655 EXIST::FUNCTION: | ||
| 1416 | i2d_ASN1_SET_OF_X509_REVOKED 1661 NOEXIST::FUNCTION: | ||
| 1417 | sk_sort 1671 EXIST::FUNCTION: | ||
| 1418 | d2i_ASN1_SET_OF_X509_REVOKED 1674 NOEXIST::FUNCTION: | ||
| 1419 | i2d_ASN1_SET_OF_X509_ALGOR 1682 NOEXIST::FUNCTION: | ||
| 1420 | i2d_ASN1_SET_OF_X509_CRL 1685 NOEXIST::FUNCTION: | ||
| 1421 | d2i_ASN1_SET_OF_X509_ALGOR 1696 NOEXIST::FUNCTION: | ||
| 1422 | d2i_ASN1_SET_OF_X509_CRL 1702 NOEXIST::FUNCTION: | ||
| 1423 | i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO 1723 NOEXIST::FUNCTION: | ||
| 1424 | i2d_ASN1_SET_OF_PKCS7_RECIP_INFO 1738 NOEXIST::FUNCTION: | ||
| 1425 | d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO 1748 NOEXIST::FUNCTION: | ||
| 1426 | d2i_ASN1_SET_OF_PKCS7_RECIP_INFO 1753 NOEXIST::FUNCTION: | ||
| 1427 | PKCS5_PBE_add 1775 EXIST::FUNCTION: | ||
| 1428 | PEM_write_bio_PKCS8 1776 EXIST::FUNCTION: | ||
| 1429 | i2d_PKCS8_fp 1777 EXIST::FUNCTION:FP_API | ||
| 1430 | PEM_read_bio_PKCS8_PRIV_KEY_INFO 1778 EXIST:!VMS:FUNCTION: | ||
| 1431 | PEM_read_bio_P8_PRIV_KEY_INFO 1778 EXIST:VMS:FUNCTION: | ||
| 1432 | d2i_PKCS8_bio 1779 EXIST::FUNCTION:BIO | ||
| 1433 | d2i_PKCS8_PRIV_KEY_INFO_fp 1780 EXIST::FUNCTION:FP_API | ||
| 1434 | PEM_write_bio_PKCS8_PRIV_KEY_INFO 1781 EXIST:!VMS:FUNCTION: | ||
| 1435 | PEM_write_bio_P8_PRIV_KEY_INFO 1781 EXIST:VMS:FUNCTION: | ||
| 1436 | PEM_read_PKCS8 1782 EXIST:!WIN16:FUNCTION: | ||
| 1437 | d2i_PKCS8_PRIV_KEY_INFO_bio 1783 EXIST::FUNCTION:BIO | ||
| 1438 | d2i_PKCS8_fp 1784 EXIST::FUNCTION:FP_API | ||
| 1439 | PEM_write_PKCS8 1785 EXIST:!WIN16:FUNCTION: | ||
| 1440 | PEM_read_PKCS8_PRIV_KEY_INFO 1786 EXIST:!VMS,!WIN16:FUNCTION: | ||
| 1441 | PEM_read_P8_PRIV_KEY_INFO 1786 EXIST:VMS:FUNCTION: | ||
| 1442 | PEM_read_bio_PKCS8 1787 EXIST::FUNCTION: | ||
| 1443 | PEM_write_PKCS8_PRIV_KEY_INFO 1788 EXIST:!VMS,!WIN16:FUNCTION: | ||
| 1444 | PEM_write_P8_PRIV_KEY_INFO 1788 EXIST:VMS:FUNCTION: | ||
| 1445 | PKCS5_PBE_keyivgen 1789 EXIST::FUNCTION: | ||
| 1446 | i2d_PKCS8_bio 1790 EXIST::FUNCTION:BIO | ||
| 1447 | i2d_PKCS8_PRIV_KEY_INFO_fp 1791 EXIST::FUNCTION:FP_API | ||
| 1448 | i2d_PKCS8_PRIV_KEY_INFO_bio 1792 EXIST::FUNCTION:BIO | ||
| 1449 | BIO_s_bio 1793 EXIST::FUNCTION: | ||
| 1450 | PKCS5_pbe2_set 1794 EXIST::FUNCTION: | ||
| 1451 | PKCS5_PBKDF2_HMAC_SHA1 1795 EXIST::FUNCTION: | ||
| 1452 | PKCS5_v2_PBE_keyivgen 1796 EXIST::FUNCTION: | ||
| 1453 | PEM_write_bio_PKCS8PrivateKey 1797 EXIST::FUNCTION: | ||
| 1454 | PEM_write_PKCS8PrivateKey 1798 EXIST::FUNCTION: | ||
| 1455 | BIO_ctrl_get_read_request 1799 EXIST::FUNCTION: | ||
| 1456 | BIO_ctrl_pending 1800 EXIST::FUNCTION: | ||
| 1457 | BIO_ctrl_wpending 1801 EXIST::FUNCTION: | ||
| 1458 | BIO_new_bio_pair 1802 EXIST::FUNCTION: | ||
| 1459 | BIO_ctrl_get_write_guarantee 1803 EXIST::FUNCTION: | ||
| 1460 | CRYPTO_num_locks 1804 EXIST::FUNCTION: | ||
| 1461 | CONF_load_bio 1805 EXIST::FUNCTION: | ||
| 1462 | CONF_load_fp 1806 EXIST::FUNCTION:FP_API | ||
| 1463 | i2d_ASN1_SET_OF_ASN1_OBJECT 1837 NOEXIST::FUNCTION: | ||
| 1464 | d2i_ASN1_SET_OF_ASN1_OBJECT 1844 NOEXIST::FUNCTION: | ||
| 1465 | PKCS7_signatureVerify 1845 EXIST::FUNCTION: | ||
| 1466 | RSA_set_method 1846 EXIST::FUNCTION:RSA | ||
| 1467 | RSA_get_method 1847 EXIST::FUNCTION:RSA | ||
| 1468 | RSA_get_default_method 1848 EXIST::FUNCTION:RSA | ||
| 1469 | RSA_check_key 1869 EXIST::FUNCTION:RSA | ||
| 1470 | OBJ_obj2txt 1870 EXIST::FUNCTION: | ||
| 1471 | DSA_dup_DH 1871 EXIST::FUNCTION:DH,DSA | ||
| 1472 | X509_REQ_get_extensions 1872 EXIST::FUNCTION: | ||
| 1473 | X509_REQ_set_extension_nids 1873 EXIST::FUNCTION: | ||
| 1474 | BIO_nwrite 1874 EXIST::FUNCTION: | ||
| 1475 | X509_REQ_extension_nid 1875 EXIST::FUNCTION: | ||
| 1476 | BIO_nread 1876 EXIST::FUNCTION: | ||
| 1477 | X509_REQ_get_extension_nids 1877 EXIST::FUNCTION: | ||
| 1478 | BIO_nwrite0 1878 EXIST::FUNCTION: | ||
| 1479 | X509_REQ_add_extensions_nid 1879 EXIST::FUNCTION: | ||
| 1480 | BIO_nread0 1880 EXIST::FUNCTION: | ||
| 1481 | X509_REQ_add_extensions 1881 EXIST::FUNCTION: | ||
| 1482 | BIO_new_mem_buf 1882 EXIST::FUNCTION: | ||
| 1483 | DH_set_ex_data 1883 EXIST::FUNCTION:DH | ||
| 1484 | DH_set_method 1884 EXIST::FUNCTION:DH | ||
| 1485 | DSA_OpenSSL 1885 EXIST::FUNCTION:DSA | ||
| 1486 | DH_get_ex_data 1886 EXIST::FUNCTION:DH | ||
| 1487 | DH_get_ex_new_index 1887 EXIST::FUNCTION:DH | ||
| 1488 | DSA_new_method 1888 EXIST::FUNCTION:DSA | ||
| 1489 | DH_new_method 1889 EXIST::FUNCTION:DH | ||
| 1490 | DH_OpenSSL 1890 EXIST::FUNCTION:DH | ||
| 1491 | DSA_get_ex_new_index 1891 EXIST::FUNCTION:DSA | ||
| 1492 | DH_get_default_method 1892 EXIST::FUNCTION:DH | ||
| 1493 | DSA_set_ex_data 1893 EXIST::FUNCTION:DSA | ||
| 1494 | DH_set_default_method 1894 EXIST::FUNCTION:DH | ||
| 1495 | DSA_get_ex_data 1895 EXIST::FUNCTION:DSA | ||
| 1496 | X509V3_EXT_REQ_add_conf 1896 EXIST::FUNCTION: | ||
| 1497 | NETSCAPE_SPKI_print 1897 EXIST::FUNCTION:EVP | ||
| 1498 | NETSCAPE_SPKI_set_pubkey 1898 EXIST::FUNCTION:EVP | ||
| 1499 | NETSCAPE_SPKI_b64_encode 1899 EXIST::FUNCTION:EVP | ||
| 1500 | NETSCAPE_SPKI_get_pubkey 1900 EXIST::FUNCTION:EVP | ||
| 1501 | NETSCAPE_SPKI_b64_decode 1901 EXIST::FUNCTION:EVP | ||
| 1502 | UTF8_putc 1902 EXIST::FUNCTION: | ||
| 1503 | UTF8_getc 1903 EXIST::FUNCTION: | ||
| 1504 | RSA_null_method 1904 EXIST::FUNCTION:RSA | ||
| 1505 | ASN1_tag2str 1905 EXIST::FUNCTION: | ||
| 1506 | BIO_ctrl_reset_read_request 1906 EXIST::FUNCTION: | ||
| 1507 | DISPLAYTEXT_new 1907 EXIST::FUNCTION: | ||
| 1508 | ASN1_GENERALIZEDTIME_free 1908 EXIST::FUNCTION: | ||
| 1509 | X509_REVOKED_get_ext_d2i 1909 EXIST::FUNCTION: | ||
| 1510 | X509_set_ex_data 1910 EXIST::FUNCTION: | ||
| 1511 | X509_reject_set_bit_asc 1911 NOEXIST::FUNCTION: | ||
| 1512 | X509_NAME_add_entry_by_txt 1912 EXIST::FUNCTION: | ||
| 1513 | X509_NAME_add_entry_by_NID 1914 EXIST::FUNCTION: | ||
| 1514 | X509_PURPOSE_get0 1915 EXIST::FUNCTION: | ||
| 1515 | PEM_read_X509_AUX 1917 EXIST:!WIN16:FUNCTION: | ||
| 1516 | d2i_AUTHORITY_INFO_ACCESS 1918 EXIST::FUNCTION: | ||
| 1517 | PEM_write_PUBKEY 1921 EXIST:!WIN16:FUNCTION: | ||
| 1518 | ACCESS_DESCRIPTION_new 1925 EXIST::FUNCTION: | ||
| 1519 | X509_CERT_AUX_free 1926 EXIST::FUNCTION: | ||
| 1520 | d2i_ACCESS_DESCRIPTION 1927 EXIST::FUNCTION: | ||
| 1521 | X509_trust_clear 1928 EXIST::FUNCTION: | ||
| 1522 | X509_TRUST_add 1931 EXIST::FUNCTION: | ||
| 1523 | ASN1_VISIBLESTRING_new 1932 EXIST::FUNCTION: | ||
| 1524 | X509_alias_set1 1933 EXIST::FUNCTION: | ||
| 1525 | ASN1_PRINTABLESTRING_free 1934 EXIST::FUNCTION: | ||
| 1526 | EVP_PKEY_get1_DSA 1935 EXIST::FUNCTION:DSA | ||
| 1527 | ASN1_BMPSTRING_new 1936 EXIST::FUNCTION: | ||
| 1528 | ASN1_mbstring_copy 1937 EXIST::FUNCTION: | ||
| 1529 | ASN1_UTF8STRING_new 1938 EXIST::FUNCTION: | ||
| 1530 | DSA_get_default_method 1941 EXIST::FUNCTION:DSA | ||
| 1531 | i2d_ASN1_SET_OF_ACCESS_DESCRIPTION 1945 NOEXIST::FUNCTION: | ||
| 1532 | ASN1_T61STRING_free 1946 EXIST::FUNCTION: | ||
| 1533 | DSA_set_method 1949 EXIST::FUNCTION:DSA | ||
| 1534 | X509_get_ex_data 1950 EXIST::FUNCTION: | ||
| 1535 | ASN1_STRING_type 1951 EXIST::FUNCTION: | ||
| 1536 | X509_PURPOSE_get_by_sname 1952 EXIST::FUNCTION: | ||
| 1537 | ASN1_TIME_free 1954 EXIST::FUNCTION: | ||
| 1538 | ASN1_OCTET_STRING_cmp 1955 EXIST::FUNCTION: | ||
| 1539 | ASN1_BIT_STRING_new 1957 EXIST::FUNCTION: | ||
| 1540 | X509_get_ext_d2i 1958 EXIST::FUNCTION: | ||
| 1541 | PEM_read_bio_X509_AUX 1959 EXIST::FUNCTION: | ||
| 1542 | ASN1_STRING_set_default_mask_asc 1960 EXIST:!VMS:FUNCTION: | ||
| 1543 | ASN1_STRING_set_def_mask_asc 1960 EXIST:VMS:FUNCTION: | ||
| 1544 | PEM_write_bio_RSA_PUBKEY 1961 EXIST::FUNCTION:RSA | ||
| 1545 | ASN1_INTEGER_cmp 1963 EXIST::FUNCTION: | ||
| 1546 | d2i_RSA_PUBKEY_fp 1964 EXIST::FUNCTION:FP_API,RSA | ||
| 1547 | X509_trust_set_bit_asc 1967 NOEXIST::FUNCTION: | ||
| 1548 | PEM_write_bio_DSA_PUBKEY 1968 EXIST::FUNCTION:DSA | ||
| 1549 | X509_STORE_CTX_free 1969 EXIST::FUNCTION: | ||
| 1550 | EVP_PKEY_set1_DSA 1970 EXIST::FUNCTION:DSA | ||
| 1551 | i2d_DSA_PUBKEY_fp 1971 EXIST::FUNCTION:DSA,FP_API | ||
| 1552 | X509_load_cert_crl_file 1972 EXIST::FUNCTION:STDIO | ||
| 1553 | ASN1_TIME_new 1973 EXIST::FUNCTION: | ||
| 1554 | i2d_RSA_PUBKEY 1974 EXIST::FUNCTION:RSA | ||
| 1555 | X509_STORE_CTX_purpose_inherit 1976 EXIST::FUNCTION: | ||
| 1556 | PEM_read_RSA_PUBKEY 1977 EXIST:!WIN16:FUNCTION:RSA | ||
| 1557 | d2i_X509_AUX 1980 EXIST::FUNCTION: | ||
| 1558 | i2d_DSA_PUBKEY 1981 EXIST::FUNCTION:DSA | ||
| 1559 | X509_CERT_AUX_print 1982 EXIST::FUNCTION:BIO | ||
| 1560 | PEM_read_DSA_PUBKEY 1984 EXIST:!WIN16:FUNCTION:DSA | ||
| 1561 | i2d_RSA_PUBKEY_bio 1985 EXIST::FUNCTION:BIO,RSA | ||
| 1562 | ASN1_BIT_STRING_num_asc 1986 EXIST::FUNCTION: | ||
| 1563 | i2d_PUBKEY 1987 EXIST::FUNCTION: | ||
| 1564 | ASN1_UTCTIME_free 1988 EXIST::FUNCTION: | ||
| 1565 | DSA_set_default_method 1989 EXIST::FUNCTION:DSA | ||
| 1566 | X509_PURPOSE_get_by_id 1990 EXIST::FUNCTION: | ||
| 1567 | ACCESS_DESCRIPTION_free 1994 EXIST::FUNCTION: | ||
| 1568 | PEM_read_bio_PUBKEY 1995 EXIST::FUNCTION: | ||
| 1569 | ASN1_STRING_set_by_NID 1996 EXIST::FUNCTION: | ||
| 1570 | X509_PURPOSE_get_id 1997 EXIST::FUNCTION: | ||
| 1571 | DISPLAYTEXT_free 1998 EXIST::FUNCTION: | ||
| 1572 | OTHERNAME_new 1999 EXIST::FUNCTION: | ||
| 1573 | X509_CERT_AUX_new 2001 EXIST::FUNCTION: | ||
| 1574 | X509_TRUST_cleanup 2007 EXIST::FUNCTION: | ||
| 1575 | X509_NAME_add_entry_by_OBJ 2008 EXIST::FUNCTION: | ||
| 1576 | X509_CRL_get_ext_d2i 2009 EXIST::FUNCTION: | ||
| 1577 | X509_PURPOSE_get0_name 2011 EXIST::FUNCTION: | ||
| 1578 | PEM_read_PUBKEY 2012 EXIST:!WIN16:FUNCTION: | ||
| 1579 | i2d_DSA_PUBKEY_bio 2014 EXIST::FUNCTION:BIO,DSA | ||
| 1580 | i2d_OTHERNAME 2015 EXIST::FUNCTION: | ||
| 1581 | ASN1_OCTET_STRING_free 2016 EXIST::FUNCTION: | ||
| 1582 | ASN1_BIT_STRING_set_asc 2017 EXIST::FUNCTION: | ||
| 1583 | X509_get_ex_new_index 2019 EXIST::FUNCTION: | ||
| 1584 | ASN1_STRING_TABLE_cleanup 2020 EXIST::FUNCTION: | ||
| 1585 | X509_TRUST_get_by_id 2021 EXIST::FUNCTION: | ||
| 1586 | X509_PURPOSE_get_trust 2022 EXIST::FUNCTION: | ||
| 1587 | ASN1_STRING_length 2023 EXIST::FUNCTION: | ||
| 1588 | d2i_ASN1_SET_OF_ACCESS_DESCRIPTION 2024 NOEXIST::FUNCTION: | ||
| 1589 | ASN1_PRINTABLESTRING_new 2025 EXIST::FUNCTION: | ||
| 1590 | X509V3_get_d2i 2026 EXIST::FUNCTION: | ||
| 1591 | ASN1_ENUMERATED_free 2027 EXIST::FUNCTION: | ||
| 1592 | i2d_X509_CERT_AUX 2028 EXIST::FUNCTION: | ||
| 1593 | X509_STORE_CTX_set_trust 2030 EXIST::FUNCTION: | ||
| 1594 | ASN1_STRING_set_default_mask 2032 EXIST::FUNCTION: | ||
| 1595 | X509_STORE_CTX_new 2033 EXIST::FUNCTION: | ||
| 1596 | EVP_PKEY_get1_RSA 2034 EXIST::FUNCTION:RSA | ||
| 1597 | DIRECTORYSTRING_free 2038 EXIST::FUNCTION: | ||
| 1598 | PEM_write_X509_AUX 2039 EXIST:!WIN16:FUNCTION: | ||
| 1599 | ASN1_OCTET_STRING_set 2040 EXIST::FUNCTION: | ||
| 1600 | d2i_DSA_PUBKEY_fp 2041 EXIST::FUNCTION:DSA,FP_API | ||
| 1601 | d2i_RSA_PUBKEY 2044 EXIST::FUNCTION:RSA | ||
| 1602 | X509_TRUST_get0_name 2046 EXIST::FUNCTION: | ||
| 1603 | X509_TRUST_get0 2047 EXIST::FUNCTION: | ||
| 1604 | AUTHORITY_INFO_ACCESS_free 2048 EXIST::FUNCTION: | ||
| 1605 | ASN1_IA5STRING_new 2049 EXIST::FUNCTION: | ||
| 1606 | d2i_DSA_PUBKEY 2050 EXIST::FUNCTION:DSA | ||
| 1607 | X509_check_purpose 2051 EXIST::FUNCTION: | ||
| 1608 | ASN1_ENUMERATED_new 2052 EXIST::FUNCTION: | ||
| 1609 | d2i_RSA_PUBKEY_bio 2053 EXIST::FUNCTION:BIO,RSA | ||
| 1610 | d2i_PUBKEY 2054 EXIST::FUNCTION: | ||
| 1611 | X509_TRUST_get_trust 2055 EXIST::FUNCTION: | ||
| 1612 | X509_TRUST_get_flags 2056 EXIST::FUNCTION: | ||
| 1613 | ASN1_BMPSTRING_free 2057 EXIST::FUNCTION: | ||
| 1614 | ASN1_T61STRING_new 2058 EXIST::FUNCTION: | ||
| 1615 | ASN1_UTCTIME_new 2060 EXIST::FUNCTION: | ||
| 1616 | i2d_AUTHORITY_INFO_ACCESS 2062 EXIST::FUNCTION: | ||
| 1617 | EVP_PKEY_set1_RSA 2063 EXIST::FUNCTION:RSA | ||
| 1618 | X509_STORE_CTX_set_purpose 2064 EXIST::FUNCTION: | ||
| 1619 | ASN1_IA5STRING_free 2065 EXIST::FUNCTION: | ||
| 1620 | PEM_write_bio_X509_AUX 2066 EXIST::FUNCTION: | ||
| 1621 | X509_PURPOSE_get_count 2067 EXIST::FUNCTION: | ||
| 1622 | CRYPTO_add_info 2068 NOEXIST::FUNCTION: | ||
| 1623 | X509_NAME_ENTRY_create_by_txt 2071 EXIST::FUNCTION: | ||
| 1624 | ASN1_STRING_get_default_mask 2072 EXIST::FUNCTION: | ||
| 1625 | X509_alias_get0 2074 EXIST::FUNCTION: | ||
| 1626 | ASN1_STRING_data 2075 EXIST::FUNCTION: | ||
| 1627 | i2d_ACCESS_DESCRIPTION 2077 EXIST::FUNCTION: | ||
| 1628 | X509_trust_set_bit 2078 NOEXIST::FUNCTION: | ||
| 1629 | ASN1_BIT_STRING_free 2080 EXIST::FUNCTION: | ||
| 1630 | PEM_read_bio_RSA_PUBKEY 2081 EXIST::FUNCTION:RSA | ||
| 1631 | X509_add1_reject_object 2082 EXIST::FUNCTION: | ||
| 1632 | X509_check_trust 2083 EXIST::FUNCTION: | ||
| 1633 | PEM_read_bio_DSA_PUBKEY 2088 EXIST::FUNCTION:DSA | ||
| 1634 | X509_PURPOSE_add 2090 EXIST::FUNCTION: | ||
| 1635 | ASN1_STRING_TABLE_get 2091 EXIST::FUNCTION: | ||
| 1636 | ASN1_UTF8STRING_free 2092 EXIST::FUNCTION: | ||
| 1637 | d2i_DSA_PUBKEY_bio 2093 EXIST::FUNCTION:BIO,DSA | ||
| 1638 | PEM_write_RSA_PUBKEY 2095 EXIST:!WIN16:FUNCTION:RSA | ||
| 1639 | d2i_OTHERNAME 2096 EXIST::FUNCTION: | ||
| 1640 | X509_reject_set_bit 2098 NOEXIST::FUNCTION: | ||
| 1641 | PEM_write_DSA_PUBKEY 2101 EXIST:!WIN16:FUNCTION:DSA | ||
| 1642 | X509_PURPOSE_get0_sname 2105 EXIST::FUNCTION: | ||
| 1643 | EVP_PKEY_set1_DH 2107 EXIST::FUNCTION:DH | ||
| 1644 | ASN1_OCTET_STRING_dup 2108 EXIST::FUNCTION: | ||
| 1645 | ASN1_BIT_STRING_set 2109 EXIST::FUNCTION: | ||
| 1646 | X509_TRUST_get_count 2110 EXIST::FUNCTION: | ||
| 1647 | ASN1_INTEGER_free 2111 EXIST::FUNCTION: | ||
| 1648 | OTHERNAME_free 2112 EXIST::FUNCTION: | ||
| 1649 | i2d_RSA_PUBKEY_fp 2113 EXIST::FUNCTION:FP_API,RSA | ||
| 1650 | ASN1_INTEGER_dup 2114 EXIST::FUNCTION: | ||
| 1651 | d2i_X509_CERT_AUX 2115 EXIST::FUNCTION: | ||
| 1652 | PEM_write_bio_PUBKEY 2117 EXIST::FUNCTION: | ||
| 1653 | ASN1_VISIBLESTRING_free 2118 EXIST::FUNCTION: | ||
| 1654 | X509_PURPOSE_cleanup 2119 EXIST::FUNCTION: | ||
| 1655 | ASN1_mbstring_ncopy 2123 EXIST::FUNCTION: | ||
| 1656 | ASN1_GENERALIZEDTIME_new 2126 EXIST::FUNCTION: | ||
| 1657 | EVP_PKEY_get1_DH 2128 EXIST::FUNCTION:DH | ||
| 1658 | ASN1_OCTET_STRING_new 2130 EXIST::FUNCTION: | ||
| 1659 | ASN1_INTEGER_new 2131 EXIST::FUNCTION: | ||
| 1660 | i2d_X509_AUX 2132 EXIST::FUNCTION: | ||
| 1661 | ASN1_BIT_STRING_name_print 2134 EXIST::FUNCTION:BIO | ||
| 1662 | X509_cmp 2135 EXIST::FUNCTION: | ||
| 1663 | ASN1_STRING_length_set 2136 EXIST::FUNCTION: | ||
| 1664 | DIRECTORYSTRING_new 2137 EXIST::FUNCTION: | ||
| 1665 | X509_add1_trust_object 2140 EXIST::FUNCTION: | ||
| 1666 | PKCS12_newpass 2141 EXIST::FUNCTION: | ||
| 1667 | SMIME_write_PKCS7 2142 EXIST::FUNCTION: | ||
| 1668 | SMIME_read_PKCS7 2143 EXIST::FUNCTION: | ||
| 1669 | DES_set_key_checked 2144 EXIST::FUNCTION:DES | ||
| 1670 | PKCS7_verify 2145 EXIST::FUNCTION: | ||
| 1671 | PKCS7_encrypt 2146 EXIST::FUNCTION: | ||
| 1672 | DES_set_key_unchecked 2147 EXIST::FUNCTION:DES | ||
| 1673 | SMIME_crlf_copy 2148 EXIST::FUNCTION: | ||
| 1674 | i2d_ASN1_PRINTABLESTRING 2149 EXIST::FUNCTION: | ||
| 1675 | PKCS7_get0_signers 2150 EXIST::FUNCTION: | ||
| 1676 | PKCS7_decrypt 2151 EXIST::FUNCTION: | ||
| 1677 | SMIME_text 2152 EXIST::FUNCTION: | ||
| 1678 | PKCS7_simple_smimecap 2153 EXIST::FUNCTION: | ||
| 1679 | PKCS7_get_smimecap 2154 EXIST::FUNCTION: | ||
| 1680 | PKCS7_sign 2155 EXIST::FUNCTION: | ||
| 1681 | PKCS7_add_attrib_smimecap 2156 EXIST::FUNCTION: | ||
| 1682 | CRYPTO_dbg_set_options 2157 EXIST::FUNCTION: | ||
| 1683 | CRYPTO_remove_all_info 2158 EXIST::FUNCTION: | ||
| 1684 | CRYPTO_get_mem_debug_functions 2159 EXIST::FUNCTION: | ||
| 1685 | CRYPTO_is_mem_check_on 2160 EXIST::FUNCTION: | ||
| 1686 | CRYPTO_set_mem_debug_functions 2161 EXIST::FUNCTION: | ||
| 1687 | CRYPTO_pop_info 2162 EXIST::FUNCTION: | ||
| 1688 | CRYPTO_push_info_ 2163 EXIST::FUNCTION: | ||
| 1689 | CRYPTO_set_mem_debug_options 2164 EXIST::FUNCTION: | ||
| 1690 | PEM_write_PKCS8PrivateKey_nid 2165 EXIST::FUNCTION: | ||
| 1691 | PEM_write_bio_PKCS8PrivateKey_nid 2166 EXIST:!VMS:FUNCTION: | ||
| 1692 | PEM_write_bio_PKCS8PrivKey_nid 2166 EXIST:VMS:FUNCTION: | ||
| 1693 | d2i_PKCS8PrivateKey_bio 2167 EXIST::FUNCTION: | ||
| 1694 | ASN1_NULL_free 2168 EXIST::FUNCTION: | ||
| 1695 | d2i_ASN1_NULL 2169 EXIST::FUNCTION: | ||
| 1696 | ASN1_NULL_new 2170 EXIST::FUNCTION: | ||
| 1697 | i2d_PKCS8PrivateKey_bio 2171 EXIST::FUNCTION: | ||
| 1698 | i2d_PKCS8PrivateKey_fp 2172 EXIST::FUNCTION: | ||
| 1699 | i2d_ASN1_NULL 2173 EXIST::FUNCTION: | ||
| 1700 | i2d_PKCS8PrivateKey_nid_fp 2174 EXIST::FUNCTION: | ||
| 1701 | d2i_PKCS8PrivateKey_fp 2175 EXIST::FUNCTION: | ||
| 1702 | i2d_PKCS8PrivateKey_nid_bio 2176 EXIST::FUNCTION: | ||
| 1703 | i2d_PKCS8PrivateKeyInfo_fp 2177 EXIST::FUNCTION:FP_API | ||
| 1704 | i2d_PKCS8PrivateKeyInfo_bio 2178 EXIST::FUNCTION:BIO | ||
| 1705 | PEM_cb 2179 NOEXIST::FUNCTION: | ||
| 1706 | i2d_PrivateKey_fp 2180 EXIST::FUNCTION:FP_API | ||
| 1707 | d2i_PrivateKey_bio 2181 EXIST::FUNCTION:BIO | ||
| 1708 | d2i_PrivateKey_fp 2182 EXIST::FUNCTION:FP_API | ||
| 1709 | i2d_PrivateKey_bio 2183 EXIST::FUNCTION:BIO | ||
| 1710 | X509_reject_clear 2184 EXIST::FUNCTION: | ||
| 1711 | X509_TRUST_set_default 2185 EXIST::FUNCTION: | ||
| 1712 | d2i_AutoPrivateKey 2186 EXIST::FUNCTION: | ||
| 1713 | X509_ATTRIBUTE_get0_type 2187 EXIST::FUNCTION: | ||
| 1714 | X509_ATTRIBUTE_set1_data 2188 EXIST::FUNCTION: | ||
| 1715 | X509at_get_attr 2189 EXIST::FUNCTION: | ||
| 1716 | X509at_get_attr_count 2190 EXIST::FUNCTION: | ||
| 1717 | X509_ATTRIBUTE_create_by_NID 2191 EXIST::FUNCTION: | ||
| 1718 | X509_ATTRIBUTE_set1_object 2192 EXIST::FUNCTION: | ||
| 1719 | X509_ATTRIBUTE_count 2193 EXIST::FUNCTION: | ||
| 1720 | X509_ATTRIBUTE_create_by_OBJ 2194 EXIST::FUNCTION: | ||
| 1721 | X509_ATTRIBUTE_get0_object 2195 EXIST::FUNCTION: | ||
| 1722 | X509at_get_attr_by_NID 2196 EXIST::FUNCTION: | ||
| 1723 | X509at_add1_attr 2197 EXIST::FUNCTION: | ||
| 1724 | X509_ATTRIBUTE_get0_data 2198 EXIST::FUNCTION: | ||
| 1725 | X509at_delete_attr 2199 EXIST::FUNCTION: | ||
| 1726 | X509at_get_attr_by_OBJ 2200 EXIST::FUNCTION: | ||
| 1727 | RAND_add 2201 EXIST::FUNCTION: | ||
| 1728 | BIO_number_written 2202 EXIST::FUNCTION: | ||
| 1729 | BIO_number_read 2203 EXIST::FUNCTION: | ||
| 1730 | X509_STORE_CTX_get1_chain 2204 EXIST::FUNCTION: | ||
| 1731 | ERR_load_RAND_strings 2205 EXIST::FUNCTION: | ||
| 1732 | RAND_pseudo_bytes 2206 EXIST::FUNCTION: | ||
| 1733 | X509_REQ_get_attr_by_NID 2207 EXIST::FUNCTION: | ||
| 1734 | X509_REQ_get_attr 2208 EXIST::FUNCTION: | ||
| 1735 | X509_REQ_add1_attr_by_NID 2209 EXIST::FUNCTION: | ||
| 1736 | X509_REQ_get_attr_by_OBJ 2210 EXIST::FUNCTION: | ||
| 1737 | X509at_add1_attr_by_NID 2211 EXIST::FUNCTION: | ||
| 1738 | X509_REQ_add1_attr_by_OBJ 2212 EXIST::FUNCTION: | ||
| 1739 | X509_REQ_get_attr_count 2213 EXIST::FUNCTION: | ||
| 1740 | X509_REQ_add1_attr 2214 EXIST::FUNCTION: | ||
| 1741 | X509_REQ_delete_attr 2215 EXIST::FUNCTION: | ||
| 1742 | X509at_add1_attr_by_OBJ 2216 EXIST::FUNCTION: | ||
| 1743 | X509_REQ_add1_attr_by_txt 2217 EXIST::FUNCTION: | ||
| 1744 | X509_ATTRIBUTE_create_by_txt 2218 EXIST::FUNCTION: | ||
| 1745 | X509at_add1_attr_by_txt 2219 EXIST::FUNCTION: | ||
| 1746 | BN_pseudo_rand 2239 EXIST::FUNCTION: | ||
| 1747 | BN_is_prime_fasttest 2240 EXIST::FUNCTION:DEPRECATED | ||
| 1748 | BN_CTX_end 2241 EXIST::FUNCTION: | ||
| 1749 | BN_CTX_start 2242 EXIST::FUNCTION: | ||
| 1750 | BN_CTX_get 2243 EXIST::FUNCTION: | ||
| 1751 | EVP_PKEY2PKCS8_broken 2244 EXIST::FUNCTION: | ||
| 1752 | ASN1_STRING_TABLE_add 2245 EXIST::FUNCTION: | ||
| 1753 | CRYPTO_dbg_get_options 2246 EXIST::FUNCTION: | ||
| 1754 | AUTHORITY_INFO_ACCESS_new 2247 EXIST::FUNCTION: | ||
| 1755 | CRYPTO_get_mem_debug_options 2248 EXIST::FUNCTION: | ||
| 1756 | DES_crypt 2249 EXIST::FUNCTION:DES | ||
| 1757 | PEM_write_bio_X509_REQ_NEW 2250 EXIST::FUNCTION: | ||
| 1758 | PEM_write_X509_REQ_NEW 2251 EXIST:!WIN16:FUNCTION: | ||
| 1759 | BIO_callback_ctrl 2252 EXIST::FUNCTION: | ||
| 1760 | RAND_egd 2253 EXIST::FUNCTION: | ||
| 1761 | RAND_status 2254 EXIST::FUNCTION: | ||
| 1762 | bn_dump1 2255 NOEXIST::FUNCTION: | ||
| 1763 | DES_check_key_parity 2256 EXIST::FUNCTION:DES | ||
| 1764 | lh_num_items 2257 EXIST::FUNCTION: | ||
| 1765 | RAND_event 2258 EXIST:WIN32:FUNCTION: | ||
| 1766 | DSO_new 2259 EXIST::FUNCTION: | ||
| 1767 | DSO_new_method 2260 EXIST::FUNCTION: | ||
| 1768 | DSO_free 2261 EXIST::FUNCTION: | ||
| 1769 | DSO_flags 2262 EXIST::FUNCTION: | ||
| 1770 | DSO_up 2263 NOEXIST::FUNCTION: | ||
| 1771 | DSO_set_default_method 2264 EXIST::FUNCTION: | ||
| 1772 | DSO_get_default_method 2265 EXIST::FUNCTION: | ||
| 1773 | DSO_get_method 2266 EXIST::FUNCTION: | ||
| 1774 | DSO_set_method 2267 EXIST::FUNCTION: | ||
| 1775 | DSO_load 2268 EXIST::FUNCTION: | ||
| 1776 | DSO_bind_var 2269 EXIST::FUNCTION: | ||
| 1777 | DSO_METHOD_null 2270 EXIST::FUNCTION: | ||
| 1778 | DSO_METHOD_openssl 2271 EXIST::FUNCTION: | ||
| 1779 | DSO_METHOD_dlfcn 2272 EXIST::FUNCTION: | ||
| 1780 | DSO_METHOD_win32 2273 EXIST::FUNCTION: | ||
| 1781 | ERR_load_DSO_strings 2274 EXIST::FUNCTION: | ||
| 1782 | DSO_METHOD_dl 2275 EXIST::FUNCTION: | ||
| 1783 | NCONF_load 2276 EXIST::FUNCTION: | ||
| 1784 | NCONF_load_fp 2278 EXIST::FUNCTION:FP_API | ||
| 1785 | NCONF_new 2279 EXIST::FUNCTION: | ||
| 1786 | NCONF_get_string 2280 EXIST::FUNCTION: | ||
| 1787 | NCONF_free 2281 EXIST::FUNCTION: | ||
| 1788 | NCONF_get_number 2282 NOEXIST::FUNCTION: | ||
| 1789 | CONF_dump_fp 2283 EXIST::FUNCTION: | ||
| 1790 | NCONF_load_bio 2284 EXIST::FUNCTION: | ||
| 1791 | NCONF_dump_fp 2285 EXIST::FUNCTION: | ||
| 1792 | NCONF_get_section 2286 EXIST::FUNCTION: | ||
| 1793 | NCONF_dump_bio 2287 EXIST::FUNCTION: | ||
| 1794 | CONF_dump_bio 2288 EXIST::FUNCTION: | ||
| 1795 | NCONF_free_data 2289 EXIST::FUNCTION: | ||
| 1796 | CONF_set_default_method 2290 EXIST::FUNCTION: | ||
| 1797 | ERR_error_string_n 2291 EXIST::FUNCTION: | ||
| 1798 | BIO_snprintf 2292 EXIST::FUNCTION: | ||
| 1799 | DSO_ctrl 2293 EXIST::FUNCTION: | ||
| 1800 | i2d_ASN1_SET_OF_ASN1_INTEGER 2317 NOEXIST::FUNCTION: | ||
| 1801 | i2d_ASN1_SET_OF_PKCS12_SAFEBAG 2320 NOEXIST::FUNCTION: | ||
| 1802 | i2d_ASN1_SET_OF_PKCS7 2328 NOEXIST::FUNCTION: | ||
| 1803 | BIO_vfree 2334 EXIST::FUNCTION: | ||
| 1804 | d2i_ASN1_SET_OF_ASN1_INTEGER 2339 NOEXIST::FUNCTION: | ||
| 1805 | d2i_ASN1_SET_OF_PKCS12_SAFEBAG 2341 NOEXIST::FUNCTION: | ||
| 1806 | ASN1_UTCTIME_get 2350 NOEXIST::FUNCTION: | ||
| 1807 | X509_REQ_digest 2362 EXIST::FUNCTION:EVP | ||
| 1808 | X509_CRL_digest 2391 EXIST::FUNCTION:EVP | ||
| 1809 | d2i_ASN1_SET_OF_PKCS7 2397 NOEXIST::FUNCTION: | ||
| 1810 | EVP_CIPHER_CTX_set_key_length 2399 EXIST::FUNCTION: | ||
| 1811 | EVP_CIPHER_CTX_ctrl 2400 EXIST::FUNCTION: | ||
| 1812 | BN_mod_exp_mont_word 2401 EXIST::FUNCTION: | ||
| 1813 | RAND_egd_bytes 2402 EXIST::FUNCTION: | ||
| 1814 | X509_REQ_get1_email 2403 EXIST::FUNCTION: | ||
| 1815 | X509_get1_email 2404 EXIST::FUNCTION: | ||
| 1816 | X509_email_free 2405 EXIST::FUNCTION: | ||
| 1817 | i2d_RSA_NET 2406 EXIST::FUNCTION:RC4,RSA | ||
| 1818 | d2i_RSA_NET_2 2407 NOEXIST::FUNCTION: | ||
| 1819 | d2i_RSA_NET 2408 EXIST::FUNCTION:RC4,RSA | ||
| 1820 | DSO_bind_func 2409 EXIST::FUNCTION: | ||
| 1821 | CRYPTO_get_new_dynlockid 2410 EXIST::FUNCTION: | ||
| 1822 | sk_new_null 2411 EXIST::FUNCTION: | ||
| 1823 | CRYPTO_set_dynlock_destroy_callback 2412 EXIST:!VMS:FUNCTION: | ||
| 1824 | CRYPTO_set_dynlock_destroy_cb 2412 EXIST:VMS:FUNCTION: | ||
| 1825 | CRYPTO_destroy_dynlockid 2413 EXIST::FUNCTION: | ||
| 1826 | CRYPTO_set_dynlock_size 2414 NOEXIST::FUNCTION: | ||
| 1827 | CRYPTO_set_dynlock_create_callback 2415 EXIST:!VMS:FUNCTION: | ||
| 1828 | CRYPTO_set_dynlock_create_cb 2415 EXIST:VMS:FUNCTION: | ||
| 1829 | CRYPTO_set_dynlock_lock_callback 2416 EXIST:!VMS:FUNCTION: | ||
| 1830 | CRYPTO_set_dynlock_lock_cb 2416 EXIST:VMS:FUNCTION: | ||
| 1831 | CRYPTO_get_dynlock_lock_callback 2417 EXIST:!VMS:FUNCTION: | ||
| 1832 | CRYPTO_get_dynlock_lock_cb 2417 EXIST:VMS:FUNCTION: | ||
| 1833 | CRYPTO_get_dynlock_destroy_callback 2418 EXIST:!VMS:FUNCTION: | ||
| 1834 | CRYPTO_get_dynlock_destroy_cb 2418 EXIST:VMS:FUNCTION: | ||
| 1835 | CRYPTO_get_dynlock_value 2419 EXIST::FUNCTION: | ||
| 1836 | CRYPTO_get_dynlock_create_callback 2420 EXIST:!VMS:FUNCTION: | ||
| 1837 | CRYPTO_get_dynlock_create_cb 2420 EXIST:VMS:FUNCTION: | ||
| 1838 | c2i_ASN1_BIT_STRING 2421 EXIST::FUNCTION: | ||
| 1839 | i2c_ASN1_BIT_STRING 2422 EXIST::FUNCTION: | ||
| 1840 | RAND_poll 2423 EXIST::FUNCTION: | ||
| 1841 | c2i_ASN1_INTEGER 2424 EXIST::FUNCTION: | ||
| 1842 | i2c_ASN1_INTEGER 2425 EXIST::FUNCTION: | ||
| 1843 | BIO_dump_indent 2426 EXIST::FUNCTION: | ||
| 1844 | ASN1_parse_dump 2427 EXIST::FUNCTION:BIO | ||
| 1845 | c2i_ASN1_OBJECT 2428 EXIST::FUNCTION: | ||
| 1846 | X509_NAME_print_ex_fp 2429 EXIST::FUNCTION:FP_API | ||
| 1847 | ASN1_STRING_print_ex_fp 2430 EXIST::FUNCTION:FP_API | ||
| 1848 | X509_NAME_print_ex 2431 EXIST::FUNCTION:BIO | ||
| 1849 | ASN1_STRING_print_ex 2432 EXIST::FUNCTION:BIO | ||
| 1850 | MD4 2433 EXIST::FUNCTION:MD4 | ||
| 1851 | MD4_Transform 2434 EXIST::FUNCTION:MD4 | ||
| 1852 | MD4_Final 2435 EXIST::FUNCTION:MD4 | ||
| 1853 | MD4_Update 2436 EXIST::FUNCTION:MD4 | ||
| 1854 | MD4_Init 2437 EXIST::FUNCTION:MD4 | ||
| 1855 | EVP_md4 2438 EXIST::FUNCTION:MD4 | ||
| 1856 | i2d_PUBKEY_bio 2439 EXIST::FUNCTION:BIO | ||
| 1857 | i2d_PUBKEY_fp 2440 EXIST::FUNCTION:FP_API | ||
| 1858 | d2i_PUBKEY_bio 2441 EXIST::FUNCTION:BIO | ||
| 1859 | ASN1_STRING_to_UTF8 2442 EXIST::FUNCTION: | ||
| 1860 | BIO_vprintf 2443 EXIST::FUNCTION: | ||
| 1861 | BIO_vsnprintf 2444 EXIST::FUNCTION: | ||
| 1862 | d2i_PUBKEY_fp 2445 EXIST::FUNCTION:FP_API | ||
| 1863 | X509_cmp_time 2446 EXIST::FUNCTION: | ||
| 1864 | X509_STORE_CTX_set_time 2447 EXIST::FUNCTION: | ||
| 1865 | X509_STORE_CTX_get1_issuer 2448 EXIST::FUNCTION: | ||
| 1866 | X509_OBJECT_retrieve_match 2449 EXIST::FUNCTION: | ||
| 1867 | X509_OBJECT_idx_by_subject 2450 EXIST::FUNCTION: | ||
| 1868 | X509_STORE_CTX_set_flags 2451 EXIST::FUNCTION: | ||
| 1869 | X509_STORE_CTX_trusted_stack 2452 EXIST::FUNCTION: | ||
| 1870 | X509_time_adj 2453 EXIST::FUNCTION: | ||
| 1871 | X509_check_issued 2454 EXIST::FUNCTION: | ||
| 1872 | ASN1_UTCTIME_cmp_time_t 2455 EXIST::FUNCTION: | ||
| 1873 | DES_set_weak_key_flag 2456 NOEXIST::FUNCTION: | ||
| 1874 | DES_check_key 2457 NOEXIST::FUNCTION: | ||
| 1875 | DES_rw_mode 2458 NOEXIST::FUNCTION: | ||
| 1876 | RSA_PKCS1_RSAref 2459 NOEXIST::FUNCTION: | ||
| 1877 | X509_keyid_set1 2460 EXIST::FUNCTION: | ||
| 1878 | BIO_next 2461 EXIST::FUNCTION: | ||
| 1879 | DSO_METHOD_vms 2462 EXIST::FUNCTION: | ||
| 1880 | BIO_f_linebuffer 2463 EXIST:VMS:FUNCTION: | ||
| 1881 | BN_bntest_rand 2464 EXIST::FUNCTION: | ||
| 1882 | OPENSSL_issetugid 2465 EXIST::FUNCTION: | ||
| 1883 | BN_rand_range 2466 EXIST::FUNCTION: | ||
| 1884 | ERR_load_ENGINE_strings 2467 EXIST::FUNCTION:ENGINE | ||
| 1885 | ENGINE_set_DSA 2468 EXIST::FUNCTION:ENGINE | ||
| 1886 | ENGINE_get_finish_function 2469 EXIST::FUNCTION:ENGINE | ||
| 1887 | ENGINE_get_default_RSA 2470 EXIST::FUNCTION:ENGINE | ||
| 1888 | ENGINE_get_BN_mod_exp 2471 NOEXIST::FUNCTION: | ||
| 1889 | DSA_get_default_openssl_method 2472 NOEXIST::FUNCTION: | ||
| 1890 | ENGINE_set_DH 2473 EXIST::FUNCTION:ENGINE | ||
| 1891 | ENGINE_set_def_BN_mod_exp_crt 2474 NOEXIST::FUNCTION: | ||
| 1892 | ENGINE_set_default_BN_mod_exp_crt 2474 NOEXIST::FUNCTION: | ||
| 1893 | ENGINE_init 2475 EXIST::FUNCTION:ENGINE | ||
| 1894 | DH_get_default_openssl_method 2476 NOEXIST::FUNCTION: | ||
| 1895 | RSA_set_default_openssl_method 2477 NOEXIST::FUNCTION: | ||
| 1896 | ENGINE_finish 2478 EXIST::FUNCTION:ENGINE | ||
| 1897 | ENGINE_load_public_key 2479 EXIST::FUNCTION:ENGINE | ||
| 1898 | ENGINE_get_DH 2480 EXIST::FUNCTION:ENGINE | ||
| 1899 | ENGINE_ctrl 2481 EXIST::FUNCTION:ENGINE | ||
| 1900 | ENGINE_get_init_function 2482 EXIST::FUNCTION:ENGINE | ||
| 1901 | ENGINE_set_init_function 2483 EXIST::FUNCTION:ENGINE | ||
| 1902 | ENGINE_set_default_DSA 2484 EXIST::FUNCTION:ENGINE | ||
| 1903 | ENGINE_get_name 2485 EXIST::FUNCTION:ENGINE | ||
| 1904 | ENGINE_get_last 2486 EXIST::FUNCTION:ENGINE | ||
| 1905 | ENGINE_get_prev 2487 EXIST::FUNCTION:ENGINE | ||
| 1906 | ENGINE_get_default_DH 2488 EXIST::FUNCTION:ENGINE | ||
| 1907 | ENGINE_get_RSA 2489 EXIST::FUNCTION:ENGINE | ||
| 1908 | ENGINE_set_default 2490 EXIST::FUNCTION:ENGINE | ||
| 1909 | ENGINE_get_RAND 2491 EXIST::FUNCTION:ENGINE | ||
| 1910 | ENGINE_get_first 2492 EXIST::FUNCTION:ENGINE | ||
| 1911 | ENGINE_by_id 2493 EXIST::FUNCTION:ENGINE | ||
| 1912 | ENGINE_set_finish_function 2494 EXIST::FUNCTION:ENGINE | ||
| 1913 | ENGINE_get_def_BN_mod_exp_crt 2495 NOEXIST::FUNCTION: | ||
| 1914 | ENGINE_get_default_BN_mod_exp_crt 2495 NOEXIST::FUNCTION: | ||
| 1915 | RSA_get_default_openssl_method 2496 NOEXIST::FUNCTION: | ||
| 1916 | ENGINE_set_RSA 2497 EXIST::FUNCTION:ENGINE | ||
| 1917 | ENGINE_load_private_key 2498 EXIST::FUNCTION:ENGINE | ||
| 1918 | ENGINE_set_default_RAND 2499 EXIST::FUNCTION:ENGINE | ||
| 1919 | ENGINE_set_BN_mod_exp 2500 NOEXIST::FUNCTION: | ||
| 1920 | ENGINE_remove 2501 EXIST::FUNCTION:ENGINE | ||
| 1921 | ENGINE_free 2502 EXIST::FUNCTION:ENGINE | ||
| 1922 | ENGINE_get_BN_mod_exp_crt 2503 NOEXIST::FUNCTION: | ||
| 1923 | ENGINE_get_next 2504 EXIST::FUNCTION:ENGINE | ||
| 1924 | ENGINE_set_name 2505 EXIST::FUNCTION:ENGINE | ||
| 1925 | ENGINE_get_default_DSA 2506 EXIST::FUNCTION:ENGINE | ||
| 1926 | ENGINE_set_default_BN_mod_exp 2507 NOEXIST::FUNCTION: | ||
| 1927 | ENGINE_set_default_RSA 2508 EXIST::FUNCTION:ENGINE | ||
| 1928 | ENGINE_get_default_RAND 2509 EXIST::FUNCTION:ENGINE | ||
| 1929 | ENGINE_get_default_BN_mod_exp 2510 NOEXIST::FUNCTION: | ||
| 1930 | ENGINE_set_RAND 2511 EXIST::FUNCTION:ENGINE | ||
| 1931 | ENGINE_set_id 2512 EXIST::FUNCTION:ENGINE | ||
| 1932 | ENGINE_set_BN_mod_exp_crt 2513 NOEXIST::FUNCTION: | ||
| 1933 | ENGINE_set_default_DH 2514 EXIST::FUNCTION:ENGINE | ||
| 1934 | ENGINE_new 2515 EXIST::FUNCTION:ENGINE | ||
| 1935 | ENGINE_get_id 2516 EXIST::FUNCTION:ENGINE | ||
| 1936 | DSA_set_default_openssl_method 2517 NOEXIST::FUNCTION: | ||
| 1937 | ENGINE_add 2518 EXIST::FUNCTION:ENGINE | ||
| 1938 | DH_set_default_openssl_method 2519 NOEXIST::FUNCTION: | ||
| 1939 | ENGINE_get_DSA 2520 EXIST::FUNCTION:ENGINE | ||
| 1940 | ENGINE_get_ctrl_function 2521 EXIST::FUNCTION:ENGINE | ||
| 1941 | ENGINE_set_ctrl_function 2522 EXIST::FUNCTION:ENGINE | ||
| 1942 | BN_pseudo_rand_range 2523 EXIST::FUNCTION: | ||
| 1943 | X509_STORE_CTX_set_verify_cb 2524 EXIST::FUNCTION: | ||
| 1944 | ERR_load_COMP_strings 2525 EXIST::FUNCTION: | ||
| 1945 | PKCS12_item_decrypt_d2i 2526 EXIST::FUNCTION: | ||
| 1946 | ASN1_UTF8STRING_it 2527 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1947 | ASN1_UTF8STRING_it 2527 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1948 | ENGINE_unregister_ciphers 2528 EXIST::FUNCTION:ENGINE | ||
| 1949 | ENGINE_get_ciphers 2529 EXIST::FUNCTION:ENGINE | ||
| 1950 | d2i_OCSP_BASICRESP 2530 EXIST::FUNCTION: | ||
| 1951 | KRB5_CHECKSUM_it 2531 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1952 | KRB5_CHECKSUM_it 2531 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1953 | EC_POINT_add 2532 EXIST::FUNCTION:EC | ||
| 1954 | ASN1_item_ex_i2d 2533 EXIST::FUNCTION: | ||
| 1955 | OCSP_CERTID_it 2534 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1956 | OCSP_CERTID_it 2534 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1957 | d2i_OCSP_RESPBYTES 2535 EXIST::FUNCTION: | ||
| 1958 | X509V3_add1_i2d 2536 EXIST::FUNCTION: | ||
| 1959 | PKCS7_ENVELOPE_it 2537 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1960 | PKCS7_ENVELOPE_it 2537 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1961 | UI_add_input_boolean 2538 EXIST::FUNCTION: | ||
| 1962 | ENGINE_unregister_RSA 2539 EXIST::FUNCTION:ENGINE | ||
| 1963 | X509V3_EXT_nconf 2540 EXIST::FUNCTION: | ||
| 1964 | ASN1_GENERALSTRING_free 2541 EXIST::FUNCTION: | ||
| 1965 | d2i_OCSP_CERTSTATUS 2542 EXIST::FUNCTION: | ||
| 1966 | X509_REVOKED_set_serialNumber 2543 EXIST::FUNCTION: | ||
| 1967 | X509_print_ex 2544 EXIST::FUNCTION:BIO | ||
| 1968 | OCSP_ONEREQ_get1_ext_d2i 2545 EXIST::FUNCTION: | ||
| 1969 | ENGINE_register_all_RAND 2546 EXIST::FUNCTION:ENGINE | ||
| 1970 | ENGINE_load_dynamic 2547 EXIST::FUNCTION:ENGINE | ||
| 1971 | PBKDF2PARAM_it 2548 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1972 | PBKDF2PARAM_it 2548 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1973 | EXTENDED_KEY_USAGE_new 2549 EXIST::FUNCTION: | ||
| 1974 | EC_GROUP_clear_free 2550 EXIST::FUNCTION:EC | ||
| 1975 | OCSP_sendreq_bio 2551 EXIST::FUNCTION: | ||
| 1976 | ASN1_item_digest 2552 EXIST::FUNCTION:EVP | ||
| 1977 | OCSP_BASICRESP_delete_ext 2553 EXIST::FUNCTION: | ||
| 1978 | OCSP_SIGNATURE_it 2554 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1979 | OCSP_SIGNATURE_it 2554 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1980 | X509_CRL_it 2555 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1981 | X509_CRL_it 2555 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1982 | OCSP_BASICRESP_add_ext 2556 EXIST::FUNCTION: | ||
| 1983 | KRB5_ENCKEY_it 2557 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1984 | KRB5_ENCKEY_it 2557 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1985 | UI_method_set_closer 2558 EXIST::FUNCTION: | ||
| 1986 | X509_STORE_set_purpose 2559 EXIST::FUNCTION: | ||
| 1987 | i2d_ASN1_GENERALSTRING 2560 EXIST::FUNCTION: | ||
| 1988 | OCSP_response_status 2561 EXIST::FUNCTION: | ||
| 1989 | i2d_OCSP_SERVICELOC 2562 EXIST::FUNCTION: | ||
| 1990 | ENGINE_get_digest_engine 2563 EXIST::FUNCTION:ENGINE | ||
| 1991 | EC_GROUP_set_curve_GFp 2564 EXIST::FUNCTION:EC | ||
| 1992 | OCSP_REQUEST_get_ext_by_OBJ 2565 EXIST::FUNCTION: | ||
| 1993 | _ossl_old_des_random_key 2566 EXIST::FUNCTION:DES | ||
| 1994 | ASN1_T61STRING_it 2567 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 1995 | ASN1_T61STRING_it 2567 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 1996 | EC_GROUP_method_of 2568 EXIST::FUNCTION:EC | ||
| 1997 | i2d_KRB5_APREQ 2569 EXIST::FUNCTION: | ||
| 1998 | _ossl_old_des_encrypt 2570 EXIST::FUNCTION:DES | ||
| 1999 | ASN1_PRINTABLE_new 2571 EXIST::FUNCTION: | ||
| 2000 | HMAC_Init_ex 2572 EXIST::FUNCTION:HMAC | ||
| 2001 | d2i_KRB5_AUTHENT 2573 EXIST::FUNCTION: | ||
| 2002 | OCSP_archive_cutoff_new 2574 EXIST::FUNCTION: | ||
| 2003 | EC_POINT_set_Jprojective_coordinates_GFp 2575 EXIST:!VMS:FUNCTION:EC | ||
| 2004 | EC_POINT_set_Jproj_coords_GFp 2575 EXIST:VMS:FUNCTION:EC | ||
| 2005 | _ossl_old_des_is_weak_key 2576 EXIST::FUNCTION:DES | ||
| 2006 | OCSP_BASICRESP_get_ext_by_OBJ 2577 EXIST::FUNCTION: | ||
| 2007 | EC_POINT_oct2point 2578 EXIST::FUNCTION:EC | ||
| 2008 | OCSP_SINGLERESP_get_ext_count 2579 EXIST::FUNCTION: | ||
| 2009 | UI_ctrl 2580 EXIST::FUNCTION: | ||
| 2010 | _shadow_DES_rw_mode 2581 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DES | ||
| 2011 | _shadow_DES_rw_mode 2581 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DES | ||
| 2012 | asn1_do_adb 2582 EXIST::FUNCTION: | ||
| 2013 | ASN1_template_i2d 2583 EXIST::FUNCTION: | ||
| 2014 | ENGINE_register_DH 2584 EXIST::FUNCTION:ENGINE | ||
| 2015 | UI_construct_prompt 2585 EXIST::FUNCTION: | ||
| 2016 | X509_STORE_set_trust 2586 EXIST::FUNCTION: | ||
| 2017 | UI_dup_input_string 2587 EXIST::FUNCTION: | ||
| 2018 | d2i_KRB5_APREQ 2588 EXIST::FUNCTION: | ||
| 2019 | EVP_MD_CTX_copy_ex 2589 EXIST::FUNCTION: | ||
| 2020 | OCSP_request_is_signed 2590 EXIST::FUNCTION: | ||
| 2021 | i2d_OCSP_REQINFO 2591 EXIST::FUNCTION: | ||
| 2022 | KRB5_ENCKEY_free 2592 EXIST::FUNCTION: | ||
| 2023 | OCSP_resp_get0 2593 EXIST::FUNCTION: | ||
| 2024 | GENERAL_NAME_it 2594 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2025 | GENERAL_NAME_it 2594 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2026 | ASN1_GENERALIZEDTIME_it 2595 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2027 | ASN1_GENERALIZEDTIME_it 2595 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2028 | X509_STORE_set_flags 2596 EXIST::FUNCTION: | ||
| 2029 | EC_POINT_set_compressed_coordinates_GFp 2597 EXIST:!VMS:FUNCTION:EC | ||
| 2030 | EC_POINT_set_compr_coords_GFp 2597 EXIST:VMS:FUNCTION:EC | ||
| 2031 | OCSP_response_status_str 2598 EXIST::FUNCTION: | ||
| 2032 | d2i_OCSP_REVOKEDINFO 2599 EXIST::FUNCTION: | ||
| 2033 | OCSP_basic_add1_cert 2600 EXIST::FUNCTION: | ||
| 2034 | ERR_get_implementation 2601 EXIST::FUNCTION: | ||
| 2035 | EVP_CipherFinal_ex 2602 EXIST::FUNCTION: | ||
| 2036 | OCSP_CERTSTATUS_new 2603 EXIST::FUNCTION: | ||
| 2037 | CRYPTO_cleanup_all_ex_data 2604 EXIST::FUNCTION: | ||
| 2038 | OCSP_resp_find 2605 EXIST::FUNCTION: | ||
| 2039 | BN_nnmod 2606 EXIST::FUNCTION: | ||
| 2040 | X509_CRL_sort 2607 EXIST::FUNCTION: | ||
| 2041 | X509_REVOKED_set_revocationDate 2608 EXIST::FUNCTION: | ||
| 2042 | ENGINE_register_RAND 2609 EXIST::FUNCTION:ENGINE | ||
| 2043 | OCSP_SERVICELOC_new 2610 EXIST::FUNCTION: | ||
| 2044 | EC_POINT_set_affine_coordinates_GFp 2611 EXIST:!VMS:FUNCTION:EC | ||
| 2045 | EC_POINT_set_affine_coords_GFp 2611 EXIST:VMS:FUNCTION:EC | ||
| 2046 | _ossl_old_des_options 2612 EXIST::FUNCTION:DES | ||
| 2047 | SXNET_it 2613 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2048 | SXNET_it 2613 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2049 | UI_dup_input_boolean 2614 EXIST::FUNCTION: | ||
| 2050 | PKCS12_add_CSPName_asc 2615 EXIST::FUNCTION: | ||
| 2051 | EC_POINT_is_at_infinity 2616 EXIST::FUNCTION:EC | ||
| 2052 | ENGINE_load_cryptodev 2617 EXIST::FUNCTION:ENGINE | ||
| 2053 | DSO_convert_filename 2618 EXIST::FUNCTION: | ||
| 2054 | POLICYQUALINFO_it 2619 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2055 | POLICYQUALINFO_it 2619 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2056 | ENGINE_register_ciphers 2620 EXIST::FUNCTION:ENGINE | ||
| 2057 | BN_mod_lshift_quick 2621 EXIST::FUNCTION: | ||
| 2058 | DSO_set_filename 2622 EXIST::FUNCTION: | ||
| 2059 | ASN1_item_free 2623 EXIST::FUNCTION: | ||
| 2060 | KRB5_TKTBODY_free 2624 EXIST::FUNCTION: | ||
| 2061 | AUTHORITY_KEYID_it 2625 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2062 | AUTHORITY_KEYID_it 2625 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2063 | KRB5_APREQBODY_new 2626 EXIST::FUNCTION: | ||
| 2064 | X509V3_EXT_REQ_add_nconf 2627 EXIST::FUNCTION: | ||
| 2065 | ENGINE_ctrl_cmd_string 2628 EXIST::FUNCTION:ENGINE | ||
| 2066 | i2d_OCSP_RESPDATA 2629 EXIST::FUNCTION: | ||
| 2067 | EVP_MD_CTX_init 2630 EXIST::FUNCTION: | ||
| 2068 | EXTENDED_KEY_USAGE_free 2631 EXIST::FUNCTION: | ||
| 2069 | PKCS7_ATTR_SIGN_it 2632 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2070 | PKCS7_ATTR_SIGN_it 2632 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2071 | UI_add_error_string 2633 EXIST::FUNCTION: | ||
| 2072 | KRB5_CHECKSUM_free 2634 EXIST::FUNCTION: | ||
| 2073 | OCSP_REQUEST_get_ext 2635 EXIST::FUNCTION: | ||
| 2074 | ENGINE_load_ubsec 2636 EXIST::FUNCTION:ENGINE,STATIC_ENGINE | ||
| 2075 | ENGINE_register_all_digests 2637 EXIST::FUNCTION:ENGINE | ||
| 2076 | PKEY_USAGE_PERIOD_it 2638 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2077 | PKEY_USAGE_PERIOD_it 2638 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2078 | PKCS12_unpack_authsafes 2639 EXIST::FUNCTION: | ||
| 2079 | ASN1_item_unpack 2640 EXIST::FUNCTION: | ||
| 2080 | NETSCAPE_SPKAC_it 2641 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2081 | NETSCAPE_SPKAC_it 2641 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2082 | X509_REVOKED_it 2642 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2083 | X509_REVOKED_it 2642 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2084 | ASN1_STRING_encode 2643 EXIST::FUNCTION: | ||
| 2085 | EVP_aes_128_ecb 2644 EXIST::FUNCTION:AES | ||
| 2086 | KRB5_AUTHENT_free 2645 EXIST::FUNCTION: | ||
| 2087 | OCSP_BASICRESP_get_ext_by_critical 2646 EXIST:!VMS:FUNCTION: | ||
| 2088 | OCSP_BASICRESP_get_ext_by_crit 2646 EXIST:VMS:FUNCTION: | ||
| 2089 | OCSP_cert_status_str 2647 EXIST::FUNCTION: | ||
| 2090 | d2i_OCSP_REQUEST 2648 EXIST::FUNCTION: | ||
| 2091 | UI_dup_info_string 2649 EXIST::FUNCTION: | ||
| 2092 | _ossl_old_des_xwhite_in2out 2650 NOEXIST::FUNCTION: | ||
| 2093 | PKCS12_it 2651 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2094 | PKCS12_it 2651 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2095 | OCSP_SINGLERESP_get_ext_by_critical 2652 EXIST:!VMS:FUNCTION: | ||
| 2096 | OCSP_SINGLERESP_get_ext_by_crit 2652 EXIST:VMS:FUNCTION: | ||
| 2097 | OCSP_CERTSTATUS_free 2653 EXIST::FUNCTION: | ||
| 2098 | _ossl_old_des_crypt 2654 EXIST::FUNCTION:DES | ||
| 2099 | ASN1_item_i2d 2655 EXIST::FUNCTION: | ||
| 2100 | EVP_DecryptFinal_ex 2656 EXIST::FUNCTION: | ||
| 2101 | ENGINE_load_openssl 2657 EXIST::FUNCTION:ENGINE | ||
| 2102 | ENGINE_get_cmd_defns 2658 EXIST::FUNCTION:ENGINE | ||
| 2103 | ENGINE_set_load_privkey_function 2659 EXIST:!VMS:FUNCTION:ENGINE | ||
| 2104 | ENGINE_set_load_privkey_fn 2659 EXIST:VMS:FUNCTION:ENGINE | ||
| 2105 | EVP_EncryptFinal_ex 2660 EXIST::FUNCTION: | ||
| 2106 | ENGINE_set_default_digests 2661 EXIST::FUNCTION:ENGINE | ||
| 2107 | X509_get0_pubkey_bitstr 2662 EXIST::FUNCTION: | ||
| 2108 | asn1_ex_i2c 2663 EXIST::FUNCTION: | ||
| 2109 | ENGINE_register_RSA 2664 EXIST::FUNCTION:ENGINE | ||
| 2110 | ENGINE_unregister_DSA 2665 EXIST::FUNCTION:ENGINE | ||
| 2111 | _ossl_old_des_key_sched 2666 EXIST::FUNCTION:DES | ||
| 2112 | X509_EXTENSION_it 2667 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2113 | X509_EXTENSION_it 2667 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2114 | i2d_KRB5_AUTHENT 2668 EXIST::FUNCTION: | ||
| 2115 | SXNETID_it 2669 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2116 | SXNETID_it 2669 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2117 | d2i_OCSP_SINGLERESP 2670 EXIST::FUNCTION: | ||
| 2118 | EDIPARTYNAME_new 2671 EXIST::FUNCTION: | ||
| 2119 | PKCS12_certbag2x509 2672 EXIST::FUNCTION: | ||
| 2120 | _ossl_old_des_ofb64_encrypt 2673 EXIST::FUNCTION:DES | ||
| 2121 | d2i_EXTENDED_KEY_USAGE 2674 EXIST::FUNCTION: | ||
| 2122 | ERR_print_errors_cb 2675 EXIST::FUNCTION: | ||
| 2123 | ENGINE_set_ciphers 2676 EXIST::FUNCTION:ENGINE | ||
| 2124 | d2i_KRB5_APREQBODY 2677 EXIST::FUNCTION: | ||
| 2125 | UI_method_get_flusher 2678 EXIST::FUNCTION: | ||
| 2126 | X509_PUBKEY_it 2679 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2127 | X509_PUBKEY_it 2679 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2128 | _ossl_old_des_enc_read 2680 EXIST::FUNCTION:DES | ||
| 2129 | PKCS7_ENCRYPT_it 2681 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2130 | PKCS7_ENCRYPT_it 2681 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2131 | i2d_OCSP_RESPONSE 2682 EXIST::FUNCTION: | ||
| 2132 | EC_GROUP_get_cofactor 2683 EXIST::FUNCTION:EC | ||
| 2133 | PKCS12_unpack_p7data 2684 EXIST::FUNCTION: | ||
| 2134 | d2i_KRB5_AUTHDATA 2685 EXIST::FUNCTION: | ||
| 2135 | OCSP_copy_nonce 2686 EXIST::FUNCTION: | ||
| 2136 | KRB5_AUTHDATA_new 2687 EXIST::FUNCTION: | ||
| 2137 | OCSP_RESPDATA_new 2688 EXIST::FUNCTION: | ||
| 2138 | EC_GFp_mont_method 2689 EXIST::FUNCTION:EC | ||
| 2139 | OCSP_REVOKEDINFO_free 2690 EXIST::FUNCTION: | ||
| 2140 | UI_get_ex_data 2691 EXIST::FUNCTION: | ||
| 2141 | KRB5_APREQBODY_free 2692 EXIST::FUNCTION: | ||
| 2142 | EC_GROUP_get0_generator 2693 EXIST::FUNCTION:EC | ||
| 2143 | UI_get_default_method 2694 EXIST::FUNCTION: | ||
| 2144 | X509V3_set_nconf 2695 EXIST::FUNCTION: | ||
| 2145 | PKCS12_item_i2d_encrypt 2696 EXIST::FUNCTION: | ||
| 2146 | X509_add1_ext_i2d 2697 EXIST::FUNCTION: | ||
| 2147 | PKCS7_SIGNER_INFO_it 2698 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2148 | PKCS7_SIGNER_INFO_it 2698 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2149 | KRB5_PRINCNAME_new 2699 EXIST::FUNCTION: | ||
| 2150 | PKCS12_SAFEBAG_it 2700 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2151 | PKCS12_SAFEBAG_it 2700 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2152 | EC_GROUP_get_order 2701 EXIST::FUNCTION:EC | ||
| 2153 | d2i_OCSP_RESPID 2702 EXIST::FUNCTION: | ||
| 2154 | OCSP_request_verify 2703 EXIST::FUNCTION: | ||
| 2155 | NCONF_get_number_e 2704 EXIST::FUNCTION: | ||
| 2156 | _ossl_old_des_decrypt3 2705 EXIST::FUNCTION:DES | ||
| 2157 | X509_signature_print 2706 EXIST::FUNCTION:EVP | ||
| 2158 | OCSP_SINGLERESP_free 2707 EXIST::FUNCTION: | ||
| 2159 | ENGINE_load_builtin_engines 2708 EXIST::FUNCTION:ENGINE | ||
| 2160 | i2d_OCSP_ONEREQ 2709 EXIST::FUNCTION: | ||
| 2161 | OCSP_REQUEST_add_ext 2710 EXIST::FUNCTION: | ||
| 2162 | OCSP_RESPBYTES_new 2711 EXIST::FUNCTION: | ||
| 2163 | EVP_MD_CTX_create 2712 EXIST::FUNCTION: | ||
| 2164 | OCSP_resp_find_status 2713 EXIST::FUNCTION: | ||
| 2165 | X509_ALGOR_it 2714 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2166 | X509_ALGOR_it 2714 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2167 | ASN1_TIME_it 2715 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2168 | ASN1_TIME_it 2715 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2169 | OCSP_request_set1_name 2716 EXIST::FUNCTION: | ||
| 2170 | OCSP_ONEREQ_get_ext_count 2717 EXIST::FUNCTION: | ||
| 2171 | UI_get0_result 2718 EXIST::FUNCTION: | ||
| 2172 | PKCS12_AUTHSAFES_it 2719 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2173 | PKCS12_AUTHSAFES_it 2719 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2174 | EVP_aes_256_ecb 2720 EXIST::FUNCTION:AES | ||
| 2175 | PKCS12_pack_authsafes 2721 EXIST::FUNCTION: | ||
| 2176 | ASN1_IA5STRING_it 2722 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2177 | ASN1_IA5STRING_it 2722 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2178 | UI_get_input_flags 2723 EXIST::FUNCTION: | ||
| 2179 | EC_GROUP_set_generator 2724 EXIST::FUNCTION:EC | ||
| 2180 | _ossl_old_des_string_to_2keys 2725 EXIST::FUNCTION:DES | ||
| 2181 | OCSP_CERTID_free 2726 EXIST::FUNCTION: | ||
| 2182 | X509_CERT_AUX_it 2727 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2183 | X509_CERT_AUX_it 2727 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2184 | CERTIFICATEPOLICIES_it 2728 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2185 | CERTIFICATEPOLICIES_it 2728 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2186 | _ossl_old_des_ede3_cbc_encrypt 2729 EXIST::FUNCTION:DES | ||
| 2187 | RAND_set_rand_engine 2730 EXIST::FUNCTION:ENGINE | ||
| 2188 | DSO_get_loaded_filename 2731 EXIST::FUNCTION: | ||
| 2189 | X509_ATTRIBUTE_it 2732 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2190 | X509_ATTRIBUTE_it 2732 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2191 | OCSP_ONEREQ_get_ext_by_NID 2733 EXIST::FUNCTION: | ||
| 2192 | PKCS12_decrypt_skey 2734 EXIST::FUNCTION: | ||
| 2193 | KRB5_AUTHENT_it 2735 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2194 | KRB5_AUTHENT_it 2735 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2195 | UI_dup_error_string 2736 EXIST::FUNCTION: | ||
| 2196 | RSAPublicKey_it 2737 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA | ||
| 2197 | RSAPublicKey_it 2737 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA | ||
| 2198 | i2d_OCSP_REQUEST 2738 EXIST::FUNCTION: | ||
| 2199 | PKCS12_x509crl2certbag 2739 EXIST::FUNCTION: | ||
| 2200 | OCSP_SERVICELOC_it 2740 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2201 | OCSP_SERVICELOC_it 2740 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2202 | ASN1_item_sign 2741 EXIST::FUNCTION:EVP | ||
| 2203 | X509_CRL_set_issuer_name 2742 EXIST::FUNCTION: | ||
| 2204 | OBJ_NAME_do_all_sorted 2743 EXIST::FUNCTION: | ||
| 2205 | i2d_OCSP_BASICRESP 2744 EXIST::FUNCTION: | ||
| 2206 | i2d_OCSP_RESPBYTES 2745 EXIST::FUNCTION: | ||
| 2207 | PKCS12_unpack_p7encdata 2746 EXIST::FUNCTION: | ||
| 2208 | HMAC_CTX_init 2747 EXIST::FUNCTION:HMAC | ||
| 2209 | ENGINE_get_digest 2748 EXIST::FUNCTION:ENGINE | ||
| 2210 | OCSP_RESPONSE_print 2749 EXIST::FUNCTION: | ||
| 2211 | KRB5_TKTBODY_it 2750 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2212 | KRB5_TKTBODY_it 2750 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2213 | ACCESS_DESCRIPTION_it 2751 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2214 | ACCESS_DESCRIPTION_it 2751 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2215 | PKCS7_ISSUER_AND_SERIAL_it 2752 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2216 | PKCS7_ISSUER_AND_SERIAL_it 2752 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2217 | PBE2PARAM_it 2753 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2218 | PBE2PARAM_it 2753 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2219 | PKCS12_certbag2x509crl 2754 EXIST::FUNCTION: | ||
| 2220 | PKCS7_SIGNED_it 2755 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2221 | PKCS7_SIGNED_it 2755 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2222 | ENGINE_get_cipher 2756 EXIST::FUNCTION:ENGINE | ||
| 2223 | i2d_OCSP_CRLID 2757 EXIST::FUNCTION: | ||
| 2224 | OCSP_SINGLERESP_new 2758 EXIST::FUNCTION: | ||
| 2225 | ENGINE_cmd_is_executable 2759 EXIST::FUNCTION:ENGINE | ||
| 2226 | RSA_up_ref 2760 EXIST::FUNCTION:RSA | ||
| 2227 | ASN1_GENERALSTRING_it 2761 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2228 | ASN1_GENERALSTRING_it 2761 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2229 | ENGINE_register_DSA 2762 EXIST::FUNCTION:ENGINE | ||
| 2230 | X509V3_EXT_add_nconf_sk 2763 EXIST::FUNCTION: | ||
| 2231 | ENGINE_set_load_pubkey_function 2764 EXIST::FUNCTION:ENGINE | ||
| 2232 | PKCS8_decrypt 2765 EXIST::FUNCTION: | ||
| 2233 | PEM_bytes_read_bio 2766 EXIST::FUNCTION:BIO | ||
| 2234 | DIRECTORYSTRING_it 2767 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2235 | DIRECTORYSTRING_it 2767 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2236 | d2i_OCSP_CRLID 2768 EXIST::FUNCTION: | ||
| 2237 | EC_POINT_is_on_curve 2769 EXIST::FUNCTION:EC | ||
| 2238 | CRYPTO_set_locked_mem_ex_functions 2770 EXIST:!VMS:FUNCTION: | ||
| 2239 | CRYPTO_set_locked_mem_ex_funcs 2770 EXIST:VMS:FUNCTION: | ||
| 2240 | d2i_KRB5_CHECKSUM 2771 EXIST::FUNCTION: | ||
| 2241 | ASN1_item_dup 2772 EXIST::FUNCTION: | ||
| 2242 | X509_it 2773 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2243 | X509_it 2773 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2244 | BN_mod_add 2774 EXIST::FUNCTION: | ||
| 2245 | KRB5_AUTHDATA_free 2775 EXIST::FUNCTION: | ||
| 2246 | _ossl_old_des_cbc_cksum 2776 EXIST::FUNCTION:DES | ||
| 2247 | ASN1_item_verify 2777 EXIST::FUNCTION:EVP | ||
| 2248 | CRYPTO_set_mem_ex_functions 2778 EXIST::FUNCTION: | ||
| 2249 | EC_POINT_get_Jprojective_coordinates_GFp 2779 EXIST:!VMS:FUNCTION:EC | ||
| 2250 | EC_POINT_get_Jproj_coords_GFp 2779 EXIST:VMS:FUNCTION:EC | ||
| 2251 | ZLONG_it 2780 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2252 | ZLONG_it 2780 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2253 | CRYPTO_get_locked_mem_ex_functions 2781 EXIST:!VMS:FUNCTION: | ||
| 2254 | CRYPTO_get_locked_mem_ex_funcs 2781 EXIST:VMS:FUNCTION: | ||
| 2255 | ASN1_TIME_check 2782 EXIST::FUNCTION: | ||
| 2256 | UI_get0_user_data 2783 EXIST::FUNCTION: | ||
| 2257 | HMAC_CTX_cleanup 2784 EXIST::FUNCTION:HMAC | ||
| 2258 | DSA_up_ref 2785 EXIST::FUNCTION:DSA | ||
| 2259 | _ossl_old_des_ede3_cfb64_encrypt 2786 EXIST:!VMS:FUNCTION:DES | ||
| 2260 | _ossl_odes_ede3_cfb64_encrypt 2786 EXIST:VMS:FUNCTION:DES | ||
| 2261 | ASN1_BMPSTRING_it 2787 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2262 | ASN1_BMPSTRING_it 2787 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2263 | ASN1_tag2bit 2788 EXIST::FUNCTION: | ||
| 2264 | UI_method_set_flusher 2789 EXIST::FUNCTION: | ||
| 2265 | X509_ocspid_print 2790 EXIST::FUNCTION:BIO | ||
| 2266 | KRB5_ENCDATA_it 2791 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2267 | KRB5_ENCDATA_it 2791 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2268 | ENGINE_get_load_pubkey_function 2792 EXIST::FUNCTION:ENGINE | ||
| 2269 | UI_add_user_data 2793 EXIST::FUNCTION: | ||
| 2270 | OCSP_REQUEST_delete_ext 2794 EXIST::FUNCTION: | ||
| 2271 | UI_get_method 2795 EXIST::FUNCTION: | ||
| 2272 | OCSP_ONEREQ_free 2796 EXIST::FUNCTION: | ||
| 2273 | ASN1_PRINTABLESTRING_it 2797 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2274 | ASN1_PRINTABLESTRING_it 2797 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2275 | X509_CRL_set_nextUpdate 2798 EXIST::FUNCTION: | ||
| 2276 | OCSP_REQUEST_it 2799 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2277 | OCSP_REQUEST_it 2799 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2278 | OCSP_BASICRESP_it 2800 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2279 | OCSP_BASICRESP_it 2800 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2280 | AES_ecb_encrypt 2801 EXIST::FUNCTION:AES | ||
| 2281 | BN_mod_sqr 2802 EXIST::FUNCTION: | ||
| 2282 | NETSCAPE_CERT_SEQUENCE_it 2803 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2283 | NETSCAPE_CERT_SEQUENCE_it 2803 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2284 | GENERAL_NAMES_it 2804 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2285 | GENERAL_NAMES_it 2804 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2286 | AUTHORITY_INFO_ACCESS_it 2805 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2287 | AUTHORITY_INFO_ACCESS_it 2805 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2288 | ASN1_FBOOLEAN_it 2806 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2289 | ASN1_FBOOLEAN_it 2806 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2290 | UI_set_ex_data 2807 EXIST::FUNCTION: | ||
| 2291 | _ossl_old_des_string_to_key 2808 EXIST::FUNCTION:DES | ||
| 2292 | ENGINE_register_all_RSA 2809 EXIST::FUNCTION:ENGINE | ||
| 2293 | d2i_KRB5_PRINCNAME 2810 EXIST::FUNCTION: | ||
| 2294 | OCSP_RESPBYTES_it 2811 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2295 | OCSP_RESPBYTES_it 2811 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2296 | X509_CINF_it 2812 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2297 | X509_CINF_it 2812 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2298 | ENGINE_unregister_digests 2813 EXIST::FUNCTION:ENGINE | ||
| 2299 | d2i_EDIPARTYNAME 2814 EXIST::FUNCTION: | ||
| 2300 | d2i_OCSP_SERVICELOC 2815 EXIST::FUNCTION: | ||
| 2301 | ENGINE_get_digests 2816 EXIST::FUNCTION:ENGINE | ||
| 2302 | _ossl_old_des_set_odd_parity 2817 EXIST::FUNCTION:DES | ||
| 2303 | OCSP_RESPDATA_free 2818 EXIST::FUNCTION: | ||
| 2304 | d2i_KRB5_TICKET 2819 EXIST::FUNCTION: | ||
| 2305 | OTHERNAME_it 2820 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2306 | OTHERNAME_it 2820 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2307 | EVP_MD_CTX_cleanup 2821 EXIST::FUNCTION: | ||
| 2308 | d2i_ASN1_GENERALSTRING 2822 EXIST::FUNCTION: | ||
| 2309 | X509_CRL_set_version 2823 EXIST::FUNCTION: | ||
| 2310 | BN_mod_sub 2824 EXIST::FUNCTION: | ||
| 2311 | OCSP_SINGLERESP_get_ext_by_NID 2825 EXIST::FUNCTION: | ||
| 2312 | ENGINE_get_ex_new_index 2826 EXIST::FUNCTION:ENGINE | ||
| 2313 | OCSP_REQUEST_free 2827 EXIST::FUNCTION: | ||
| 2314 | OCSP_REQUEST_add1_ext_i2d 2828 EXIST::FUNCTION: | ||
| 2315 | X509_VAL_it 2829 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2316 | X509_VAL_it 2829 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2317 | EC_POINTs_make_affine 2830 EXIST::FUNCTION:EC | ||
| 2318 | EC_POINT_mul 2831 EXIST::FUNCTION:EC | ||
| 2319 | X509V3_EXT_add_nconf 2832 EXIST::FUNCTION: | ||
| 2320 | X509_TRUST_set 2833 EXIST::FUNCTION: | ||
| 2321 | X509_CRL_add1_ext_i2d 2834 EXIST::FUNCTION: | ||
| 2322 | _ossl_old_des_fcrypt 2835 EXIST::FUNCTION:DES | ||
| 2323 | DISPLAYTEXT_it 2836 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2324 | DISPLAYTEXT_it 2836 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2325 | X509_CRL_set_lastUpdate 2837 EXIST::FUNCTION: | ||
| 2326 | OCSP_BASICRESP_free 2838 EXIST::FUNCTION: | ||
| 2327 | OCSP_BASICRESP_add1_ext_i2d 2839 EXIST::FUNCTION: | ||
| 2328 | d2i_KRB5_AUTHENTBODY 2840 EXIST::FUNCTION: | ||
| 2329 | CRYPTO_set_ex_data_implementation 2841 EXIST:!VMS:FUNCTION: | ||
| 2330 | CRYPTO_set_ex_data_impl 2841 EXIST:VMS:FUNCTION: | ||
| 2331 | KRB5_ENCDATA_new 2842 EXIST::FUNCTION: | ||
| 2332 | DSO_up_ref 2843 EXIST::FUNCTION: | ||
| 2333 | OCSP_crl_reason_str 2844 EXIST::FUNCTION: | ||
| 2334 | UI_get0_result_string 2845 EXIST::FUNCTION: | ||
| 2335 | ASN1_GENERALSTRING_new 2846 EXIST::FUNCTION: | ||
| 2336 | X509_SIG_it 2847 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2337 | X509_SIG_it 2847 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2338 | ERR_set_implementation 2848 EXIST::FUNCTION: | ||
| 2339 | ERR_load_EC_strings 2849 EXIST::FUNCTION:EC | ||
| 2340 | UI_get0_action_string 2850 EXIST::FUNCTION: | ||
| 2341 | OCSP_ONEREQ_get_ext 2851 EXIST::FUNCTION: | ||
| 2342 | EC_POINT_method_of 2852 EXIST::FUNCTION:EC | ||
| 2343 | i2d_KRB5_APREQBODY 2853 EXIST::FUNCTION: | ||
| 2344 | _ossl_old_des_ecb3_encrypt 2854 EXIST::FUNCTION:DES | ||
| 2345 | CRYPTO_get_mem_ex_functions 2855 EXIST::FUNCTION: | ||
| 2346 | ENGINE_get_ex_data 2856 EXIST::FUNCTION:ENGINE | ||
| 2347 | UI_destroy_method 2857 EXIST::FUNCTION: | ||
| 2348 | ASN1_item_i2d_bio 2858 EXIST::FUNCTION:BIO | ||
| 2349 | OCSP_ONEREQ_get_ext_by_OBJ 2859 EXIST::FUNCTION: | ||
| 2350 | ASN1_primitive_new 2860 EXIST::FUNCTION: | ||
| 2351 | ASN1_PRINTABLE_it 2861 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2352 | ASN1_PRINTABLE_it 2861 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2353 | EVP_aes_192_ecb 2862 EXIST::FUNCTION:AES | ||
| 2354 | OCSP_SIGNATURE_new 2863 EXIST::FUNCTION: | ||
| 2355 | LONG_it 2864 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2356 | LONG_it 2864 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2357 | ASN1_VISIBLESTRING_it 2865 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2358 | ASN1_VISIBLESTRING_it 2865 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2359 | OCSP_SINGLERESP_add1_ext_i2d 2866 EXIST::FUNCTION: | ||
| 2360 | d2i_OCSP_CERTID 2867 EXIST::FUNCTION: | ||
| 2361 | ASN1_item_d2i_fp 2868 EXIST::FUNCTION:FP_API | ||
| 2362 | CRL_DIST_POINTS_it 2869 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2363 | CRL_DIST_POINTS_it 2869 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2364 | GENERAL_NAME_print 2870 EXIST::FUNCTION: | ||
| 2365 | OCSP_SINGLERESP_delete_ext 2871 EXIST::FUNCTION: | ||
| 2366 | PKCS12_SAFEBAGS_it 2872 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2367 | PKCS12_SAFEBAGS_it 2872 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2368 | d2i_OCSP_SIGNATURE 2873 EXIST::FUNCTION: | ||
| 2369 | OCSP_request_add1_nonce 2874 EXIST::FUNCTION: | ||
| 2370 | ENGINE_set_cmd_defns 2875 EXIST::FUNCTION:ENGINE | ||
| 2371 | OCSP_SERVICELOC_free 2876 EXIST::FUNCTION: | ||
| 2372 | EC_GROUP_free 2877 EXIST::FUNCTION:EC | ||
| 2373 | ASN1_BIT_STRING_it 2878 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2374 | ASN1_BIT_STRING_it 2878 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2375 | X509_REQ_it 2879 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2376 | X509_REQ_it 2879 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2377 | _ossl_old_des_cbc_encrypt 2880 EXIST::FUNCTION:DES | ||
| 2378 | ERR_unload_strings 2881 EXIST::FUNCTION: | ||
| 2379 | PKCS7_SIGN_ENVELOPE_it 2882 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2380 | PKCS7_SIGN_ENVELOPE_it 2882 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2381 | EDIPARTYNAME_free 2883 EXIST::FUNCTION: | ||
| 2382 | OCSP_REQINFO_free 2884 EXIST::FUNCTION: | ||
| 2383 | EC_GROUP_new_curve_GFp 2885 EXIST::FUNCTION:EC | ||
| 2384 | OCSP_REQUEST_get1_ext_d2i 2886 EXIST::FUNCTION: | ||
| 2385 | PKCS12_item_pack_safebag 2887 EXIST::FUNCTION: | ||
| 2386 | asn1_ex_c2i 2888 EXIST::FUNCTION: | ||
| 2387 | ENGINE_register_digests 2889 EXIST::FUNCTION:ENGINE | ||
| 2388 | i2d_OCSP_REVOKEDINFO 2890 EXIST::FUNCTION: | ||
| 2389 | asn1_enc_restore 2891 EXIST::FUNCTION: | ||
| 2390 | UI_free 2892 EXIST::FUNCTION: | ||
| 2391 | UI_new_method 2893 EXIST::FUNCTION: | ||
| 2392 | EVP_EncryptInit_ex 2894 EXIST::FUNCTION: | ||
| 2393 | X509_pubkey_digest 2895 EXIST::FUNCTION:EVP | ||
| 2394 | EC_POINT_invert 2896 EXIST::FUNCTION:EC | ||
| 2395 | OCSP_basic_sign 2897 EXIST::FUNCTION: | ||
| 2396 | i2d_OCSP_RESPID 2898 EXIST::FUNCTION: | ||
| 2397 | OCSP_check_nonce 2899 EXIST::FUNCTION: | ||
| 2398 | ENGINE_ctrl_cmd 2900 EXIST::FUNCTION:ENGINE | ||
| 2399 | d2i_KRB5_ENCKEY 2901 EXIST::FUNCTION: | ||
| 2400 | OCSP_parse_url 2902 EXIST::FUNCTION: | ||
| 2401 | OCSP_SINGLERESP_get_ext 2903 EXIST::FUNCTION: | ||
| 2402 | OCSP_CRLID_free 2904 EXIST::FUNCTION: | ||
| 2403 | OCSP_BASICRESP_get1_ext_d2i 2905 EXIST::FUNCTION: | ||
| 2404 | RSAPrivateKey_it 2906 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA | ||
| 2405 | RSAPrivateKey_it 2906 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA | ||
| 2406 | ENGINE_register_all_DH 2907 EXIST::FUNCTION:ENGINE | ||
| 2407 | i2d_EDIPARTYNAME 2908 EXIST::FUNCTION: | ||
| 2408 | EC_POINT_get_affine_coordinates_GFp 2909 EXIST:!VMS:FUNCTION:EC | ||
| 2409 | EC_POINT_get_affine_coords_GFp 2909 EXIST:VMS:FUNCTION:EC | ||
| 2410 | OCSP_CRLID_new 2910 EXIST::FUNCTION: | ||
| 2411 | ENGINE_get_flags 2911 EXIST::FUNCTION:ENGINE | ||
| 2412 | OCSP_ONEREQ_it 2912 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2413 | OCSP_ONEREQ_it 2912 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2414 | UI_process 2913 EXIST::FUNCTION: | ||
| 2415 | ASN1_INTEGER_it 2914 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2416 | ASN1_INTEGER_it 2914 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2417 | EVP_CipherInit_ex 2915 EXIST::FUNCTION: | ||
| 2418 | UI_get_string_type 2916 EXIST::FUNCTION: | ||
| 2419 | ENGINE_unregister_DH 2917 EXIST::FUNCTION:ENGINE | ||
| 2420 | ENGINE_register_all_DSA 2918 EXIST::FUNCTION:ENGINE | ||
| 2421 | OCSP_ONEREQ_get_ext_by_critical 2919 EXIST::FUNCTION: | ||
| 2422 | bn_dup_expand 2920 EXIST::FUNCTION:DEPRECATED | ||
| 2423 | OCSP_cert_id_new 2921 EXIST::FUNCTION: | ||
| 2424 | BASIC_CONSTRAINTS_it 2922 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2425 | BASIC_CONSTRAINTS_it 2922 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2426 | BN_mod_add_quick 2923 EXIST::FUNCTION: | ||
| 2427 | EC_POINT_new 2924 EXIST::FUNCTION:EC | ||
| 2428 | EVP_MD_CTX_destroy 2925 EXIST::FUNCTION: | ||
| 2429 | OCSP_RESPBYTES_free 2926 EXIST::FUNCTION: | ||
| 2430 | EVP_aes_128_cbc 2927 EXIST::FUNCTION:AES | ||
| 2431 | OCSP_SINGLERESP_get1_ext_d2i 2928 EXIST::FUNCTION: | ||
| 2432 | EC_POINT_free 2929 EXIST::FUNCTION:EC | ||
| 2433 | DH_up_ref 2930 EXIST::FUNCTION:DH | ||
| 2434 | X509_NAME_ENTRY_it 2931 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2435 | X509_NAME_ENTRY_it 2931 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2436 | UI_get_ex_new_index 2932 EXIST::FUNCTION: | ||
| 2437 | BN_mod_sub_quick 2933 EXIST::FUNCTION: | ||
| 2438 | OCSP_ONEREQ_add_ext 2934 EXIST::FUNCTION: | ||
| 2439 | OCSP_request_sign 2935 EXIST::FUNCTION: | ||
| 2440 | EVP_DigestFinal_ex 2936 EXIST::FUNCTION: | ||
| 2441 | ENGINE_set_digests 2937 EXIST::FUNCTION:ENGINE | ||
| 2442 | OCSP_id_issuer_cmp 2938 EXIST::FUNCTION: | ||
| 2443 | OBJ_NAME_do_all 2939 EXIST::FUNCTION: | ||
| 2444 | EC_POINTs_mul 2940 EXIST::FUNCTION:EC | ||
| 2445 | ENGINE_register_complete 2941 EXIST::FUNCTION:ENGINE | ||
| 2446 | X509V3_EXT_nconf_nid 2942 EXIST::FUNCTION: | ||
| 2447 | ASN1_SEQUENCE_it 2943 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2448 | ASN1_SEQUENCE_it 2943 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2449 | UI_set_default_method 2944 EXIST::FUNCTION: | ||
| 2450 | RAND_query_egd_bytes 2945 EXIST::FUNCTION: | ||
| 2451 | UI_method_get_writer 2946 EXIST::FUNCTION: | ||
| 2452 | UI_OpenSSL 2947 EXIST::FUNCTION: | ||
| 2453 | PEM_def_callback 2948 EXIST::FUNCTION: | ||
| 2454 | ENGINE_cleanup 2949 EXIST::FUNCTION:ENGINE | ||
| 2455 | DIST_POINT_it 2950 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2456 | DIST_POINT_it 2950 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2457 | OCSP_SINGLERESP_it 2951 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2458 | OCSP_SINGLERESP_it 2951 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2459 | d2i_KRB5_TKTBODY 2952 EXIST::FUNCTION: | ||
| 2460 | EC_POINT_cmp 2953 EXIST::FUNCTION:EC | ||
| 2461 | OCSP_REVOKEDINFO_new 2954 EXIST::FUNCTION: | ||
| 2462 | i2d_OCSP_CERTSTATUS 2955 EXIST::FUNCTION: | ||
| 2463 | OCSP_basic_add1_nonce 2956 EXIST::FUNCTION: | ||
| 2464 | ASN1_item_ex_d2i 2957 EXIST::FUNCTION: | ||
| 2465 | BN_mod_lshift1_quick 2958 EXIST::FUNCTION: | ||
| 2466 | UI_set_method 2959 EXIST::FUNCTION: | ||
| 2467 | OCSP_id_get0_info 2960 EXIST::FUNCTION: | ||
| 2468 | BN_mod_sqrt 2961 EXIST::FUNCTION: | ||
| 2469 | EC_GROUP_copy 2962 EXIST::FUNCTION:EC | ||
| 2470 | KRB5_ENCDATA_free 2963 EXIST::FUNCTION: | ||
| 2471 | _ossl_old_des_cfb_encrypt 2964 EXIST::FUNCTION:DES | ||
| 2472 | OCSP_SINGLERESP_get_ext_by_OBJ 2965 EXIST::FUNCTION: | ||
| 2473 | OCSP_cert_to_id 2966 EXIST::FUNCTION: | ||
| 2474 | OCSP_RESPID_new 2967 EXIST::FUNCTION: | ||
| 2475 | OCSP_RESPDATA_it 2968 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2476 | OCSP_RESPDATA_it 2968 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2477 | d2i_OCSP_RESPDATA 2969 EXIST::FUNCTION: | ||
| 2478 | ENGINE_register_all_complete 2970 EXIST::FUNCTION:ENGINE | ||
| 2479 | OCSP_check_validity 2971 EXIST::FUNCTION: | ||
| 2480 | PKCS12_BAGS_it 2972 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2481 | PKCS12_BAGS_it 2972 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2482 | OCSP_url_svcloc_new 2973 EXIST::FUNCTION: | ||
| 2483 | ASN1_template_free 2974 EXIST::FUNCTION: | ||
| 2484 | OCSP_SINGLERESP_add_ext 2975 EXIST::FUNCTION: | ||
| 2485 | KRB5_AUTHENTBODY_it 2976 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2486 | KRB5_AUTHENTBODY_it 2976 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2487 | X509_supported_extension 2977 EXIST::FUNCTION: | ||
| 2488 | i2d_KRB5_AUTHDATA 2978 EXIST::FUNCTION: | ||
| 2489 | UI_method_get_opener 2979 EXIST::FUNCTION: | ||
| 2490 | ENGINE_set_ex_data 2980 EXIST::FUNCTION:ENGINE | ||
| 2491 | OCSP_REQUEST_print 2981 EXIST::FUNCTION: | ||
| 2492 | CBIGNUM_it 2982 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2493 | CBIGNUM_it 2982 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2494 | KRB5_TICKET_new 2983 EXIST::FUNCTION: | ||
| 2495 | KRB5_APREQ_new 2984 EXIST::FUNCTION: | ||
| 2496 | EC_GROUP_get_curve_GFp 2985 EXIST::FUNCTION:EC | ||
| 2497 | KRB5_ENCKEY_new 2986 EXIST::FUNCTION: | ||
| 2498 | ASN1_template_d2i 2987 EXIST::FUNCTION: | ||
| 2499 | _ossl_old_des_quad_cksum 2988 EXIST::FUNCTION:DES | ||
| 2500 | OCSP_single_get0_status 2989 EXIST::FUNCTION: | ||
| 2501 | BN_swap 2990 EXIST::FUNCTION: | ||
| 2502 | POLICYINFO_it 2991 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2503 | POLICYINFO_it 2991 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2504 | ENGINE_set_destroy_function 2992 EXIST::FUNCTION:ENGINE | ||
| 2505 | asn1_enc_free 2993 EXIST::FUNCTION: | ||
| 2506 | OCSP_RESPID_it 2994 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2507 | OCSP_RESPID_it 2994 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2508 | EC_GROUP_new 2995 EXIST::FUNCTION:EC | ||
| 2509 | EVP_aes_256_cbc 2996 EXIST::FUNCTION:AES | ||
| 2510 | i2d_KRB5_PRINCNAME 2997 EXIST::FUNCTION: | ||
| 2511 | _ossl_old_des_encrypt2 2998 EXIST::FUNCTION:DES | ||
| 2512 | _ossl_old_des_encrypt3 2999 EXIST::FUNCTION:DES | ||
| 2513 | PKCS8_PRIV_KEY_INFO_it 3000 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2514 | PKCS8_PRIV_KEY_INFO_it 3000 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2515 | OCSP_REQINFO_it 3001 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2516 | OCSP_REQINFO_it 3001 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2517 | PBEPARAM_it 3002 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2518 | PBEPARAM_it 3002 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2519 | KRB5_AUTHENTBODY_new 3003 EXIST::FUNCTION: | ||
| 2520 | X509_CRL_add0_revoked 3004 EXIST::FUNCTION: | ||
| 2521 | EDIPARTYNAME_it 3005 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2522 | EDIPARTYNAME_it 3005 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2523 | NETSCAPE_SPKI_it 3006 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2524 | NETSCAPE_SPKI_it 3006 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2525 | UI_get0_test_string 3007 EXIST::FUNCTION: | ||
| 2526 | ENGINE_get_cipher_engine 3008 EXIST::FUNCTION:ENGINE | ||
| 2527 | ENGINE_register_all_ciphers 3009 EXIST::FUNCTION:ENGINE | ||
| 2528 | EC_POINT_copy 3010 EXIST::FUNCTION:EC | ||
| 2529 | BN_kronecker 3011 EXIST::FUNCTION: | ||
| 2530 | _ossl_old_des_ede3_ofb64_encrypt 3012 EXIST:!VMS:FUNCTION:DES | ||
| 2531 | _ossl_odes_ede3_ofb64_encrypt 3012 EXIST:VMS:FUNCTION:DES | ||
| 2532 | UI_method_get_reader 3013 EXIST::FUNCTION: | ||
| 2533 | OCSP_BASICRESP_get_ext_count 3014 EXIST::FUNCTION: | ||
| 2534 | ASN1_ENUMERATED_it 3015 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2535 | ASN1_ENUMERATED_it 3015 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2536 | UI_set_result 3016 EXIST::FUNCTION: | ||
| 2537 | i2d_KRB5_TICKET 3017 EXIST::FUNCTION: | ||
| 2538 | X509_print_ex_fp 3018 EXIST::FUNCTION:FP_API | ||
| 2539 | EVP_CIPHER_CTX_set_padding 3019 EXIST::FUNCTION: | ||
| 2540 | d2i_OCSP_RESPONSE 3020 EXIST::FUNCTION: | ||
| 2541 | ASN1_UTCTIME_it 3021 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2542 | ASN1_UTCTIME_it 3021 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2543 | _ossl_old_des_enc_write 3022 EXIST::FUNCTION:DES | ||
| 2544 | OCSP_RESPONSE_new 3023 EXIST::FUNCTION: | ||
| 2545 | AES_set_encrypt_key 3024 EXIST::FUNCTION:AES | ||
| 2546 | OCSP_resp_count 3025 EXIST::FUNCTION: | ||
| 2547 | KRB5_CHECKSUM_new 3026 EXIST::FUNCTION: | ||
| 2548 | ENGINE_load_cswift 3027 EXIST::FUNCTION:ENGINE,STATIC_ENGINE | ||
| 2549 | OCSP_onereq_get0_id 3028 EXIST::FUNCTION: | ||
| 2550 | ENGINE_set_default_ciphers 3029 EXIST::FUNCTION:ENGINE | ||
| 2551 | NOTICEREF_it 3030 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2552 | NOTICEREF_it 3030 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2553 | X509V3_EXT_CRL_add_nconf 3031 EXIST::FUNCTION: | ||
| 2554 | OCSP_REVOKEDINFO_it 3032 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2555 | OCSP_REVOKEDINFO_it 3032 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2556 | AES_encrypt 3033 EXIST::FUNCTION:AES | ||
| 2557 | OCSP_REQUEST_new 3034 EXIST::FUNCTION: | ||
| 2558 | ASN1_ANY_it 3035 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2559 | ASN1_ANY_it 3035 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2560 | CRYPTO_ex_data_new_class 3036 EXIST::FUNCTION: | ||
| 2561 | _ossl_old_des_ncbc_encrypt 3037 EXIST::FUNCTION:DES | ||
| 2562 | i2d_KRB5_TKTBODY 3038 EXIST::FUNCTION: | ||
| 2563 | EC_POINT_clear_free 3039 EXIST::FUNCTION:EC | ||
| 2564 | AES_decrypt 3040 EXIST::FUNCTION:AES | ||
| 2565 | asn1_enc_init 3041 EXIST::FUNCTION: | ||
| 2566 | UI_get_result_maxsize 3042 EXIST::FUNCTION: | ||
| 2567 | OCSP_CERTID_new 3043 EXIST::FUNCTION: | ||
| 2568 | ENGINE_unregister_RAND 3044 EXIST::FUNCTION:ENGINE | ||
| 2569 | UI_method_get_closer 3045 EXIST::FUNCTION: | ||
| 2570 | d2i_KRB5_ENCDATA 3046 EXIST::FUNCTION: | ||
| 2571 | OCSP_request_onereq_count 3047 EXIST::FUNCTION: | ||
| 2572 | OCSP_basic_verify 3048 EXIST::FUNCTION: | ||
| 2573 | KRB5_AUTHENTBODY_free 3049 EXIST::FUNCTION: | ||
| 2574 | ASN1_item_d2i 3050 EXIST::FUNCTION: | ||
| 2575 | ASN1_primitive_free 3051 EXIST::FUNCTION: | ||
| 2576 | i2d_EXTENDED_KEY_USAGE 3052 EXIST::FUNCTION: | ||
| 2577 | i2d_OCSP_SIGNATURE 3053 EXIST::FUNCTION: | ||
| 2578 | asn1_enc_save 3054 EXIST::FUNCTION: | ||
| 2579 | ENGINE_load_nuron 3055 EXIST::FUNCTION:ENGINE,STATIC_ENGINE | ||
| 2580 | _ossl_old_des_pcbc_encrypt 3056 EXIST::FUNCTION:DES | ||
| 2581 | PKCS12_MAC_DATA_it 3057 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2582 | PKCS12_MAC_DATA_it 3057 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2583 | OCSP_accept_responses_new 3058 EXIST::FUNCTION: | ||
| 2584 | asn1_do_lock 3059 EXIST::FUNCTION: | ||
| 2585 | PKCS7_ATTR_VERIFY_it 3060 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2586 | PKCS7_ATTR_VERIFY_it 3060 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2587 | KRB5_APREQBODY_it 3061 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2588 | KRB5_APREQBODY_it 3061 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2589 | i2d_OCSP_SINGLERESP 3062 EXIST::FUNCTION: | ||
| 2590 | ASN1_item_ex_new 3063 EXIST::FUNCTION: | ||
| 2591 | UI_add_verify_string 3064 EXIST::FUNCTION: | ||
| 2592 | _ossl_old_des_set_key 3065 EXIST::FUNCTION:DES | ||
| 2593 | KRB5_PRINCNAME_it 3066 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2594 | KRB5_PRINCNAME_it 3066 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2595 | EVP_DecryptInit_ex 3067 EXIST::FUNCTION: | ||
| 2596 | i2d_OCSP_CERTID 3068 EXIST::FUNCTION: | ||
| 2597 | ASN1_item_d2i_bio 3069 EXIST::FUNCTION:BIO | ||
| 2598 | EC_POINT_dbl 3070 EXIST::FUNCTION:EC | ||
| 2599 | asn1_get_choice_selector 3071 EXIST::FUNCTION: | ||
| 2600 | i2d_KRB5_CHECKSUM 3072 EXIST::FUNCTION: | ||
| 2601 | ENGINE_set_table_flags 3073 EXIST::FUNCTION:ENGINE | ||
| 2602 | AES_options 3074 EXIST::FUNCTION:AES | ||
| 2603 | ENGINE_load_chil 3075 EXIST::FUNCTION:ENGINE,STATIC_ENGINE | ||
| 2604 | OCSP_id_cmp 3076 EXIST::FUNCTION: | ||
| 2605 | OCSP_BASICRESP_new 3077 EXIST::FUNCTION: | ||
| 2606 | OCSP_REQUEST_get_ext_by_NID 3078 EXIST::FUNCTION: | ||
| 2607 | KRB5_APREQ_it 3079 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2608 | KRB5_APREQ_it 3079 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2609 | ENGINE_get_destroy_function 3080 EXIST::FUNCTION:ENGINE | ||
| 2610 | CONF_set_nconf 3081 EXIST::FUNCTION: | ||
| 2611 | ASN1_PRINTABLE_free 3082 EXIST::FUNCTION: | ||
| 2612 | OCSP_BASICRESP_get_ext_by_NID 3083 EXIST::FUNCTION: | ||
| 2613 | DIST_POINT_NAME_it 3084 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2614 | DIST_POINT_NAME_it 3084 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2615 | X509V3_extensions_print 3085 EXIST::FUNCTION: | ||
| 2616 | _ossl_old_des_cfb64_encrypt 3086 EXIST::FUNCTION:DES | ||
| 2617 | X509_REVOKED_add1_ext_i2d 3087 EXIST::FUNCTION: | ||
| 2618 | _ossl_old_des_ofb_encrypt 3088 EXIST::FUNCTION:DES | ||
| 2619 | KRB5_TKTBODY_new 3089 EXIST::FUNCTION: | ||
| 2620 | ASN1_OCTET_STRING_it 3090 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2621 | ASN1_OCTET_STRING_it 3090 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2622 | ERR_load_UI_strings 3091 EXIST::FUNCTION: | ||
| 2623 | i2d_KRB5_ENCKEY 3092 EXIST::FUNCTION: | ||
| 2624 | ASN1_template_new 3093 EXIST::FUNCTION: | ||
| 2625 | OCSP_SIGNATURE_free 3094 EXIST::FUNCTION: | ||
| 2626 | ASN1_item_i2d_fp 3095 EXIST::FUNCTION:FP_API | ||
| 2627 | KRB5_PRINCNAME_free 3096 EXIST::FUNCTION: | ||
| 2628 | PKCS7_RECIP_INFO_it 3097 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2629 | PKCS7_RECIP_INFO_it 3097 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2630 | EXTENDED_KEY_USAGE_it 3098 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2631 | EXTENDED_KEY_USAGE_it 3098 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2632 | EC_GFp_simple_method 3099 EXIST::FUNCTION:EC | ||
| 2633 | EC_GROUP_precompute_mult 3100 EXIST::FUNCTION:EC | ||
| 2634 | OCSP_request_onereq_get0 3101 EXIST::FUNCTION: | ||
| 2635 | UI_method_set_writer 3102 EXIST::FUNCTION: | ||
| 2636 | KRB5_AUTHENT_new 3103 EXIST::FUNCTION: | ||
| 2637 | X509_CRL_INFO_it 3104 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2638 | X509_CRL_INFO_it 3104 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2639 | DSO_set_name_converter 3105 EXIST::FUNCTION: | ||
| 2640 | AES_set_decrypt_key 3106 EXIST::FUNCTION:AES | ||
| 2641 | PKCS7_DIGEST_it 3107 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2642 | PKCS7_DIGEST_it 3107 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2643 | PKCS12_x5092certbag 3108 EXIST::FUNCTION: | ||
| 2644 | EVP_DigestInit_ex 3109 EXIST::FUNCTION: | ||
| 2645 | i2a_ACCESS_DESCRIPTION 3110 EXIST::FUNCTION: | ||
| 2646 | OCSP_RESPONSE_it 3111 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2647 | OCSP_RESPONSE_it 3111 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2648 | PKCS7_ENC_CONTENT_it 3112 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2649 | PKCS7_ENC_CONTENT_it 3112 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2650 | OCSP_request_add0_id 3113 EXIST::FUNCTION: | ||
| 2651 | EC_POINT_make_affine 3114 EXIST::FUNCTION:EC | ||
| 2652 | DSO_get_filename 3115 EXIST::FUNCTION: | ||
| 2653 | OCSP_CERTSTATUS_it 3116 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2654 | OCSP_CERTSTATUS_it 3116 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2655 | OCSP_request_add1_cert 3117 EXIST::FUNCTION: | ||
| 2656 | UI_get0_output_string 3118 EXIST::FUNCTION: | ||
| 2657 | UI_dup_verify_string 3119 EXIST::FUNCTION: | ||
| 2658 | BN_mod_lshift 3120 EXIST::FUNCTION: | ||
| 2659 | KRB5_AUTHDATA_it 3121 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2660 | KRB5_AUTHDATA_it 3121 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2661 | asn1_set_choice_selector 3122 EXIST::FUNCTION: | ||
| 2662 | OCSP_basic_add1_status 3123 EXIST::FUNCTION: | ||
| 2663 | OCSP_RESPID_free 3124 EXIST::FUNCTION: | ||
| 2664 | asn1_get_field_ptr 3125 EXIST::FUNCTION: | ||
| 2665 | UI_add_input_string 3126 EXIST::FUNCTION: | ||
| 2666 | OCSP_CRLID_it 3127 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2667 | OCSP_CRLID_it 3127 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2668 | i2d_KRB5_AUTHENTBODY 3128 EXIST::FUNCTION: | ||
| 2669 | OCSP_REQUEST_get_ext_count 3129 EXIST::FUNCTION: | ||
| 2670 | ENGINE_load_atalla 3130 EXIST::FUNCTION:ENGINE,STATIC_ENGINE | ||
| 2671 | X509_NAME_it 3131 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2672 | X509_NAME_it 3131 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2673 | USERNOTICE_it 3132 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2674 | USERNOTICE_it 3132 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2675 | OCSP_REQINFO_new 3133 EXIST::FUNCTION: | ||
| 2676 | OCSP_BASICRESP_get_ext 3134 EXIST::FUNCTION: | ||
| 2677 | CRYPTO_get_ex_data_implementation 3135 EXIST:!VMS:FUNCTION: | ||
| 2678 | CRYPTO_get_ex_data_impl 3135 EXIST:VMS:FUNCTION: | ||
| 2679 | ASN1_item_pack 3136 EXIST::FUNCTION: | ||
| 2680 | i2d_KRB5_ENCDATA 3137 EXIST::FUNCTION: | ||
| 2681 | X509_PURPOSE_set 3138 EXIST::FUNCTION: | ||
| 2682 | X509_REQ_INFO_it 3139 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2683 | X509_REQ_INFO_it 3139 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2684 | UI_method_set_opener 3140 EXIST::FUNCTION: | ||
| 2685 | ASN1_item_ex_free 3141 EXIST::FUNCTION: | ||
| 2686 | ASN1_BOOLEAN_it 3142 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2687 | ASN1_BOOLEAN_it 3142 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2688 | ENGINE_get_table_flags 3143 EXIST::FUNCTION:ENGINE | ||
| 2689 | UI_create_method 3144 EXIST::FUNCTION: | ||
| 2690 | OCSP_ONEREQ_add1_ext_i2d 3145 EXIST::FUNCTION: | ||
| 2691 | _shadow_DES_check_key 3146 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DES | ||
| 2692 | _shadow_DES_check_key 3146 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DES | ||
| 2693 | d2i_OCSP_REQINFO 3147 EXIST::FUNCTION: | ||
| 2694 | UI_add_info_string 3148 EXIST::FUNCTION: | ||
| 2695 | UI_get_result_minsize 3149 EXIST::FUNCTION: | ||
| 2696 | ASN1_NULL_it 3150 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2697 | ASN1_NULL_it 3150 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2698 | BN_mod_lshift1 3151 EXIST::FUNCTION: | ||
| 2699 | d2i_OCSP_ONEREQ 3152 EXIST::FUNCTION: | ||
| 2700 | OCSP_ONEREQ_new 3153 EXIST::FUNCTION: | ||
| 2701 | KRB5_TICKET_it 3154 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2702 | KRB5_TICKET_it 3154 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2703 | EVP_aes_192_cbc 3155 EXIST::FUNCTION:AES | ||
| 2704 | KRB5_TICKET_free 3156 EXIST::FUNCTION: | ||
| 2705 | UI_new 3157 EXIST::FUNCTION: | ||
| 2706 | OCSP_response_create 3158 EXIST::FUNCTION: | ||
| 2707 | _ossl_old_des_xcbc_encrypt 3159 EXIST::FUNCTION:DES | ||
| 2708 | PKCS7_it 3160 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2709 | PKCS7_it 3160 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2710 | OCSP_REQUEST_get_ext_by_critical 3161 EXIST:!VMS:FUNCTION: | ||
| 2711 | OCSP_REQUEST_get_ext_by_crit 3161 EXIST:VMS:FUNCTION: | ||
| 2712 | ENGINE_set_flags 3162 EXIST::FUNCTION:ENGINE | ||
| 2713 | _ossl_old_des_ecb_encrypt 3163 EXIST::FUNCTION:DES | ||
| 2714 | OCSP_response_get1_basic 3164 EXIST::FUNCTION: | ||
| 2715 | EVP_Digest 3165 EXIST::FUNCTION: | ||
| 2716 | OCSP_ONEREQ_delete_ext 3166 EXIST::FUNCTION: | ||
| 2717 | ASN1_TBOOLEAN_it 3167 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2718 | ASN1_TBOOLEAN_it 3167 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2719 | ASN1_item_new 3168 EXIST::FUNCTION: | ||
| 2720 | ASN1_TIME_to_generalizedtime 3169 EXIST::FUNCTION: | ||
| 2721 | BIGNUM_it 3170 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2722 | BIGNUM_it 3170 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2723 | AES_cbc_encrypt 3171 EXIST::FUNCTION:AES | ||
| 2724 | ENGINE_get_load_privkey_function 3172 EXIST:!VMS:FUNCTION:ENGINE | ||
| 2725 | ENGINE_get_load_privkey_fn 3172 EXIST:VMS:FUNCTION:ENGINE | ||
| 2726 | OCSP_RESPONSE_free 3173 EXIST::FUNCTION: | ||
| 2727 | UI_method_set_reader 3174 EXIST::FUNCTION: | ||
| 2728 | i2d_ASN1_T61STRING 3175 EXIST::FUNCTION: | ||
| 2729 | EC_POINT_set_to_infinity 3176 EXIST::FUNCTION:EC | ||
| 2730 | ERR_load_OCSP_strings 3177 EXIST::FUNCTION: | ||
| 2731 | EC_POINT_point2oct 3178 EXIST::FUNCTION:EC | ||
| 2732 | KRB5_APREQ_free 3179 EXIST::FUNCTION: | ||
| 2733 | ASN1_OBJECT_it 3180 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2734 | ASN1_OBJECT_it 3180 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2735 | OCSP_crlID_new 3181 EXIST:!OS2,!VMS,!WIN16:FUNCTION: | ||
| 2736 | OCSP_crlID2_new 3181 EXIST:OS2,VMS,WIN16:FUNCTION: | ||
| 2737 | CONF_modules_load_file 3182 EXIST::FUNCTION: | ||
| 2738 | CONF_imodule_set_usr_data 3183 EXIST::FUNCTION: | ||
| 2739 | ENGINE_set_default_string 3184 EXIST::FUNCTION:ENGINE | ||
| 2740 | CONF_module_get_usr_data 3185 EXIST::FUNCTION: | ||
| 2741 | ASN1_add_oid_module 3186 EXIST::FUNCTION: | ||
| 2742 | CONF_modules_finish 3187 EXIST::FUNCTION: | ||
| 2743 | OPENSSL_config 3188 EXIST::FUNCTION: | ||
| 2744 | CONF_modules_unload 3189 EXIST::FUNCTION: | ||
| 2745 | CONF_imodule_get_value 3190 EXIST::FUNCTION: | ||
| 2746 | CONF_module_set_usr_data 3191 EXIST::FUNCTION: | ||
| 2747 | CONF_parse_list 3192 EXIST::FUNCTION: | ||
| 2748 | CONF_module_add 3193 EXIST::FUNCTION: | ||
| 2749 | CONF_get1_default_config_file 3194 EXIST::FUNCTION: | ||
| 2750 | CONF_imodule_get_flags 3195 EXIST::FUNCTION: | ||
| 2751 | CONF_imodule_get_module 3196 EXIST::FUNCTION: | ||
| 2752 | CONF_modules_load 3197 EXIST::FUNCTION: | ||
| 2753 | CONF_imodule_get_name 3198 EXIST::FUNCTION: | ||
| 2754 | ERR_peek_top_error 3199 NOEXIST::FUNCTION: | ||
| 2755 | CONF_imodule_get_usr_data 3200 EXIST::FUNCTION: | ||
| 2756 | CONF_imodule_set_flags 3201 EXIST::FUNCTION: | ||
| 2757 | ENGINE_add_conf_module 3202 EXIST::FUNCTION:ENGINE | ||
| 2758 | ERR_peek_last_error_line 3203 EXIST::FUNCTION: | ||
| 2759 | ERR_peek_last_error_line_data 3204 EXIST::FUNCTION: | ||
| 2760 | ERR_peek_last_error 3205 EXIST::FUNCTION: | ||
| 2761 | DES_read_2passwords 3206 EXIST::FUNCTION:DES | ||
| 2762 | DES_read_password 3207 EXIST::FUNCTION:DES | ||
| 2763 | UI_UTIL_read_pw 3208 EXIST::FUNCTION: | ||
| 2764 | UI_UTIL_read_pw_string 3209 EXIST::FUNCTION: | ||
| 2765 | ENGINE_load_aep 3210 EXIST::FUNCTION:ENGINE,STATIC_ENGINE | ||
| 2766 | ENGINE_load_sureware 3211 EXIST::FUNCTION:ENGINE,STATIC_ENGINE | ||
| 2767 | OPENSSL_add_all_algorithms_noconf 3212 EXIST:!VMS:FUNCTION: | ||
| 2768 | OPENSSL_add_all_algo_noconf 3212 EXIST:VMS:FUNCTION: | ||
| 2769 | OPENSSL_add_all_algorithms_conf 3213 EXIST:!VMS:FUNCTION: | ||
| 2770 | OPENSSL_add_all_algo_conf 3213 EXIST:VMS:FUNCTION: | ||
| 2771 | OPENSSL_load_builtin_modules 3214 EXIST::FUNCTION: | ||
| 2772 | AES_ofb128_encrypt 3215 EXIST::FUNCTION:AES | ||
| 2773 | AES_ctr128_encrypt 3216 EXIST::FUNCTION:AES | ||
| 2774 | AES_cfb128_encrypt 3217 EXIST::FUNCTION:AES | ||
| 2775 | ENGINE_load_4758cca 3218 EXIST::FUNCTION:ENGINE,STATIC_ENGINE | ||
| 2776 | _ossl_096_des_random_seed 3219 EXIST::FUNCTION:DES | ||
| 2777 | EVP_aes_256_ofb 3220 EXIST::FUNCTION:AES | ||
| 2778 | EVP_aes_192_ofb 3221 EXIST::FUNCTION:AES | ||
| 2779 | EVP_aes_128_cfb128 3222 EXIST::FUNCTION:AES | ||
| 2780 | EVP_aes_256_cfb128 3223 EXIST::FUNCTION:AES | ||
| 2781 | EVP_aes_128_ofb 3224 EXIST::FUNCTION:AES | ||
| 2782 | EVP_aes_192_cfb128 3225 EXIST::FUNCTION:AES | ||
| 2783 | CONF_modules_free 3226 EXIST::FUNCTION: | ||
| 2784 | NCONF_default 3227 EXIST::FUNCTION: | ||
| 2785 | OPENSSL_no_config 3228 EXIST::FUNCTION: | ||
| 2786 | NCONF_WIN32 3229 EXIST::FUNCTION: | ||
| 2787 | ASN1_UNIVERSALSTRING_new 3230 EXIST::FUNCTION: | ||
| 2788 | EVP_des_ede_ecb 3231 EXIST::FUNCTION:DES | ||
| 2789 | i2d_ASN1_UNIVERSALSTRING 3232 EXIST::FUNCTION: | ||
| 2790 | ASN1_UNIVERSALSTRING_free 3233 EXIST::FUNCTION: | ||
| 2791 | ASN1_UNIVERSALSTRING_it 3234 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2792 | ASN1_UNIVERSALSTRING_it 3234 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2793 | d2i_ASN1_UNIVERSALSTRING 3235 EXIST::FUNCTION: | ||
| 2794 | EVP_des_ede3_ecb 3236 EXIST::FUNCTION:DES | ||
| 2795 | X509_REQ_print_ex 3237 EXIST::FUNCTION:BIO | ||
| 2796 | ENGINE_up_ref 3238 EXIST::FUNCTION:ENGINE | ||
| 2797 | BUF_MEM_grow_clean 3239 EXIST::FUNCTION: | ||
| 2798 | CRYPTO_realloc_clean 3240 EXIST::FUNCTION: | ||
| 2799 | BUF_strlcat 3241 EXIST::FUNCTION: | ||
| 2800 | BIO_indent 3242 EXIST::FUNCTION: | ||
| 2801 | BUF_strlcpy 3243 EXIST::FUNCTION: | ||
| 2802 | OpenSSLDie 3244 EXIST::FUNCTION: | ||
| 2803 | OPENSSL_cleanse 3245 EXIST::FUNCTION: | ||
| 2804 | ENGINE_setup_bsd_cryptodev 3246 EXIST:__FreeBSD__:FUNCTION:ENGINE | ||
| 2805 | ERR_release_err_state_table 3247 EXIST::FUNCTION:LHASH | ||
| 2806 | EVP_aes_128_cfb8 3248 EXIST::FUNCTION:AES | ||
| 2807 | FIPS_corrupt_rsa 3249 NOEXIST::FUNCTION: | ||
| 2808 | FIPS_selftest_des 3250 NOEXIST::FUNCTION: | ||
| 2809 | EVP_aes_128_cfb1 3251 EXIST::FUNCTION:AES | ||
| 2810 | EVP_aes_192_cfb8 3252 EXIST::FUNCTION:AES | ||
| 2811 | FIPS_mode_set 3253 NOEXIST::FUNCTION: | ||
| 2812 | FIPS_selftest_dsa 3254 NOEXIST::FUNCTION: | ||
| 2813 | EVP_aes_256_cfb8 3255 EXIST::FUNCTION:AES | ||
| 2814 | FIPS_allow_md5 3256 NOEXIST::FUNCTION: | ||
| 2815 | DES_ede3_cfb_encrypt 3257 EXIST::FUNCTION:DES | ||
| 2816 | EVP_des_ede3_cfb8 3258 EXIST::FUNCTION:DES | ||
| 2817 | FIPS_rand_seeded 3259 NOEXIST::FUNCTION: | ||
| 2818 | AES_cfbr_encrypt_block 3260 EXIST::FUNCTION:AES | ||
| 2819 | AES_cfb8_encrypt 3261 EXIST::FUNCTION:AES | ||
| 2820 | FIPS_rand_seed 3262 NOEXIST::FUNCTION: | ||
| 2821 | FIPS_corrupt_des 3263 NOEXIST::FUNCTION: | ||
| 2822 | EVP_aes_192_cfb1 3264 EXIST::FUNCTION:AES | ||
| 2823 | FIPS_selftest_aes 3265 NOEXIST::FUNCTION: | ||
| 2824 | FIPS_set_prng_key 3266 NOEXIST::FUNCTION: | ||
| 2825 | EVP_des_cfb8 3267 EXIST::FUNCTION:DES | ||
| 2826 | FIPS_corrupt_dsa 3268 NOEXIST::FUNCTION: | ||
| 2827 | FIPS_test_mode 3269 NOEXIST::FUNCTION: | ||
| 2828 | FIPS_rand_method 3270 NOEXIST::FUNCTION: | ||
| 2829 | EVP_aes_256_cfb1 3271 EXIST::FUNCTION:AES | ||
| 2830 | ERR_load_FIPS_strings 3272 NOEXIST::FUNCTION: | ||
| 2831 | FIPS_corrupt_aes 3273 NOEXIST::FUNCTION: | ||
| 2832 | FIPS_selftest_sha1 3274 NOEXIST::FUNCTION: | ||
| 2833 | FIPS_selftest_rsa 3275 NOEXIST::FUNCTION: | ||
| 2834 | FIPS_corrupt_sha1 3276 NOEXIST::FUNCTION: | ||
| 2835 | EVP_des_cfb1 3277 EXIST::FUNCTION:DES | ||
| 2836 | FIPS_dsa_check 3278 NOEXIST::FUNCTION: | ||
| 2837 | AES_cfb1_encrypt 3279 EXIST::FUNCTION:AES | ||
| 2838 | EVP_des_ede3_cfb1 3280 EXIST::FUNCTION:DES | ||
| 2839 | FIPS_rand_check 3281 NOEXIST::FUNCTION: | ||
| 2840 | FIPS_md5_allowed 3282 NOEXIST::FUNCTION: | ||
| 2841 | FIPS_mode 3283 NOEXIST::FUNCTION: | ||
| 2842 | FIPS_selftest_failed 3284 NOEXIST::FUNCTION: | ||
| 2843 | sk_is_sorted 3285 EXIST::FUNCTION: | ||
| 2844 | X509_check_ca 3286 EXIST::FUNCTION: | ||
| 2845 | private_idea_set_encrypt_key 3287 NOEXIST::FUNCTION: | ||
| 2846 | HMAC_CTX_set_flags 3288 EXIST::FUNCTION:HMAC | ||
| 2847 | private_SHA_Init 3289 NOEXIST::FUNCTION: | ||
| 2848 | private_CAST_set_key 3290 NOEXIST::FUNCTION: | ||
| 2849 | private_RIPEMD160_Init 3291 NOEXIST::FUNCTION: | ||
| 2850 | private_RC5_32_set_key 3292 NOEXIST::FUNCTION: | ||
| 2851 | private_MD5_Init 3293 NOEXIST::FUNCTION: | ||
| 2852 | private_RC4_set_key 3294 NOEXIST::FUNCTION: | ||
| 2853 | private_MDC2_Init 3295 NOEXIST::FUNCTION: | ||
| 2854 | private_RC2_set_key 3296 NOEXIST::FUNCTION: | ||
| 2855 | private_MD4_Init 3297 NOEXIST::FUNCTION: | ||
| 2856 | private_BF_set_key 3298 NOEXIST::FUNCTION: | ||
| 2857 | private_MD2_Init 3299 NOEXIST::FUNCTION: | ||
| 2858 | d2i_PROXY_CERT_INFO_EXTENSION 3300 EXIST::FUNCTION: | ||
| 2859 | PROXY_POLICY_it 3301 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2860 | PROXY_POLICY_it 3301 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2861 | i2d_PROXY_POLICY 3302 EXIST::FUNCTION: | ||
| 2862 | i2d_PROXY_CERT_INFO_EXTENSION 3303 EXIST::FUNCTION: | ||
| 2863 | d2i_PROXY_POLICY 3304 EXIST::FUNCTION: | ||
| 2864 | PROXY_CERT_INFO_EXTENSION_new 3305 EXIST::FUNCTION: | ||
| 2865 | PROXY_CERT_INFO_EXTENSION_free 3306 EXIST::FUNCTION: | ||
| 2866 | PROXY_CERT_INFO_EXTENSION_it 3307 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2867 | PROXY_CERT_INFO_EXTENSION_it 3307 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2868 | PROXY_POLICY_free 3308 EXIST::FUNCTION: | ||
| 2869 | PROXY_POLICY_new 3309 EXIST::FUNCTION: | ||
| 2870 | BN_MONT_CTX_set_locked 3310 EXIST::FUNCTION: | ||
| 2871 | FIPS_selftest_rng 3311 NOEXIST::FUNCTION: | ||
| 2872 | EVP_sha384 3312 EXIST::FUNCTION:SHA,SHA512 | ||
| 2873 | EVP_sha512 3313 EXIST::FUNCTION:SHA,SHA512 | ||
| 2874 | EVP_sha224 3314 EXIST::FUNCTION:SHA,SHA256 | ||
| 2875 | EVP_sha256 3315 EXIST::FUNCTION:SHA,SHA256 | ||
| 2876 | FIPS_selftest_hmac 3316 NOEXIST::FUNCTION: | ||
| 2877 | FIPS_corrupt_rng 3317 NOEXIST::FUNCTION: | ||
| 2878 | BN_mod_exp_mont_consttime 3318 EXIST::FUNCTION: | ||
| 2879 | RSA_X931_hash_id 3319 EXIST::FUNCTION:RSA | ||
| 2880 | RSA_padding_check_X931 3320 EXIST::FUNCTION:RSA | ||
| 2881 | RSA_verify_PKCS1_PSS 3321 EXIST::FUNCTION:RSA | ||
| 2882 | RSA_padding_add_X931 3322 EXIST::FUNCTION:RSA | ||
| 2883 | RSA_padding_add_PKCS1_PSS 3323 EXIST::FUNCTION:RSA | ||
| 2884 | PKCS1_MGF1 3324 EXIST::FUNCTION:RSA | ||
| 2885 | BN_X931_generate_Xpq 3325 NOEXIST::FUNCTION: | ||
| 2886 | RSA_X931_generate_key 3326 NOEXIST::FUNCTION: | ||
| 2887 | BN_X931_derive_prime 3327 NOEXIST::FUNCTION: | ||
| 2888 | BN_X931_generate_prime 3328 NOEXIST::FUNCTION: | ||
| 2889 | RSA_X931_derive 3329 NOEXIST::FUNCTION: | ||
| 2890 | BIO_new_dgram 3330 EXIST::FUNCTION: | ||
| 2891 | BN_get0_nist_prime_384 3331 EXIST::FUNCTION: | ||
| 2892 | ERR_set_mark 3332 EXIST::FUNCTION: | ||
| 2893 | X509_STORE_CTX_set0_crls 3333 EXIST::FUNCTION: | ||
| 2894 | ENGINE_set_STORE 3334 EXIST::FUNCTION:ENGINE | ||
| 2895 | ENGINE_register_ECDSA 3335 EXIST::FUNCTION:ENGINE | ||
| 2896 | STORE_method_set_list_start_function 3336 EXIST:!VMS:FUNCTION: | ||
| 2897 | STORE_meth_set_list_start_fn 3336 EXIST:VMS:FUNCTION: | ||
| 2898 | BN_BLINDING_invert_ex 3337 EXIST::FUNCTION: | ||
| 2899 | NAME_CONSTRAINTS_free 3338 EXIST::FUNCTION: | ||
| 2900 | STORE_ATTR_INFO_set_number 3339 EXIST::FUNCTION: | ||
| 2901 | BN_BLINDING_get_thread_id 3340 EXIST::FUNCTION: | ||
| 2902 | X509_STORE_CTX_set0_param 3341 EXIST::FUNCTION: | ||
| 2903 | POLICY_MAPPING_it 3342 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2904 | POLICY_MAPPING_it 3342 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2905 | STORE_parse_attrs_start 3343 EXIST::FUNCTION: | ||
| 2906 | POLICY_CONSTRAINTS_free 3344 EXIST::FUNCTION: | ||
| 2907 | EVP_PKEY_add1_attr_by_NID 3345 EXIST::FUNCTION: | ||
| 2908 | BN_nist_mod_192 3346 EXIST::FUNCTION: | ||
| 2909 | EC_GROUP_get_trinomial_basis 3347 EXIST::FUNCTION:EC | ||
| 2910 | STORE_set_method 3348 EXIST::FUNCTION: | ||
| 2911 | GENERAL_SUBTREE_free 3349 EXIST::FUNCTION: | ||
| 2912 | NAME_CONSTRAINTS_it 3350 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2913 | NAME_CONSTRAINTS_it 3350 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2914 | ECDH_get_default_method 3351 EXIST::FUNCTION:ECDH | ||
| 2915 | PKCS12_add_safe 3352 EXIST::FUNCTION: | ||
| 2916 | EC_KEY_new_by_curve_name 3353 EXIST::FUNCTION:EC | ||
| 2917 | STORE_method_get_update_store_function 3354 EXIST:!VMS:FUNCTION: | ||
| 2918 | STORE_meth_get_update_store_fn 3354 EXIST:VMS:FUNCTION: | ||
| 2919 | ENGINE_register_ECDH 3355 EXIST::FUNCTION:ENGINE | ||
| 2920 | SHA512_Update 3356 EXIST::FUNCTION:SHA,SHA512 | ||
| 2921 | i2d_ECPrivateKey 3357 EXIST::FUNCTION:EC | ||
| 2922 | BN_get0_nist_prime_192 3358 EXIST::FUNCTION: | ||
| 2923 | STORE_modify_certificate 3359 EXIST::FUNCTION: | ||
| 2924 | EC_POINT_set_affine_coordinates_GF2m 3360 EXIST:!VMS:FUNCTION:EC | ||
| 2925 | EC_POINT_set_affine_coords_GF2m 3360 EXIST:VMS:FUNCTION:EC | ||
| 2926 | BN_GF2m_mod_exp_arr 3361 EXIST::FUNCTION: | ||
| 2927 | STORE_ATTR_INFO_modify_number 3362 EXIST::FUNCTION: | ||
| 2928 | X509_keyid_get0 3363 EXIST::FUNCTION: | ||
| 2929 | ENGINE_load_gmp 3364 EXIST::FUNCTION:ENGINE,GMP,STATIC_ENGINE | ||
| 2930 | pitem_new 3365 EXIST::FUNCTION: | ||
| 2931 | BN_GF2m_mod_mul_arr 3366 EXIST::FUNCTION: | ||
| 2932 | STORE_list_public_key_endp 3367 EXIST::FUNCTION: | ||
| 2933 | o2i_ECPublicKey 3368 EXIST::FUNCTION:EC | ||
| 2934 | EC_KEY_copy 3369 EXIST::FUNCTION:EC | ||
| 2935 | BIO_dump_fp 3370 EXIST::FUNCTION:FP_API | ||
| 2936 | X509_policy_node_get0_parent 3371 EXIST::FUNCTION: | ||
| 2937 | EC_GROUP_check_discriminant 3372 EXIST::FUNCTION:EC | ||
| 2938 | i2o_ECPublicKey 3373 EXIST::FUNCTION:EC | ||
| 2939 | EC_KEY_precompute_mult 3374 EXIST::FUNCTION:EC | ||
| 2940 | a2i_IPADDRESS 3375 EXIST::FUNCTION: | ||
| 2941 | STORE_method_set_initialise_function 3376 EXIST:!VMS:FUNCTION: | ||
| 2942 | STORE_meth_set_initialise_fn 3376 EXIST:VMS:FUNCTION: | ||
| 2943 | X509_STORE_CTX_set_depth 3377 EXIST::FUNCTION: | ||
| 2944 | X509_VERIFY_PARAM_inherit 3378 EXIST::FUNCTION: | ||
| 2945 | EC_POINT_point2bn 3379 EXIST::FUNCTION:EC | ||
| 2946 | STORE_ATTR_INFO_set_dn 3380 EXIST::FUNCTION: | ||
| 2947 | X509_policy_tree_get0_policies 3381 EXIST::FUNCTION: | ||
| 2948 | EC_GROUP_new_curve_GF2m 3382 EXIST::FUNCTION:EC | ||
| 2949 | STORE_destroy_method 3383 EXIST::FUNCTION: | ||
| 2950 | ENGINE_unregister_STORE 3384 EXIST::FUNCTION:ENGINE | ||
| 2951 | EVP_PKEY_get1_EC_KEY 3385 EXIST::FUNCTION:EC | ||
| 2952 | STORE_ATTR_INFO_get0_number 3386 EXIST::FUNCTION: | ||
| 2953 | ENGINE_get_default_ECDH 3387 EXIST::FUNCTION:ENGINE | ||
| 2954 | EC_KEY_get_conv_form 3388 EXIST::FUNCTION:EC | ||
| 2955 | ASN1_OCTET_STRING_NDEF_it 3389 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 2956 | ASN1_OCTET_STRING_NDEF_it 3389 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 2957 | STORE_delete_public_key 3390 EXIST::FUNCTION: | ||
| 2958 | STORE_get_public_key 3391 EXIST::FUNCTION: | ||
| 2959 | STORE_modify_arbitrary 3392 EXIST::FUNCTION: | ||
| 2960 | ENGINE_get_static_state 3393 EXIST::FUNCTION:ENGINE | ||
| 2961 | pqueue_iterator 3394 EXIST::FUNCTION: | ||
| 2962 | ECDSA_SIG_new 3395 EXIST::FUNCTION:ECDSA | ||
| 2963 | OPENSSL_DIR_end 3396 EXIST::FUNCTION: | ||
| 2964 | BN_GF2m_mod_sqr 3397 EXIST::FUNCTION: | ||
| 2965 | EC_POINT_bn2point 3398 EXIST::FUNCTION:EC | ||
| 2966 | X509_VERIFY_PARAM_set_depth 3399 EXIST::FUNCTION: | ||
| 2967 | EC_KEY_set_asn1_flag 3400 EXIST::FUNCTION:EC | ||
| 2968 | STORE_get_method 3401 EXIST::FUNCTION: | ||
| 2969 | EC_KEY_get_key_method_data 3402 EXIST::FUNCTION:EC | ||
| 2970 | ECDSA_sign_ex 3403 EXIST::FUNCTION:ECDSA | ||
| 2971 | STORE_parse_attrs_end 3404 EXIST::FUNCTION: | ||
| 2972 | EC_GROUP_get_point_conversion_form 3405 EXIST:!VMS:FUNCTION:EC | ||
| 2973 | EC_GROUP_get_point_conv_form 3405 EXIST:VMS:FUNCTION:EC | ||
| 2974 | STORE_method_set_store_function 3406 EXIST::FUNCTION: | ||
| 2975 | STORE_ATTR_INFO_in 3407 EXIST::FUNCTION: | ||
| 2976 | PEM_read_bio_ECPKParameters 3408 EXIST::FUNCTION:EC | ||
| 2977 | EC_GROUP_get_pentanomial_basis 3409 EXIST::FUNCTION:EC | ||
| 2978 | EVP_PKEY_add1_attr_by_txt 3410 EXIST::FUNCTION: | ||
| 2979 | BN_BLINDING_set_flags 3411 EXIST::FUNCTION: | ||
| 2980 | X509_VERIFY_PARAM_set1_policies 3412 EXIST::FUNCTION: | ||
| 2981 | X509_VERIFY_PARAM_set1_name 3413 EXIST::FUNCTION: | ||
| 2982 | X509_VERIFY_PARAM_set_purpose 3414 EXIST::FUNCTION: | ||
| 2983 | STORE_get_number 3415 EXIST::FUNCTION: | ||
| 2984 | ECDSA_sign_setup 3416 EXIST::FUNCTION:ECDSA | ||
| 2985 | BN_GF2m_mod_solve_quad_arr 3417 EXIST::FUNCTION: | ||
| 2986 | EC_KEY_up_ref 3418 EXIST::FUNCTION:EC | ||
| 2987 | POLICY_MAPPING_free 3419 EXIST::FUNCTION: | ||
| 2988 | BN_GF2m_mod_div 3420 EXIST::FUNCTION: | ||
| 2989 | X509_VERIFY_PARAM_set_flags 3421 EXIST::FUNCTION: | ||
| 2990 | EC_KEY_free 3422 EXIST::FUNCTION:EC | ||
| 2991 | STORE_method_set_list_next_function 3423 EXIST:!VMS:FUNCTION: | ||
| 2992 | STORE_meth_set_list_next_fn 3423 EXIST:VMS:FUNCTION: | ||
| 2993 | PEM_write_bio_ECPrivateKey 3424 EXIST::FUNCTION:EC | ||
| 2994 | d2i_EC_PUBKEY 3425 EXIST::FUNCTION:EC | ||
| 2995 | STORE_method_get_generate_function 3426 EXIST:!VMS:FUNCTION: | ||
| 2996 | STORE_meth_get_generate_fn 3426 EXIST:VMS:FUNCTION: | ||
| 2997 | STORE_method_set_list_end_function 3427 EXIST:!VMS:FUNCTION: | ||
| 2998 | STORE_meth_set_list_end_fn 3427 EXIST:VMS:FUNCTION: | ||
| 2999 | pqueue_print 3428 EXIST::FUNCTION: | ||
| 3000 | EC_GROUP_have_precompute_mult 3429 EXIST::FUNCTION:EC | ||
| 3001 | EC_KEY_print_fp 3430 EXIST::FUNCTION:EC,FP_API | ||
| 3002 | BN_GF2m_mod_arr 3431 EXIST::FUNCTION: | ||
| 3003 | PEM_write_bio_X509_CERT_PAIR 3432 EXIST::FUNCTION: | ||
| 3004 | EVP_PKEY_cmp 3433 EXIST::FUNCTION: | ||
| 3005 | X509_policy_level_node_count 3434 EXIST::FUNCTION: | ||
| 3006 | STORE_new_engine 3435 EXIST::FUNCTION: | ||
| 3007 | STORE_list_public_key_start 3436 EXIST::FUNCTION: | ||
| 3008 | X509_VERIFY_PARAM_new 3437 EXIST::FUNCTION: | ||
| 3009 | ECDH_get_ex_data 3438 EXIST::FUNCTION:ECDH | ||
| 3010 | EVP_PKEY_get_attr 3439 EXIST::FUNCTION: | ||
| 3011 | ECDSA_do_sign 3440 EXIST::FUNCTION:ECDSA | ||
| 3012 | ENGINE_unregister_ECDH 3441 EXIST::FUNCTION:ENGINE | ||
| 3013 | ECDH_OpenSSL 3442 EXIST::FUNCTION:ECDH | ||
| 3014 | EC_KEY_set_conv_form 3443 EXIST::FUNCTION:EC | ||
| 3015 | EC_POINT_dup 3444 EXIST::FUNCTION:EC | ||
| 3016 | GENERAL_SUBTREE_new 3445 EXIST::FUNCTION: | ||
| 3017 | STORE_list_crl_endp 3446 EXIST::FUNCTION: | ||
| 3018 | EC_get_builtin_curves 3447 EXIST::FUNCTION:EC | ||
| 3019 | X509_policy_node_get0_qualifiers 3448 EXIST:!VMS:FUNCTION: | ||
| 3020 | X509_pcy_node_get0_qualifiers 3448 EXIST:VMS:FUNCTION: | ||
| 3021 | STORE_list_crl_end 3449 EXIST::FUNCTION: | ||
| 3022 | EVP_PKEY_set1_EC_KEY 3450 EXIST::FUNCTION:EC | ||
| 3023 | BN_GF2m_mod_sqrt_arr 3451 EXIST::FUNCTION: | ||
| 3024 | i2d_ECPrivateKey_bio 3452 EXIST::FUNCTION:BIO,EC | ||
| 3025 | ECPKParameters_print_fp 3453 EXIST::FUNCTION:EC,FP_API | ||
| 3026 | pqueue_find 3454 EXIST::FUNCTION: | ||
| 3027 | ECDSA_SIG_free 3455 EXIST::FUNCTION:ECDSA | ||
| 3028 | PEM_write_bio_ECPKParameters 3456 EXIST::FUNCTION:EC | ||
| 3029 | STORE_method_set_ctrl_function 3457 EXIST::FUNCTION: | ||
| 3030 | STORE_list_public_key_end 3458 EXIST::FUNCTION: | ||
| 3031 | EC_KEY_set_private_key 3459 EXIST::FUNCTION:EC | ||
| 3032 | pqueue_peek 3460 EXIST::FUNCTION: | ||
| 3033 | STORE_get_arbitrary 3461 EXIST::FUNCTION: | ||
| 3034 | STORE_store_crl 3462 EXIST::FUNCTION: | ||
| 3035 | X509_policy_node_get0_policy 3463 EXIST::FUNCTION: | ||
| 3036 | PKCS12_add_safes 3464 EXIST::FUNCTION: | ||
| 3037 | BN_BLINDING_convert_ex 3465 EXIST::FUNCTION: | ||
| 3038 | X509_policy_tree_free 3466 EXIST::FUNCTION: | ||
| 3039 | OPENSSL_ia32cap_loc 3467 EXIST::FUNCTION: | ||
| 3040 | BN_GF2m_poly2arr 3468 EXIST::FUNCTION: | ||
| 3041 | STORE_ctrl 3469 EXIST::FUNCTION: | ||
| 3042 | STORE_ATTR_INFO_compare 3470 EXIST::FUNCTION: | ||
| 3043 | BN_get0_nist_prime_224 3471 EXIST::FUNCTION: | ||
| 3044 | i2d_ECParameters 3472 EXIST::FUNCTION:EC | ||
| 3045 | i2d_ECPKParameters 3473 EXIST::FUNCTION:EC | ||
| 3046 | BN_GENCB_call 3474 EXIST::FUNCTION: | ||
| 3047 | d2i_ECPKParameters 3475 EXIST::FUNCTION:EC | ||
| 3048 | STORE_method_set_generate_function 3476 EXIST:!VMS:FUNCTION: | ||
| 3049 | STORE_meth_set_generate_fn 3476 EXIST:VMS:FUNCTION: | ||
| 3050 | ENGINE_set_ECDH 3477 EXIST::FUNCTION:ENGINE | ||
| 3051 | NAME_CONSTRAINTS_new 3478 EXIST::FUNCTION: | ||
| 3052 | SHA256_Init 3479 EXIST::FUNCTION:SHA,SHA256 | ||
| 3053 | EC_KEY_get0_public_key 3480 EXIST::FUNCTION:EC | ||
| 3054 | PEM_write_bio_EC_PUBKEY 3481 EXIST::FUNCTION:EC | ||
| 3055 | STORE_ATTR_INFO_set_cstr 3482 EXIST::FUNCTION: | ||
| 3056 | STORE_list_crl_next 3483 EXIST::FUNCTION: | ||
| 3057 | STORE_ATTR_INFO_in_range 3484 EXIST::FUNCTION: | ||
| 3058 | ECParameters_print 3485 EXIST::FUNCTION:BIO,EC | ||
| 3059 | STORE_method_set_delete_function 3486 EXIST:!VMS:FUNCTION: | ||
| 3060 | STORE_meth_set_delete_fn 3486 EXIST:VMS:FUNCTION: | ||
| 3061 | STORE_list_certificate_next 3487 EXIST::FUNCTION: | ||
| 3062 | ASN1_generate_nconf 3488 EXIST::FUNCTION: | ||
| 3063 | BUF_memdup 3489 EXIST::FUNCTION: | ||
| 3064 | BN_GF2m_mod_mul 3490 EXIST::FUNCTION: | ||
| 3065 | STORE_method_get_list_next_function 3491 EXIST:!VMS:FUNCTION: | ||
| 3066 | STORE_meth_get_list_next_fn 3491 EXIST:VMS:FUNCTION: | ||
| 3067 | STORE_ATTR_INFO_get0_dn 3492 EXIST::FUNCTION: | ||
| 3068 | STORE_list_private_key_next 3493 EXIST::FUNCTION: | ||
| 3069 | EC_GROUP_set_seed 3494 EXIST::FUNCTION:EC | ||
| 3070 | X509_VERIFY_PARAM_set_trust 3495 EXIST::FUNCTION: | ||
| 3071 | STORE_ATTR_INFO_free 3496 EXIST::FUNCTION: | ||
| 3072 | STORE_get_private_key 3497 EXIST::FUNCTION: | ||
| 3073 | EVP_PKEY_get_attr_count 3498 EXIST::FUNCTION: | ||
| 3074 | STORE_ATTR_INFO_new 3499 EXIST::FUNCTION: | ||
| 3075 | EC_GROUP_get_curve_GF2m 3500 EXIST::FUNCTION:EC | ||
| 3076 | STORE_method_set_revoke_function 3501 EXIST:!VMS:FUNCTION: | ||
| 3077 | STORE_meth_set_revoke_fn 3501 EXIST:VMS:FUNCTION: | ||
| 3078 | STORE_store_number 3502 EXIST::FUNCTION: | ||
| 3079 | BN_is_prime_ex 3503 EXIST::FUNCTION: | ||
| 3080 | STORE_revoke_public_key 3504 EXIST::FUNCTION: | ||
| 3081 | X509_STORE_CTX_get0_param 3505 EXIST::FUNCTION: | ||
| 3082 | STORE_delete_arbitrary 3506 EXIST::FUNCTION: | ||
| 3083 | PEM_read_X509_CERT_PAIR 3507 EXIST:!WIN16:FUNCTION: | ||
| 3084 | X509_STORE_set_depth 3508 EXIST::FUNCTION: | ||
| 3085 | ECDSA_get_ex_data 3509 EXIST::FUNCTION:ECDSA | ||
| 3086 | SHA224 3510 EXIST::FUNCTION:SHA,SHA256 | ||
| 3087 | BIO_dump_indent_fp 3511 EXIST::FUNCTION:FP_API | ||
| 3088 | EC_KEY_set_group 3512 EXIST::FUNCTION:EC | ||
| 3089 | BUF_strndup 3513 EXIST::FUNCTION: | ||
| 3090 | STORE_list_certificate_start 3514 EXIST::FUNCTION: | ||
| 3091 | BN_GF2m_mod 3515 EXIST::FUNCTION: | ||
| 3092 | X509_REQ_check_private_key 3516 EXIST::FUNCTION: | ||
| 3093 | EC_GROUP_get_seed_len 3517 EXIST::FUNCTION:EC | ||
| 3094 | ERR_load_STORE_strings 3518 EXIST::FUNCTION: | ||
| 3095 | PEM_read_bio_EC_PUBKEY 3519 EXIST::FUNCTION:EC | ||
| 3096 | STORE_list_private_key_end 3520 EXIST::FUNCTION: | ||
| 3097 | i2d_EC_PUBKEY 3521 EXIST::FUNCTION:EC | ||
| 3098 | ECDSA_get_default_method 3522 EXIST::FUNCTION:ECDSA | ||
| 3099 | ASN1_put_eoc 3523 EXIST::FUNCTION: | ||
| 3100 | X509_STORE_CTX_get_explicit_policy 3524 EXIST:!VMS:FUNCTION: | ||
| 3101 | X509_STORE_CTX_get_expl_policy 3524 EXIST:VMS:FUNCTION: | ||
| 3102 | X509_VERIFY_PARAM_table_cleanup 3525 EXIST::FUNCTION: | ||
| 3103 | STORE_modify_private_key 3526 EXIST::FUNCTION: | ||
| 3104 | X509_VERIFY_PARAM_free 3527 EXIST::FUNCTION: | ||
| 3105 | EC_METHOD_get_field_type 3528 EXIST::FUNCTION:EC | ||
| 3106 | EC_GFp_nist_method 3529 EXIST::FUNCTION:EC | ||
| 3107 | STORE_method_set_modify_function 3530 EXIST:!VMS:FUNCTION: | ||
| 3108 | STORE_meth_set_modify_fn 3530 EXIST:VMS:FUNCTION: | ||
| 3109 | STORE_parse_attrs_next 3531 EXIST::FUNCTION: | ||
| 3110 | ENGINE_load_padlock 3532 EXIST::FUNCTION:ENGINE | ||
| 3111 | EC_GROUP_set_curve_name 3533 EXIST::FUNCTION:EC | ||
| 3112 | X509_CERT_PAIR_it 3534 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 3113 | X509_CERT_PAIR_it 3534 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 3114 | STORE_method_get_revoke_function 3535 EXIST:!VMS:FUNCTION: | ||
| 3115 | STORE_meth_get_revoke_fn 3535 EXIST:VMS:FUNCTION: | ||
| 3116 | STORE_method_set_get_function 3536 EXIST::FUNCTION: | ||
| 3117 | STORE_modify_number 3537 EXIST::FUNCTION: | ||
| 3118 | STORE_method_get_store_function 3538 EXIST::FUNCTION: | ||
| 3119 | STORE_store_private_key 3539 EXIST::FUNCTION: | ||
| 3120 | BN_GF2m_mod_sqr_arr 3540 EXIST::FUNCTION: | ||
| 3121 | RSA_setup_blinding 3541 EXIST::FUNCTION:RSA | ||
| 3122 | BIO_s_datagram 3542 EXIST::FUNCTION:DGRAM | ||
| 3123 | STORE_Memory 3543 EXIST::FUNCTION: | ||
| 3124 | sk_find_ex 3544 EXIST::FUNCTION: | ||
| 3125 | EC_GROUP_set_curve_GF2m 3545 EXIST::FUNCTION:EC | ||
| 3126 | ENGINE_set_default_ECDSA 3546 EXIST::FUNCTION:ENGINE | ||
| 3127 | POLICY_CONSTRAINTS_new 3547 EXIST::FUNCTION: | ||
| 3128 | BN_GF2m_mod_sqrt 3548 EXIST::FUNCTION: | ||
| 3129 | ECDH_set_default_method 3549 EXIST::FUNCTION:ECDH | ||
| 3130 | EC_KEY_generate_key 3550 EXIST::FUNCTION:EC | ||
| 3131 | SHA384_Update 3551 EXIST::FUNCTION:SHA,SHA512 | ||
| 3132 | BN_GF2m_arr2poly 3552 EXIST::FUNCTION: | ||
| 3133 | STORE_method_get_get_function 3553 EXIST::FUNCTION: | ||
| 3134 | STORE_method_set_cleanup_function 3554 EXIST:!VMS:FUNCTION: | ||
| 3135 | STORE_meth_set_cleanup_fn 3554 EXIST:VMS:FUNCTION: | ||
| 3136 | EC_GROUP_check 3555 EXIST::FUNCTION:EC | ||
| 3137 | d2i_ECPrivateKey_bio 3556 EXIST::FUNCTION:BIO,EC | ||
| 3138 | EC_KEY_insert_key_method_data 3557 EXIST::FUNCTION:EC | ||
| 3139 | STORE_method_get_lock_store_function 3558 EXIST:!VMS:FUNCTION: | ||
| 3140 | STORE_meth_get_lock_store_fn 3558 EXIST:VMS:FUNCTION: | ||
| 3141 | X509_VERIFY_PARAM_get_depth 3559 EXIST::FUNCTION: | ||
| 3142 | SHA224_Final 3560 EXIST::FUNCTION:SHA,SHA256 | ||
| 3143 | STORE_method_set_update_store_function 3561 EXIST:!VMS:FUNCTION: | ||
| 3144 | STORE_meth_set_update_store_fn 3561 EXIST:VMS:FUNCTION: | ||
| 3145 | SHA224_Update 3562 EXIST::FUNCTION:SHA,SHA256 | ||
| 3146 | d2i_ECPrivateKey 3563 EXIST::FUNCTION:EC | ||
| 3147 | ASN1_item_ndef_i2d 3564 EXIST::FUNCTION: | ||
| 3148 | STORE_delete_private_key 3565 EXIST::FUNCTION: | ||
| 3149 | ERR_pop_to_mark 3566 EXIST::FUNCTION: | ||
| 3150 | ENGINE_register_all_STORE 3567 EXIST::FUNCTION:ENGINE | ||
| 3151 | X509_policy_level_get0_node 3568 EXIST::FUNCTION: | ||
| 3152 | i2d_PKCS7_NDEF 3569 EXIST::FUNCTION: | ||
| 3153 | EC_GROUP_get_degree 3570 EXIST::FUNCTION:EC | ||
| 3154 | ASN1_generate_v3 3571 EXIST::FUNCTION: | ||
| 3155 | STORE_ATTR_INFO_modify_cstr 3572 EXIST::FUNCTION: | ||
| 3156 | X509_policy_tree_level_count 3573 EXIST::FUNCTION: | ||
| 3157 | BN_GF2m_add 3574 EXIST::FUNCTION: | ||
| 3158 | EC_KEY_get0_group 3575 EXIST::FUNCTION:EC | ||
| 3159 | STORE_generate_crl 3576 EXIST::FUNCTION: | ||
| 3160 | STORE_store_public_key 3577 EXIST::FUNCTION: | ||
| 3161 | X509_CERT_PAIR_free 3578 EXIST::FUNCTION: | ||
| 3162 | STORE_revoke_private_key 3579 EXIST::FUNCTION: | ||
| 3163 | BN_nist_mod_224 3580 EXIST::FUNCTION: | ||
| 3164 | SHA512_Final 3581 EXIST::FUNCTION:SHA,SHA512 | ||
| 3165 | STORE_ATTR_INFO_modify_dn 3582 EXIST::FUNCTION: | ||
| 3166 | STORE_method_get_initialise_function 3583 EXIST:!VMS:FUNCTION: | ||
| 3167 | STORE_meth_get_initialise_fn 3583 EXIST:VMS:FUNCTION: | ||
| 3168 | STORE_delete_number 3584 EXIST::FUNCTION: | ||
| 3169 | i2d_EC_PUBKEY_bio 3585 EXIST::FUNCTION:BIO,EC | ||
| 3170 | BIO_dgram_non_fatal_error 3586 EXIST::FUNCTION: | ||
| 3171 | EC_GROUP_get_asn1_flag 3587 EXIST::FUNCTION:EC | ||
| 3172 | STORE_ATTR_INFO_in_ex 3588 EXIST::FUNCTION: | ||
| 3173 | STORE_list_crl_start 3589 EXIST::FUNCTION: | ||
| 3174 | ECDH_get_ex_new_index 3590 EXIST::FUNCTION:ECDH | ||
| 3175 | STORE_method_get_modify_function 3591 EXIST:!VMS:FUNCTION: | ||
| 3176 | STORE_meth_get_modify_fn 3591 EXIST:VMS:FUNCTION: | ||
| 3177 | v2i_ASN1_BIT_STRING 3592 EXIST::FUNCTION: | ||
| 3178 | STORE_store_certificate 3593 EXIST::FUNCTION: | ||
| 3179 | OBJ_bsearch_ex 3594 EXIST::FUNCTION: | ||
| 3180 | X509_STORE_CTX_set_default 3595 EXIST::FUNCTION: | ||
| 3181 | STORE_ATTR_INFO_set_sha1str 3596 EXIST::FUNCTION: | ||
| 3182 | BN_GF2m_mod_inv 3597 EXIST::FUNCTION: | ||
| 3183 | BN_GF2m_mod_exp 3598 EXIST::FUNCTION: | ||
| 3184 | STORE_modify_public_key 3599 EXIST::FUNCTION: | ||
| 3185 | STORE_method_get_list_start_function 3600 EXIST:!VMS:FUNCTION: | ||
| 3186 | STORE_meth_get_list_start_fn 3600 EXIST:VMS:FUNCTION: | ||
| 3187 | EC_GROUP_get0_seed 3601 EXIST::FUNCTION:EC | ||
| 3188 | STORE_store_arbitrary 3602 EXIST::FUNCTION: | ||
| 3189 | STORE_method_set_unlock_store_function 3603 EXIST:!VMS:FUNCTION: | ||
| 3190 | STORE_meth_set_unlock_store_fn 3603 EXIST:VMS:FUNCTION: | ||
| 3191 | BN_GF2m_mod_div_arr 3604 EXIST::FUNCTION: | ||
| 3192 | ENGINE_set_ECDSA 3605 EXIST::FUNCTION:ENGINE | ||
| 3193 | STORE_create_method 3606 EXIST::FUNCTION: | ||
| 3194 | ECPKParameters_print 3607 EXIST::FUNCTION:BIO,EC | ||
| 3195 | EC_KEY_get0_private_key 3608 EXIST::FUNCTION:EC | ||
| 3196 | PEM_write_EC_PUBKEY 3609 EXIST:!WIN16:FUNCTION:EC | ||
| 3197 | X509_VERIFY_PARAM_set1 3610 EXIST::FUNCTION: | ||
| 3198 | ECDH_set_method 3611 EXIST::FUNCTION:ECDH | ||
| 3199 | v2i_GENERAL_NAME_ex 3612 EXIST::FUNCTION: | ||
| 3200 | ECDH_set_ex_data 3613 EXIST::FUNCTION:ECDH | ||
| 3201 | STORE_generate_key 3614 EXIST::FUNCTION: | ||
| 3202 | BN_nist_mod_521 3615 EXIST::FUNCTION: | ||
| 3203 | X509_policy_tree_get0_level 3616 EXIST::FUNCTION: | ||
| 3204 | EC_GROUP_set_point_conversion_form 3617 EXIST:!VMS:FUNCTION:EC | ||
| 3205 | EC_GROUP_set_point_conv_form 3617 EXIST:VMS:FUNCTION:EC | ||
| 3206 | PEM_read_EC_PUBKEY 3618 EXIST:!WIN16:FUNCTION:EC | ||
| 3207 | i2d_ECDSA_SIG 3619 EXIST::FUNCTION:ECDSA | ||
| 3208 | ECDSA_OpenSSL 3620 EXIST::FUNCTION:ECDSA | ||
| 3209 | STORE_delete_crl 3621 EXIST::FUNCTION: | ||
| 3210 | EC_KEY_get_enc_flags 3622 EXIST::FUNCTION:EC | ||
| 3211 | ASN1_const_check_infinite_end 3623 EXIST::FUNCTION: | ||
| 3212 | EVP_PKEY_delete_attr 3624 EXIST::FUNCTION: | ||
| 3213 | ECDSA_set_default_method 3625 EXIST::FUNCTION:ECDSA | ||
| 3214 | EC_POINT_set_compressed_coordinates_GF2m 3626 EXIST:!VMS:FUNCTION:EC | ||
| 3215 | EC_POINT_set_compr_coords_GF2m 3626 EXIST:VMS:FUNCTION:EC | ||
| 3216 | EC_GROUP_cmp 3627 EXIST::FUNCTION:EC | ||
| 3217 | STORE_revoke_certificate 3628 EXIST::FUNCTION: | ||
| 3218 | BN_get0_nist_prime_256 3629 EXIST::FUNCTION: | ||
| 3219 | STORE_method_get_delete_function 3630 EXIST:!VMS:FUNCTION: | ||
| 3220 | STORE_meth_get_delete_fn 3630 EXIST:VMS:FUNCTION: | ||
| 3221 | SHA224_Init 3631 EXIST::FUNCTION:SHA,SHA256 | ||
| 3222 | PEM_read_ECPrivateKey 3632 EXIST:!WIN16:FUNCTION:EC | ||
| 3223 | SHA512_Init 3633 EXIST::FUNCTION:SHA,SHA512 | ||
| 3224 | STORE_parse_attrs_endp 3634 EXIST::FUNCTION: | ||
| 3225 | BN_set_negative 3635 EXIST::FUNCTION: | ||
| 3226 | ERR_load_ECDSA_strings 3636 EXIST::FUNCTION:ECDSA | ||
| 3227 | EC_GROUP_get_basis_type 3637 EXIST::FUNCTION:EC | ||
| 3228 | STORE_list_public_key_next 3638 EXIST::FUNCTION: | ||
| 3229 | i2v_ASN1_BIT_STRING 3639 EXIST::FUNCTION: | ||
| 3230 | STORE_OBJECT_free 3640 EXIST::FUNCTION: | ||
| 3231 | BN_nist_mod_384 3641 EXIST::FUNCTION: | ||
| 3232 | i2d_X509_CERT_PAIR 3642 EXIST::FUNCTION: | ||
| 3233 | PEM_write_ECPKParameters 3643 EXIST:!WIN16:FUNCTION:EC | ||
| 3234 | ECDH_compute_key 3644 EXIST::FUNCTION:ECDH | ||
| 3235 | STORE_ATTR_INFO_get0_sha1str 3645 EXIST::FUNCTION: | ||
| 3236 | ENGINE_register_all_ECDH 3646 EXIST::FUNCTION:ENGINE | ||
| 3237 | pqueue_pop 3647 EXIST::FUNCTION: | ||
| 3238 | STORE_ATTR_INFO_get0_cstr 3648 EXIST::FUNCTION: | ||
| 3239 | POLICY_CONSTRAINTS_it 3649 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 3240 | POLICY_CONSTRAINTS_it 3649 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 3241 | STORE_get_ex_new_index 3650 EXIST::FUNCTION: | ||
| 3242 | EVP_PKEY_get_attr_by_OBJ 3651 EXIST::FUNCTION: | ||
| 3243 | X509_VERIFY_PARAM_add0_policy 3652 EXIST::FUNCTION: | ||
| 3244 | BN_GF2m_mod_solve_quad 3653 EXIST::FUNCTION: | ||
| 3245 | SHA256 3654 EXIST::FUNCTION:SHA,SHA256 | ||
| 3246 | i2d_ECPrivateKey_fp 3655 EXIST::FUNCTION:EC,FP_API | ||
| 3247 | X509_policy_tree_get0_user_policies 3656 EXIST:!VMS:FUNCTION: | ||
| 3248 | X509_pcy_tree_get0_usr_policies 3656 EXIST:VMS:FUNCTION: | ||
| 3249 | OPENSSL_DIR_read 3657 EXIST::FUNCTION: | ||
| 3250 | ENGINE_register_all_ECDSA 3658 EXIST::FUNCTION:ENGINE | ||
| 3251 | X509_VERIFY_PARAM_lookup 3659 EXIST::FUNCTION: | ||
| 3252 | EC_POINT_get_affine_coordinates_GF2m 3660 EXIST:!VMS:FUNCTION:EC | ||
| 3253 | EC_POINT_get_affine_coords_GF2m 3660 EXIST:VMS:FUNCTION:EC | ||
| 3254 | EC_GROUP_dup 3661 EXIST::FUNCTION:EC | ||
| 3255 | ENGINE_get_default_ECDSA 3662 EXIST::FUNCTION:ENGINE | ||
| 3256 | EC_KEY_new 3663 EXIST::FUNCTION:EC | ||
| 3257 | SHA256_Transform 3664 EXIST::FUNCTION:SHA,SHA256 | ||
| 3258 | EC_KEY_set_enc_flags 3665 EXIST::FUNCTION:EC | ||
| 3259 | ECDSA_verify 3666 EXIST::FUNCTION:ECDSA | ||
| 3260 | EC_POINT_point2hex 3667 EXIST::FUNCTION:EC | ||
| 3261 | ENGINE_get_STORE 3668 EXIST::FUNCTION:ENGINE | ||
| 3262 | SHA512 3669 EXIST::FUNCTION:SHA,SHA512 | ||
| 3263 | STORE_get_certificate 3670 EXIST::FUNCTION: | ||
| 3264 | ECDSA_do_sign_ex 3671 EXIST::FUNCTION:ECDSA | ||
| 3265 | ECDSA_do_verify 3672 EXIST::FUNCTION:ECDSA | ||
| 3266 | d2i_ECPrivateKey_fp 3673 EXIST::FUNCTION:EC,FP_API | ||
| 3267 | STORE_delete_certificate 3674 EXIST::FUNCTION: | ||
| 3268 | SHA512_Transform 3675 EXIST::FUNCTION:SHA,SHA512 | ||
| 3269 | X509_STORE_set1_param 3676 EXIST::FUNCTION: | ||
| 3270 | STORE_method_get_ctrl_function 3677 EXIST::FUNCTION: | ||
| 3271 | STORE_free 3678 EXIST::FUNCTION: | ||
| 3272 | PEM_write_ECPrivateKey 3679 EXIST:!WIN16:FUNCTION:EC | ||
| 3273 | STORE_method_get_unlock_store_function 3680 EXIST:!VMS:FUNCTION: | ||
| 3274 | STORE_meth_get_unlock_store_fn 3680 EXIST:VMS:FUNCTION: | ||
| 3275 | STORE_get_ex_data 3681 EXIST::FUNCTION: | ||
| 3276 | EC_KEY_set_public_key 3682 EXIST::FUNCTION:EC | ||
| 3277 | PEM_read_ECPKParameters 3683 EXIST:!WIN16:FUNCTION:EC | ||
| 3278 | X509_CERT_PAIR_new 3684 EXIST::FUNCTION: | ||
| 3279 | ENGINE_register_STORE 3685 EXIST::FUNCTION:ENGINE | ||
| 3280 | RSA_generate_key_ex 3686 EXIST::FUNCTION:RSA | ||
| 3281 | DSA_generate_parameters_ex 3687 EXIST::FUNCTION:DSA | ||
| 3282 | ECParameters_print_fp 3688 EXIST::FUNCTION:EC,FP_API | ||
| 3283 | X509V3_NAME_from_section 3689 EXIST::FUNCTION: | ||
| 3284 | EVP_PKEY_add1_attr 3690 EXIST::FUNCTION: | ||
| 3285 | STORE_modify_crl 3691 EXIST::FUNCTION: | ||
| 3286 | STORE_list_private_key_start 3692 EXIST::FUNCTION: | ||
| 3287 | POLICY_MAPPINGS_it 3693 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 3288 | POLICY_MAPPINGS_it 3693 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 3289 | GENERAL_SUBTREE_it 3694 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 3290 | GENERAL_SUBTREE_it 3694 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 3291 | EC_GROUP_get_curve_name 3695 EXIST::FUNCTION:EC | ||
| 3292 | PEM_write_X509_CERT_PAIR 3696 EXIST:!WIN16:FUNCTION: | ||
| 3293 | BIO_dump_indent_cb 3697 EXIST::FUNCTION: | ||
| 3294 | d2i_X509_CERT_PAIR 3698 EXIST::FUNCTION: | ||
| 3295 | STORE_list_private_key_endp 3699 EXIST::FUNCTION: | ||
| 3296 | asn1_const_Finish 3700 EXIST::FUNCTION: | ||
| 3297 | i2d_EC_PUBKEY_fp 3701 EXIST::FUNCTION:EC,FP_API | ||
| 3298 | BN_nist_mod_256 3702 EXIST::FUNCTION: | ||
| 3299 | X509_VERIFY_PARAM_add0_table 3703 EXIST::FUNCTION: | ||
| 3300 | pqueue_free 3704 EXIST::FUNCTION: | ||
| 3301 | BN_BLINDING_create_param 3705 EXIST::FUNCTION: | ||
| 3302 | ECDSA_size 3706 EXIST::FUNCTION:ECDSA | ||
| 3303 | d2i_EC_PUBKEY_bio 3707 EXIST::FUNCTION:BIO,EC | ||
| 3304 | BN_get0_nist_prime_521 3708 EXIST::FUNCTION: | ||
| 3305 | STORE_ATTR_INFO_modify_sha1str 3709 EXIST::FUNCTION: | ||
| 3306 | BN_generate_prime_ex 3710 EXIST::FUNCTION: | ||
| 3307 | EC_GROUP_new_by_curve_name 3711 EXIST::FUNCTION:EC | ||
| 3308 | SHA256_Final 3712 EXIST::FUNCTION:SHA,SHA256 | ||
| 3309 | DH_generate_parameters_ex 3713 EXIST::FUNCTION:DH | ||
| 3310 | PEM_read_bio_ECPrivateKey 3714 EXIST::FUNCTION:EC | ||
| 3311 | STORE_method_get_cleanup_function 3715 EXIST:!VMS:FUNCTION: | ||
| 3312 | STORE_meth_get_cleanup_fn 3715 EXIST:VMS:FUNCTION: | ||
| 3313 | ENGINE_get_ECDH 3716 EXIST::FUNCTION:ENGINE | ||
| 3314 | d2i_ECDSA_SIG 3717 EXIST::FUNCTION:ECDSA | ||
| 3315 | BN_is_prime_fasttest_ex 3718 EXIST::FUNCTION: | ||
| 3316 | ECDSA_sign 3719 EXIST::FUNCTION:ECDSA | ||
| 3317 | X509_policy_check 3720 EXIST::FUNCTION: | ||
| 3318 | EVP_PKEY_get_attr_by_NID 3721 EXIST::FUNCTION: | ||
| 3319 | STORE_set_ex_data 3722 EXIST::FUNCTION: | ||
| 3320 | ENGINE_get_ECDSA 3723 EXIST::FUNCTION:ENGINE | ||
| 3321 | EVP_ecdsa 3724 EXIST::FUNCTION:SHA | ||
| 3322 | BN_BLINDING_get_flags 3725 EXIST::FUNCTION: | ||
| 3323 | PKCS12_add_cert 3726 EXIST::FUNCTION: | ||
| 3324 | STORE_OBJECT_new 3727 EXIST::FUNCTION: | ||
| 3325 | ERR_load_ECDH_strings 3728 EXIST::FUNCTION:ECDH | ||
| 3326 | EC_KEY_dup 3729 EXIST::FUNCTION:EC | ||
| 3327 | EVP_CIPHER_CTX_rand_key 3730 EXIST::FUNCTION: | ||
| 3328 | ECDSA_set_method 3731 EXIST::FUNCTION:ECDSA | ||
| 3329 | a2i_IPADDRESS_NC 3732 EXIST::FUNCTION: | ||
| 3330 | d2i_ECParameters 3733 EXIST::FUNCTION:EC | ||
| 3331 | STORE_list_certificate_end 3734 EXIST::FUNCTION: | ||
| 3332 | STORE_get_crl 3735 EXIST::FUNCTION: | ||
| 3333 | X509_POLICY_NODE_print 3736 EXIST::FUNCTION: | ||
| 3334 | SHA384_Init 3737 EXIST::FUNCTION:SHA,SHA512 | ||
| 3335 | EC_GF2m_simple_method 3738 EXIST::FUNCTION:EC | ||
| 3336 | ECDSA_set_ex_data 3739 EXIST::FUNCTION:ECDSA | ||
| 3337 | SHA384_Final 3740 EXIST::FUNCTION:SHA,SHA512 | ||
| 3338 | PKCS7_set_digest 3741 EXIST::FUNCTION: | ||
| 3339 | EC_KEY_print 3742 EXIST::FUNCTION:BIO,EC | ||
| 3340 | STORE_method_set_lock_store_function 3743 EXIST:!VMS:FUNCTION: | ||
| 3341 | STORE_meth_set_lock_store_fn 3743 EXIST:VMS:FUNCTION: | ||
| 3342 | ECDSA_get_ex_new_index 3744 EXIST::FUNCTION:ECDSA | ||
| 3343 | SHA384 3745 EXIST::FUNCTION:SHA,SHA512 | ||
| 3344 | POLICY_MAPPING_new 3746 EXIST::FUNCTION: | ||
| 3345 | STORE_list_certificate_endp 3747 EXIST::FUNCTION: | ||
| 3346 | X509_STORE_CTX_get0_policy_tree 3748 EXIST::FUNCTION: | ||
| 3347 | EC_GROUP_set_asn1_flag 3749 EXIST::FUNCTION:EC | ||
| 3348 | EC_KEY_check_key 3750 EXIST::FUNCTION:EC | ||
| 3349 | d2i_EC_PUBKEY_fp 3751 EXIST::FUNCTION:EC,FP_API | ||
| 3350 | PKCS7_set0_type_other 3752 EXIST::FUNCTION: | ||
| 3351 | PEM_read_bio_X509_CERT_PAIR 3753 EXIST::FUNCTION: | ||
| 3352 | pqueue_next 3754 EXIST::FUNCTION: | ||
| 3353 | STORE_method_get_list_end_function 3755 EXIST:!VMS:FUNCTION: | ||
| 3354 | STORE_meth_get_list_end_fn 3755 EXIST:VMS:FUNCTION: | ||
| 3355 | EVP_PKEY_add1_attr_by_OBJ 3756 EXIST::FUNCTION: | ||
| 3356 | X509_VERIFY_PARAM_set_time 3757 EXIST::FUNCTION: | ||
| 3357 | pqueue_new 3758 EXIST::FUNCTION: | ||
| 3358 | ENGINE_set_default_ECDH 3759 EXIST::FUNCTION:ENGINE | ||
| 3359 | STORE_new_method 3760 EXIST::FUNCTION: | ||
| 3360 | PKCS12_add_key 3761 EXIST::FUNCTION: | ||
| 3361 | DSO_merge 3762 EXIST::FUNCTION: | ||
| 3362 | EC_POINT_hex2point 3763 EXIST::FUNCTION:EC | ||
| 3363 | BIO_dump_cb 3764 EXIST::FUNCTION: | ||
| 3364 | SHA256_Update 3765 EXIST::FUNCTION:SHA,SHA256 | ||
| 3365 | pqueue_insert 3766 EXIST::FUNCTION: | ||
| 3366 | pitem_free 3767 EXIST::FUNCTION: | ||
| 3367 | BN_GF2m_mod_inv_arr 3768 EXIST::FUNCTION: | ||
| 3368 | ENGINE_unregister_ECDSA 3769 EXIST::FUNCTION:ENGINE | ||
| 3369 | BN_BLINDING_set_thread_id 3770 EXIST::FUNCTION: | ||
| 3370 | get_rfc3526_prime_8192 3771 EXIST::FUNCTION: | ||
| 3371 | X509_VERIFY_PARAM_clear_flags 3772 EXIST::FUNCTION: | ||
| 3372 | get_rfc2409_prime_1024 3773 EXIST::FUNCTION: | ||
| 3373 | DH_check_pub_key 3774 EXIST::FUNCTION:DH | ||
| 3374 | get_rfc3526_prime_2048 3775 EXIST::FUNCTION: | ||
| 3375 | get_rfc3526_prime_6144 3776 EXIST::FUNCTION: | ||
| 3376 | get_rfc3526_prime_1536 3777 EXIST::FUNCTION: | ||
| 3377 | get_rfc3526_prime_3072 3778 EXIST::FUNCTION: | ||
| 3378 | get_rfc3526_prime_4096 3779 EXIST::FUNCTION: | ||
| 3379 | get_rfc2409_prime_768 3780 EXIST::FUNCTION: | ||
| 3380 | X509_VERIFY_PARAM_get_flags 3781 EXIST::FUNCTION: | ||
| 3381 | EVP_CIPHER_CTX_new 3782 EXIST::FUNCTION: | ||
| 3382 | EVP_CIPHER_CTX_free 3783 EXIST::FUNCTION: | ||
| 3383 | Camellia_cbc_encrypt 3784 EXIST::FUNCTION:CAMELLIA | ||
| 3384 | Camellia_cfb128_encrypt 3785 EXIST::FUNCTION:CAMELLIA | ||
| 3385 | Camellia_cfb1_encrypt 3786 EXIST::FUNCTION:CAMELLIA | ||
| 3386 | Camellia_cfb8_encrypt 3787 EXIST::FUNCTION:CAMELLIA | ||
| 3387 | Camellia_ctr128_encrypt 3788 EXIST::FUNCTION:CAMELLIA | ||
| 3388 | Camellia_cfbr_encrypt_block 3789 EXIST::FUNCTION:CAMELLIA | ||
| 3389 | Camellia_decrypt 3790 EXIST::FUNCTION:CAMELLIA | ||
| 3390 | Camellia_ecb_encrypt 3791 EXIST::FUNCTION:CAMELLIA | ||
| 3391 | Camellia_encrypt 3792 EXIST::FUNCTION:CAMELLIA | ||
| 3392 | Camellia_ofb128_encrypt 3793 EXIST::FUNCTION:CAMELLIA | ||
| 3393 | Camellia_set_key 3794 EXIST::FUNCTION:CAMELLIA | ||
| 3394 | EVP_camellia_128_cbc 3795 EXIST::FUNCTION:CAMELLIA | ||
| 3395 | EVP_camellia_128_cfb128 3796 EXIST::FUNCTION:CAMELLIA | ||
| 3396 | EVP_camellia_128_cfb1 3797 EXIST::FUNCTION:CAMELLIA | ||
| 3397 | EVP_camellia_128_cfb8 3798 EXIST::FUNCTION:CAMELLIA | ||
| 3398 | EVP_camellia_128_ecb 3799 EXIST::FUNCTION:CAMELLIA | ||
| 3399 | EVP_camellia_128_ofb 3800 EXIST::FUNCTION:CAMELLIA | ||
| 3400 | EVP_camellia_192_cbc 3801 EXIST::FUNCTION:CAMELLIA | ||
| 3401 | EVP_camellia_192_cfb128 3802 EXIST::FUNCTION:CAMELLIA | ||
| 3402 | EVP_camellia_192_cfb1 3803 EXIST::FUNCTION:CAMELLIA | ||
| 3403 | EVP_camellia_192_cfb8 3804 EXIST::FUNCTION:CAMELLIA | ||
| 3404 | EVP_camellia_192_ecb 3805 EXIST::FUNCTION:CAMELLIA | ||
| 3405 | EVP_camellia_192_ofb 3806 EXIST::FUNCTION:CAMELLIA | ||
| 3406 | EVP_camellia_256_cbc 3807 EXIST::FUNCTION:CAMELLIA | ||
| 3407 | EVP_camellia_256_cfb128 3808 EXIST::FUNCTION:CAMELLIA | ||
| 3408 | EVP_camellia_256_cfb1 3809 EXIST::FUNCTION:CAMELLIA | ||
| 3409 | EVP_camellia_256_cfb8 3810 EXIST::FUNCTION:CAMELLIA | ||
| 3410 | EVP_camellia_256_ecb 3811 EXIST::FUNCTION:CAMELLIA | ||
| 3411 | EVP_camellia_256_ofb 3812 EXIST::FUNCTION:CAMELLIA | ||
| 3412 | a2i_ipadd 3813 EXIST::FUNCTION: | ||
| 3413 | ASIdentifiers_free 3814 EXIST::FUNCTION:RFC3779 | ||
| 3414 | i2d_ASIdOrRange 3815 EXIST::FUNCTION:RFC3779 | ||
| 3415 | EVP_CIPHER_block_size 3816 EXIST::FUNCTION: | ||
| 3416 | v3_asid_is_canonical 3817 EXIST::FUNCTION:RFC3779 | ||
| 3417 | IPAddressChoice_free 3818 EXIST::FUNCTION:RFC3779 | ||
| 3418 | EVP_CIPHER_CTX_set_app_data 3819 EXIST::FUNCTION: | ||
| 3419 | BIO_set_callback_arg 3820 EXIST::FUNCTION: | ||
| 3420 | v3_addr_add_prefix 3821 EXIST::FUNCTION:RFC3779 | ||
| 3421 | IPAddressOrRange_it 3822 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 | ||
| 3422 | IPAddressOrRange_it 3822 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 | ||
| 3423 | BIO_set_flags 3823 EXIST::FUNCTION: | ||
| 3424 | ASIdentifiers_it 3824 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 | ||
| 3425 | ASIdentifiers_it 3824 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 | ||
| 3426 | v3_addr_get_range 3825 EXIST::FUNCTION:RFC3779 | ||
| 3427 | BIO_method_type 3826 EXIST::FUNCTION: | ||
| 3428 | v3_addr_inherits 3827 EXIST::FUNCTION:RFC3779 | ||
| 3429 | IPAddressChoice_it 3828 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 | ||
| 3430 | IPAddressChoice_it 3828 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 | ||
| 3431 | AES_ige_encrypt 3829 EXIST::FUNCTION:AES | ||
| 3432 | v3_addr_add_range 3830 EXIST::FUNCTION:RFC3779 | ||
| 3433 | EVP_CIPHER_CTX_nid 3831 EXIST::FUNCTION: | ||
| 3434 | d2i_ASRange 3832 EXIST::FUNCTION:RFC3779 | ||
| 3435 | v3_addr_add_inherit 3833 EXIST::FUNCTION:RFC3779 | ||
| 3436 | v3_asid_add_id_or_range 3834 EXIST::FUNCTION:RFC3779 | ||
| 3437 | v3_addr_validate_resource_set 3835 EXIST::FUNCTION:RFC3779 | ||
| 3438 | EVP_CIPHER_iv_length 3836 EXIST::FUNCTION: | ||
| 3439 | EVP_MD_type 3837 EXIST::FUNCTION: | ||
| 3440 | v3_asid_canonize 3838 EXIST::FUNCTION:RFC3779 | ||
| 3441 | IPAddressRange_free 3839 EXIST::FUNCTION:RFC3779 | ||
| 3442 | v3_asid_add_inherit 3840 EXIST::FUNCTION:RFC3779 | ||
| 3443 | EVP_CIPHER_CTX_key_length 3841 EXIST::FUNCTION: | ||
| 3444 | IPAddressRange_new 3842 EXIST::FUNCTION:RFC3779 | ||
| 3445 | ASIdOrRange_new 3843 EXIST::FUNCTION:RFC3779 | ||
| 3446 | EVP_MD_size 3844 EXIST::FUNCTION: | ||
| 3447 | EVP_MD_CTX_test_flags 3845 EXIST::FUNCTION: | ||
| 3448 | BIO_clear_flags 3846 EXIST::FUNCTION: | ||
| 3449 | i2d_ASRange 3847 EXIST::FUNCTION:RFC3779 | ||
| 3450 | IPAddressRange_it 3848 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 | ||
| 3451 | IPAddressRange_it 3848 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 | ||
| 3452 | IPAddressChoice_new 3849 EXIST::FUNCTION:RFC3779 | ||
| 3453 | ASIdentifierChoice_new 3850 EXIST::FUNCTION:RFC3779 | ||
| 3454 | ASRange_free 3851 EXIST::FUNCTION:RFC3779 | ||
| 3455 | EVP_MD_pkey_type 3852 EXIST::FUNCTION: | ||
| 3456 | EVP_MD_CTX_clear_flags 3853 EXIST::FUNCTION: | ||
| 3457 | IPAddressFamily_free 3854 EXIST::FUNCTION:RFC3779 | ||
| 3458 | i2d_IPAddressFamily 3855 EXIST::FUNCTION:RFC3779 | ||
| 3459 | IPAddressOrRange_new 3856 EXIST::FUNCTION:RFC3779 | ||
| 3460 | EVP_CIPHER_flags 3857 EXIST::FUNCTION: | ||
| 3461 | v3_asid_validate_resource_set 3858 EXIST::FUNCTION:RFC3779 | ||
| 3462 | d2i_IPAddressRange 3859 EXIST::FUNCTION:RFC3779 | ||
| 3463 | AES_bi_ige_encrypt 3860 EXIST::FUNCTION:AES | ||
| 3464 | BIO_get_callback 3861 EXIST::FUNCTION: | ||
| 3465 | IPAddressOrRange_free 3862 EXIST::FUNCTION:RFC3779 | ||
| 3466 | v3_addr_subset 3863 EXIST::FUNCTION:RFC3779 | ||
| 3467 | d2i_IPAddressFamily 3864 EXIST::FUNCTION:RFC3779 | ||
| 3468 | v3_asid_subset 3865 EXIST::FUNCTION:RFC3779 | ||
| 3469 | BIO_test_flags 3866 EXIST::FUNCTION: | ||
| 3470 | i2d_ASIdentifierChoice 3867 EXIST::FUNCTION:RFC3779 | ||
| 3471 | ASRange_it 3868 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 | ||
| 3472 | ASRange_it 3868 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 | ||
| 3473 | d2i_ASIdentifiers 3869 EXIST::FUNCTION:RFC3779 | ||
| 3474 | ASRange_new 3870 EXIST::FUNCTION:RFC3779 | ||
| 3475 | d2i_IPAddressChoice 3871 EXIST::FUNCTION:RFC3779 | ||
| 3476 | v3_addr_get_afi 3872 EXIST::FUNCTION:RFC3779 | ||
| 3477 | EVP_CIPHER_key_length 3873 EXIST::FUNCTION: | ||
| 3478 | EVP_Cipher 3874 EXIST::FUNCTION: | ||
| 3479 | i2d_IPAddressOrRange 3875 EXIST::FUNCTION:RFC3779 | ||
| 3480 | ASIdOrRange_it 3876 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 | ||
| 3481 | ASIdOrRange_it 3876 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 | ||
| 3482 | EVP_CIPHER_nid 3877 EXIST::FUNCTION: | ||
| 3483 | i2d_IPAddressChoice 3878 EXIST::FUNCTION:RFC3779 | ||
| 3484 | EVP_CIPHER_CTX_block_size 3879 EXIST::FUNCTION: | ||
| 3485 | ASIdentifiers_new 3880 EXIST::FUNCTION:RFC3779 | ||
| 3486 | v3_addr_validate_path 3881 EXIST::FUNCTION:RFC3779 | ||
| 3487 | IPAddressFamily_new 3882 EXIST::FUNCTION:RFC3779 | ||
| 3488 | EVP_MD_CTX_set_flags 3883 EXIST::FUNCTION: | ||
| 3489 | v3_addr_is_canonical 3884 EXIST::FUNCTION:RFC3779 | ||
| 3490 | i2d_IPAddressRange 3885 EXIST::FUNCTION:RFC3779 | ||
| 3491 | IPAddressFamily_it 3886 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 | ||
| 3492 | IPAddressFamily_it 3886 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 | ||
| 3493 | v3_asid_inherits 3887 EXIST::FUNCTION:RFC3779 | ||
| 3494 | EVP_CIPHER_CTX_cipher 3888 EXIST::FUNCTION: | ||
| 3495 | EVP_CIPHER_CTX_get_app_data 3889 EXIST::FUNCTION: | ||
| 3496 | EVP_MD_block_size 3890 EXIST::FUNCTION: | ||
| 3497 | EVP_CIPHER_CTX_flags 3891 EXIST::FUNCTION: | ||
| 3498 | v3_asid_validate_path 3892 EXIST::FUNCTION:RFC3779 | ||
| 3499 | d2i_IPAddressOrRange 3893 EXIST::FUNCTION:RFC3779 | ||
| 3500 | v3_addr_canonize 3894 EXIST::FUNCTION:RFC3779 | ||
| 3501 | ASIdentifierChoice_it 3895 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779 | ||
| 3502 | ASIdentifierChoice_it 3895 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779 | ||
| 3503 | EVP_MD_CTX_md 3896 EXIST::FUNCTION: | ||
| 3504 | d2i_ASIdentifierChoice 3897 EXIST::FUNCTION:RFC3779 | ||
| 3505 | BIO_method_name 3898 EXIST::FUNCTION: | ||
| 3506 | EVP_CIPHER_CTX_iv_length 3899 EXIST::FUNCTION: | ||
| 3507 | ASIdOrRange_free 3900 EXIST::FUNCTION:RFC3779 | ||
| 3508 | ASIdentifierChoice_free 3901 EXIST::FUNCTION:RFC3779 | ||
| 3509 | BIO_get_callback_arg 3902 EXIST::FUNCTION: | ||
| 3510 | BIO_set_callback 3903 EXIST::FUNCTION: | ||
| 3511 | d2i_ASIdOrRange 3904 EXIST::FUNCTION:RFC3779 | ||
| 3512 | i2d_ASIdentifiers 3905 EXIST::FUNCTION:RFC3779 | ||
| 3513 | SEED_decrypt 3908 EXIST::FUNCTION:SEED | ||
| 3514 | SEED_encrypt 3909 EXIST::FUNCTION:SEED | ||
| 3515 | SEED_cbc_encrypt 3910 EXIST::FUNCTION:SEED | ||
| 3516 | EVP_seed_ofb 3911 EXIST::FUNCTION:SEED | ||
| 3517 | SEED_cfb128_encrypt 3912 EXIST::FUNCTION:SEED | ||
| 3518 | SEED_ofb128_encrypt 3913 EXIST::FUNCTION:SEED | ||
| 3519 | EVP_seed_cbc 3914 EXIST::FUNCTION:SEED | ||
| 3520 | SEED_ecb_encrypt 3915 EXIST::FUNCTION:SEED | ||
| 3521 | EVP_seed_ecb 3916 EXIST::FUNCTION:SEED | ||
| 3522 | SEED_set_key 3917 EXIST::FUNCTION:SEED | ||
| 3523 | EVP_seed_cfb128 3918 EXIST::FUNCTION:SEED | ||
| 3524 | X509_EXTENSIONS_it 3919 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 3525 | X509_EXTENSIONS_it 3919 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 3526 | X509_get1_ocsp 3920 EXIST::FUNCTION: | ||
| 3527 | OCSP_REQ_CTX_free 3921 EXIST::FUNCTION: | ||
| 3528 | i2d_X509_EXTENSIONS 3922 EXIST::FUNCTION: | ||
| 3529 | OCSP_sendreq_nbio 3923 EXIST::FUNCTION: | ||
| 3530 | OCSP_sendreq_new 3924 EXIST::FUNCTION: | ||
| 3531 | d2i_X509_EXTENSIONS 3925 EXIST::FUNCTION: | ||
| 3532 | X509_ALGORS_it 3926 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: | ||
| 3533 | X509_ALGORS_it 3926 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: | ||
| 3534 | X509_ALGOR_get0 3927 EXIST::FUNCTION: | ||
| 3535 | X509_ALGOR_set0 3928 EXIST::FUNCTION: | ||
| 3536 | AES_unwrap_key 3929 EXIST::FUNCTION:AES | ||
| 3537 | AES_wrap_key 3930 EXIST::FUNCTION:AES | ||
| 3538 | X509at_get0_data_by_OBJ 3931 EXIST::FUNCTION: | ||
| 3539 | ASN1_TYPE_set1 3932 EXIST::FUNCTION: | ||
| 3540 | ASN1_STRING_set0 3933 EXIST::FUNCTION: | ||
| 3541 | i2d_X509_ALGORS 3934 EXIST::FUNCTION: | ||
| 3542 | BIO_f_zlib 3935 EXIST:ZLIB:FUNCTION: | ||
| 3543 | COMP_zlib_cleanup 3936 EXIST::FUNCTION: | ||
| 3544 | d2i_X509_ALGORS 3937 EXIST::FUNCTION: | ||
| 3545 | CMS_ReceiptRequest_free 3938 EXIST::FUNCTION:CMS | ||
| 3546 | PEM_write_CMS 3939 EXIST:!WIN16:FUNCTION:CMS | ||
| 3547 | CMS_add0_CertificateChoices 3940 EXIST::FUNCTION:CMS | ||
| 3548 | CMS_unsigned_add1_attr_by_OBJ 3941 EXIST::FUNCTION:CMS | ||
| 3549 | ERR_load_CMS_strings 3942 EXIST::FUNCTION:CMS | ||
| 3550 | CMS_sign_receipt 3943 EXIST::FUNCTION:CMS | ||
| 3551 | i2d_CMS_ContentInfo 3944 EXIST::FUNCTION:CMS | ||
| 3552 | CMS_signed_delete_attr 3945 EXIST::FUNCTION:CMS | ||
| 3553 | d2i_CMS_bio 3946 EXIST::FUNCTION:CMS | ||
| 3554 | CMS_unsigned_get_attr_by_NID 3947 EXIST::FUNCTION:CMS | ||
| 3555 | CMS_verify 3948 EXIST::FUNCTION:CMS | ||
| 3556 | SMIME_read_CMS 3949 EXIST::FUNCTION:CMS | ||
| 3557 | CMS_decrypt_set1_key 3950 EXIST::FUNCTION:CMS | ||
| 3558 | CMS_SignerInfo_get0_algs 3951 EXIST::FUNCTION:CMS | ||
| 3559 | CMS_add1_cert 3952 EXIST::FUNCTION:CMS | ||
| 3560 | CMS_set_detached 3953 EXIST::FUNCTION:CMS | ||
| 3561 | CMS_encrypt 3954 EXIST::FUNCTION:CMS | ||
| 3562 | CMS_EnvelopedData_create 3955 EXIST::FUNCTION:CMS | ||
| 3563 | CMS_uncompress 3956 EXIST::FUNCTION:CMS | ||
| 3564 | CMS_add0_crl 3957 EXIST::FUNCTION:CMS | ||
| 3565 | CMS_SignerInfo_verify_content 3958 EXIST::FUNCTION:CMS | ||
| 3566 | CMS_unsigned_get0_data_by_OBJ 3959 EXIST::FUNCTION:CMS | ||
| 3567 | PEM_write_bio_CMS 3960 EXIST::FUNCTION:CMS | ||
| 3568 | CMS_unsigned_get_attr 3961 EXIST::FUNCTION:CMS | ||
| 3569 | CMS_RecipientInfo_ktri_cert_cmp 3962 EXIST::FUNCTION:CMS | ||
| 3570 | CMS_RecipientInfo_ktri_get0_algs 3963 EXIST:!VMS:FUNCTION:CMS | ||
| 3571 | CMS_RecipInfo_ktri_get0_algs 3963 EXIST:VMS:FUNCTION:CMS | ||
| 3572 | CMS_ContentInfo_free 3964 EXIST::FUNCTION:CMS | ||
| 3573 | CMS_final 3965 EXIST::FUNCTION:CMS | ||
| 3574 | CMS_add_simple_smimecap 3966 EXIST::FUNCTION:CMS | ||
| 3575 | CMS_SignerInfo_verify 3967 EXIST::FUNCTION:CMS | ||
| 3576 | CMS_data 3968 EXIST::FUNCTION:CMS | ||
| 3577 | CMS_ContentInfo_it 3969 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMS | ||
| 3578 | CMS_ContentInfo_it 3969 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMS | ||
| 3579 | d2i_CMS_ReceiptRequest 3970 EXIST::FUNCTION:CMS | ||
| 3580 | CMS_compress 3971 EXIST::FUNCTION:CMS | ||
| 3581 | CMS_digest_create 3972 EXIST::FUNCTION:CMS | ||
| 3582 | CMS_SignerInfo_cert_cmp 3973 EXIST::FUNCTION:CMS | ||
| 3583 | CMS_SignerInfo_sign 3974 EXIST::FUNCTION:CMS | ||
| 3584 | CMS_data_create 3975 EXIST::FUNCTION:CMS | ||
| 3585 | i2d_CMS_bio 3976 EXIST::FUNCTION:CMS | ||
| 3586 | CMS_EncryptedData_set1_key 3977 EXIST::FUNCTION:CMS | ||
| 3587 | CMS_decrypt 3978 EXIST::FUNCTION:CMS | ||
| 3588 | int_smime_write_ASN1 3979 EXIST::FUNCTION: | ||
| 3589 | CMS_unsigned_delete_attr 3980 EXIST::FUNCTION:CMS | ||
| 3590 | CMS_unsigned_get_attr_count 3981 EXIST::FUNCTION:CMS | ||
| 3591 | CMS_add_smimecap 3982 EXIST::FUNCTION:CMS | ||
| 3592 | PEM_read_CMS 3983 EXIST:!WIN16:FUNCTION:CMS | ||
| 3593 | CMS_signed_get_attr_by_OBJ 3984 EXIST::FUNCTION:CMS | ||
| 3594 | d2i_CMS_ContentInfo 3985 EXIST::FUNCTION:CMS | ||
| 3595 | CMS_add_standard_smimecap 3986 EXIST::FUNCTION:CMS | ||
| 3596 | CMS_ContentInfo_new 3987 EXIST::FUNCTION:CMS | ||
| 3597 | CMS_RecipientInfo_type 3988 EXIST::FUNCTION:CMS | ||
| 3598 | CMS_get0_type 3989 EXIST::FUNCTION:CMS | ||
| 3599 | CMS_is_detached 3990 EXIST::FUNCTION:CMS | ||
| 3600 | CMS_sign 3991 EXIST::FUNCTION:CMS | ||
| 3601 | CMS_signed_add1_attr 3992 EXIST::FUNCTION:CMS | ||
| 3602 | CMS_unsigned_get_attr_by_OBJ 3993 EXIST::FUNCTION:CMS | ||
| 3603 | SMIME_write_CMS 3994 EXIST::FUNCTION:CMS | ||
| 3604 | CMS_EncryptedData_decrypt 3995 EXIST::FUNCTION:CMS | ||
| 3605 | CMS_get0_RecipientInfos 3996 EXIST::FUNCTION:CMS | ||
| 3606 | CMS_add0_RevocationInfoChoice 3997 EXIST::FUNCTION:CMS | ||
| 3607 | CMS_decrypt_set1_pkey 3998 EXIST::FUNCTION:CMS | ||
| 3608 | CMS_SignerInfo_set1_signer_cert 3999 EXIST::FUNCTION:CMS | ||
| 3609 | CMS_get0_signers 4000 EXIST::FUNCTION:CMS | ||
| 3610 | CMS_ReceiptRequest_get0_values 4001 EXIST::FUNCTION:CMS | ||
| 3611 | CMS_signed_get0_data_by_OBJ 4002 EXIST::FUNCTION:CMS | ||
| 3612 | CMS_get0_SignerInfos 4003 EXIST::FUNCTION:CMS | ||
| 3613 | CMS_add0_cert 4004 EXIST::FUNCTION:CMS | ||
| 3614 | CMS_EncryptedData_encrypt 4005 EXIST::FUNCTION:CMS | ||
| 3615 | CMS_digest_verify 4006 EXIST::FUNCTION:CMS | ||
| 3616 | CMS_set1_signers_certs 4007 EXIST::FUNCTION:CMS | ||
| 3617 | CMS_signed_get_attr 4008 EXIST::FUNCTION:CMS | ||
| 3618 | CMS_RecipientInfo_set0_key 4009 EXIST::FUNCTION:CMS | ||
| 3619 | CMS_SignedData_init 4010 EXIST::FUNCTION:CMS | ||
| 3620 | CMS_RecipientInfo_kekri_get0_id 4011 EXIST::FUNCTION:CMS | ||
| 3621 | CMS_verify_receipt 4012 EXIST::FUNCTION:CMS | ||
| 3622 | CMS_ReceiptRequest_it 4013 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:CMS | ||
| 3623 | CMS_ReceiptRequest_it 4013 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:CMS | ||
| 3624 | PEM_read_bio_CMS 4014 EXIST::FUNCTION:CMS | ||
| 3625 | CMS_get1_crls 4015 EXIST::FUNCTION:CMS | ||
| 3626 | CMS_add0_recipient_key 4016 EXIST::FUNCTION:CMS | ||
| 3627 | SMIME_read_ASN1 4017 EXIST::FUNCTION: | ||
| 3628 | CMS_ReceiptRequest_new 4018 EXIST::FUNCTION:CMS | ||
| 3629 | CMS_get0_content 4019 EXIST::FUNCTION:CMS | ||
| 3630 | CMS_get1_ReceiptRequest 4020 EXIST::FUNCTION:CMS | ||
| 3631 | CMS_signed_add1_attr_by_OBJ 4021 EXIST::FUNCTION:CMS | ||
| 3632 | CMS_RecipientInfo_kekri_id_cmp 4022 EXIST::FUNCTION:CMS | ||
| 3633 | CMS_add1_ReceiptRequest 4023 EXIST::FUNCTION:CMS | ||
| 3634 | CMS_SignerInfo_get0_signer_id 4024 EXIST::FUNCTION:CMS | ||
| 3635 | CMS_unsigned_add1_attr_by_NID 4025 EXIST::FUNCTION:CMS | ||
| 3636 | CMS_unsigned_add1_attr 4026 EXIST::FUNCTION:CMS | ||
| 3637 | CMS_signed_get_attr_by_NID 4027 EXIST::FUNCTION:CMS | ||
| 3638 | CMS_get1_certs 4028 EXIST::FUNCTION:CMS | ||
| 3639 | CMS_signed_add1_attr_by_NID 4029 EXIST::FUNCTION:CMS | ||
| 3640 | CMS_unsigned_add1_attr_by_txt 4030 EXIST::FUNCTION:CMS | ||
| 3641 | CMS_dataFinal 4031 EXIST::FUNCTION:CMS | ||
| 3642 | CMS_RecipientInfo_ktri_get0_signer_id 4032 EXIST:!VMS:FUNCTION:CMS | ||
| 3643 | CMS_RecipInfo_ktri_get0_sigr_id 4032 EXIST:VMS:FUNCTION:CMS | ||
| 3644 | i2d_CMS_ReceiptRequest 4033 EXIST::FUNCTION:CMS | ||
| 3645 | CMS_add1_recipient_cert 4034 EXIST::FUNCTION:CMS | ||
| 3646 | CMS_dataInit 4035 EXIST::FUNCTION:CMS | ||
| 3647 | CMS_signed_add1_attr_by_txt 4036 EXIST::FUNCTION:CMS | ||
| 3648 | CMS_RecipientInfo_decrypt 4037 EXIST::FUNCTION:CMS | ||
| 3649 | CMS_signed_get_attr_count 4038 EXIST::FUNCTION:CMS | ||
| 3650 | CMS_get0_eContentType 4039 EXIST::FUNCTION:CMS | ||
| 3651 | CMS_set1_eContentType 4040 EXIST::FUNCTION:CMS | ||
| 3652 | CMS_ReceiptRequest_create0 4041 EXIST::FUNCTION:CMS | ||
| 3653 | CMS_add1_signer 4042 EXIST::FUNCTION:CMS | ||
| 3654 | CMS_RecipientInfo_set0_pkey 4043 EXIST::FUNCTION:CMS | ||
| 3655 | ENGINE_set_load_ssl_client_cert_function 4044 EXIST::FUNCTION:ENGINE | ||
| 3656 | ENGINE_get_ssl_client_cert_function 4045 EXIST::FUNCTION:ENGINE | ||
| 3657 | ENGINE_load_ssl_client_cert 4046 EXIST::FUNCTION:ENGINE | ||
| 3658 | ENGINE_load_capi 4047 EXIST::FUNCTION:CAPIENG,ENGINE | ||
| 3659 | OPENSSL_isservice 4048 EXIST::FUNCTION: | ||
| 3660 | FIPS_dsa_sig_decode 4049 NOEXIST::FUNCTION: | ||
| 3661 | EVP_CIPHER_CTX_clear_flags 4050 NOEXIST::FUNCTION: | ||
| 3662 | FIPS_rand_status 4051 NOEXIST::FUNCTION: | ||
| 3663 | FIPS_rand_set_key 4052 NOEXIST::FUNCTION: | ||
| 3664 | CRYPTO_set_mem_info_functions 4053 NOEXIST::FUNCTION: | ||
| 3665 | RSA_X931_generate_key_ex 4054 NOEXIST::FUNCTION: | ||
| 3666 | int_ERR_set_state_func 4055 NOEXIST::FUNCTION: | ||
| 3667 | int_EVP_MD_set_engine_callbacks 4056 NOEXIST::FUNCTION: | ||
| 3668 | int_CRYPTO_set_do_dynlock_callback 4057 NOEXIST::FUNCTION: | ||
| 3669 | FIPS_rng_stick 4058 NOEXIST::FUNCTION: | ||
| 3670 | EVP_CIPHER_CTX_set_flags 4059 NOEXIST::FUNCTION: | ||
| 3671 | BN_X931_generate_prime_ex 4060 NOEXIST::FUNCTION: | ||
| 3672 | FIPS_selftest_check 4061 NOEXIST::FUNCTION: | ||
| 3673 | FIPS_rand_set_dt 4062 NOEXIST::FUNCTION: | ||
| 3674 | CRYPTO_dbg_pop_info 4063 NOEXIST::FUNCTION: | ||
| 3675 | FIPS_dsa_free 4064 NOEXIST::FUNCTION: | ||
| 3676 | RSA_X931_derive_ex 4065 NOEXIST::FUNCTION: | ||
| 3677 | FIPS_rsa_new 4066 NOEXIST::FUNCTION: | ||
| 3678 | FIPS_rand_bytes 4067 NOEXIST::FUNCTION: | ||
| 3679 | fips_cipher_test 4068 NOEXIST::FUNCTION: | ||
| 3680 | EVP_CIPHER_CTX_test_flags 4069 NOEXIST::FUNCTION: | ||
| 3681 | CRYPTO_malloc_debug_init 4070 NOEXIST::FUNCTION: | ||
| 3682 | CRYPTO_dbg_push_info 4071 NOEXIST::FUNCTION: | ||
| 3683 | FIPS_corrupt_rsa_keygen 4072 NOEXIST::FUNCTION: | ||
| 3684 | FIPS_dh_new 4073 NOEXIST::FUNCTION: | ||
| 3685 | FIPS_corrupt_dsa_keygen 4074 NOEXIST::FUNCTION: | ||
| 3686 | FIPS_dh_free 4075 NOEXIST::FUNCTION: | ||
| 3687 | fips_pkey_signature_test 4076 NOEXIST::FUNCTION: | ||
| 3688 | EVP_add_alg_module 4077 NOEXIST::FUNCTION: | ||
| 3689 | int_RAND_init_engine_callbacks 4078 NOEXIST::FUNCTION: | ||
| 3690 | int_EVP_CIPHER_set_engine_callbacks 4079 NOEXIST::FUNCTION: | ||
| 3691 | int_EVP_MD_init_engine_callbacks 4080 NOEXIST::FUNCTION: | ||
| 3692 | FIPS_rand_test_mode 4081 NOEXIST::FUNCTION: | ||
| 3693 | FIPS_rand_reset 4082 NOEXIST::FUNCTION: | ||
| 3694 | FIPS_dsa_new 4083 NOEXIST::FUNCTION: | ||
| 3695 | int_RAND_set_callbacks 4084 NOEXIST::FUNCTION: | ||
| 3696 | BN_X931_derive_prime_ex 4085 NOEXIST::FUNCTION: | ||
| 3697 | int_ERR_lib_init 4086 NOEXIST::FUNCTION: | ||
| 3698 | int_EVP_CIPHER_init_engine_callbacks 4087 NOEXIST::FUNCTION: | ||
| 3699 | FIPS_rsa_free 4088 NOEXIST::FUNCTION: | ||
| 3700 | FIPS_dsa_sig_encode 4089 NOEXIST::FUNCTION: | ||
| 3701 | CRYPTO_dbg_remove_all_info 4090 NOEXIST::FUNCTION: | ||
| 3702 | OPENSSL_init 4091 NOEXIST::FUNCTION: | ||
diff --git a/src/lib/libcrypto/util/mk1mf.pl b/src/lib/libcrypto/util/mk1mf.pl new file mode 100644 index 0000000000..7ba804ce33 --- /dev/null +++ b/src/lib/libcrypto/util/mk1mf.pl | |||
| @@ -0,0 +1,1111 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # A bit of an evil hack but it post processes the file ../MINFO which | ||
| 3 | # is generated by `make files` in the top directory. | ||
| 4 | # This script outputs one mega makefile that has no shell stuff or any | ||
| 5 | # funny stuff | ||
| 6 | # | ||
| 7 | |||
| 8 | $INSTALLTOP="/usr/local/ssl"; | ||
| 9 | $OPTIONS=""; | ||
| 10 | $ssl_version=""; | ||
| 11 | $banner="\t\@echo Building OpenSSL"; | ||
| 12 | |||
| 13 | my $no_static_engine = 0; | ||
| 14 | my $engines = ""; | ||
| 15 | local $zlib_opt = 0; # 0 = no zlib, 1 = static, 2 = dynamic | ||
| 16 | local $zlib_lib = ""; | ||
| 17 | |||
| 18 | |||
| 19 | open(IN,"<Makefile") || die "unable to open Makefile!\n"; | ||
| 20 | while(<IN>) { | ||
| 21 | $ssl_version=$1 if (/^VERSION=(.*)$/); | ||
| 22 | $OPTIONS=$1 if (/^OPTIONS=(.*)$/); | ||
| 23 | $INSTALLTOP=$1 if (/^INSTALLTOP=(.*$)/); | ||
| 24 | } | ||
| 25 | close(IN); | ||
| 26 | |||
| 27 | die "Makefile is not the toplevel Makefile!\n" if $ssl_version eq ""; | ||
| 28 | |||
| 29 | $infile="MINFO"; | ||
| 30 | |||
| 31 | %ops=( | ||
| 32 | "VC-WIN32", "Microsoft Visual C++ [4-6] - Windows NT or 9X", | ||
| 33 | "VC-WIN64I", "Microsoft C/C++ - Win64/IA-64", | ||
| 34 | "VC-WIN64A", "Microsoft C/C++ - Win64/x64", | ||
| 35 | "VC-CE", "Microsoft eMbedded Visual C++ 3.0 - Windows CE ONLY", | ||
| 36 | "VC-NT", "Microsoft Visual C++ [4-6] - Windows NT ONLY", | ||
| 37 | "Mingw32", "GNU C++ - Windows NT or 9x", | ||
| 38 | "Mingw32-files", "Create files with DOS copy ...", | ||
| 39 | "BC-NT", "Borland C++ 4.5 - Windows NT", | ||
| 40 | "linux-elf","Linux elf", | ||
| 41 | "ultrix-mips","DEC mips ultrix", | ||
| 42 | "FreeBSD","FreeBSD distribution", | ||
| 43 | "OS2-EMX", "EMX GCC OS/2", | ||
| 44 | "netware-clib", "CodeWarrior for NetWare - CLib - with WinSock Sockets", | ||
| 45 | "netware-clib-bsdsock", "CodeWarrior for NetWare - CLib - with BSD Sockets", | ||
| 46 | "netware-libc", "CodeWarrior for NetWare - LibC - with WinSock Sockets", | ||
| 47 | "netware-libc-bsdsock", "CodeWarrior for NetWare - LibC - with BSD Sockets", | ||
| 48 | "default","cc under unix", | ||
| 49 | ); | ||
| 50 | |||
| 51 | $platform=""; | ||
| 52 | my $xcflags=""; | ||
| 53 | foreach (@ARGV) | ||
| 54 | { | ||
| 55 | if (!&read_options && !defined($ops{$_})) | ||
| 56 | { | ||
| 57 | print STDERR "unknown option - $_\n"; | ||
| 58 | print STDERR "usage: perl mk1mf.pl [options] [system]\n"; | ||
| 59 | print STDERR "\nwhere [system] can be one of the following\n"; | ||
| 60 | foreach $i (sort keys %ops) | ||
| 61 | { printf STDERR "\t%-10s\t%s\n",$i,$ops{$i}; } | ||
| 62 | print STDERR <<"EOF"; | ||
| 63 | and [options] can be one of | ||
| 64 | no-md2 no-md4 no-md5 no-sha no-mdc2 - Skip this digest | ||
| 65 | no-ripemd | ||
| 66 | no-rc2 no-rc4 no-rc5 no-idea no-des - Skip this symetric cipher | ||
| 67 | no-bf no-cast no-aes no-camellia no-seed | ||
| 68 | no-rsa no-dsa no-dh - Skip this public key cipher | ||
| 69 | no-ssl2 no-ssl3 - Skip this version of SSL | ||
| 70 | just-ssl - remove all non-ssl keys/digest | ||
| 71 | no-asm - No x86 asm | ||
| 72 | no-krb5 - No KRB5 | ||
| 73 | no-ec - No EC | ||
| 74 | no-ecdsa - No ECDSA | ||
| 75 | no-ecdh - No ECDH | ||
| 76 | no-engine - No engine | ||
| 77 | no-hw - No hw | ||
| 78 | nasm - Use NASM for x86 asm | ||
| 79 | nw-nasm - Use NASM x86 asm for NetWare | ||
| 80 | nw-mwasm - Use Metrowerks x86 asm for NetWare | ||
| 81 | gaswin - Use GNU as with Mingw32 | ||
| 82 | no-socks - No socket code | ||
| 83 | no-err - No error strings | ||
| 84 | dll/shlib - Build shared libraries (MS) | ||
| 85 | debug - Debug build | ||
| 86 | profile - Profiling build | ||
| 87 | gcc - Use Gcc (unix) | ||
| 88 | |||
| 89 | Values that can be set | ||
| 90 | TMP=tmpdir OUT=outdir SRC=srcdir BIN=binpath INC=header-outdir CC=C-compiler | ||
| 91 | |||
| 92 | -L<ex_lib_path> -l<ex_lib> - extra library flags (unix) | ||
| 93 | -<ex_cc_flags> - extra 'cc' flags, | ||
| 94 | added (MS), or replace (unix) | ||
| 95 | EOF | ||
| 96 | exit(1); | ||
| 97 | } | ||
| 98 | $platform=$_; | ||
| 99 | } | ||
| 100 | foreach (grep(!/^$/, split(/ /, $OPTIONS))) | ||
| 101 | { | ||
| 102 | print STDERR "unknown option - $_\n" if !&read_options; | ||
| 103 | } | ||
| 104 | |||
| 105 | $no_static_engine = 0 if (!$shlib); | ||
| 106 | |||
| 107 | $no_mdc2=1 if ($no_des); | ||
| 108 | |||
| 109 | $no_ssl3=1 if ($no_md5 || $no_sha); | ||
| 110 | $no_ssl3=1 if ($no_rsa && $no_dh); | ||
| 111 | |||
| 112 | $no_ssl2=1 if ($no_md5); | ||
| 113 | $no_ssl2=1 if ($no_rsa); | ||
| 114 | |||
| 115 | $out_def="out"; | ||
| 116 | $inc_def="outinc"; | ||
| 117 | $tmp_def="tmp"; | ||
| 118 | |||
| 119 | $perl="perl" unless defined $perl; | ||
| 120 | $mkdir="-mkdir" unless defined $mkdir; | ||
| 121 | |||
| 122 | ($ssl,$crypto)=("ssl","crypto"); | ||
| 123 | $ranlib="echo ranlib"; | ||
| 124 | |||
| 125 | $cc=(defined($VARS{'CC'}))?$VARS{'CC'}:'cc'; | ||
| 126 | $src_dir=(defined($VARS{'SRC'}))?$VARS{'SRC'}:'.'; | ||
| 127 | $bin_dir=(defined($VARS{'BIN'}))?$VARS{'BIN'}:''; | ||
| 128 | |||
| 129 | # $bin_dir.=$o causes a core dump on my sparc :-( | ||
| 130 | |||
| 131 | |||
| 132 | $NT=0; | ||
| 133 | |||
| 134 | push(@INC,"util/pl","pl"); | ||
| 135 | if (($platform =~ /VC-(.+)/)) | ||
| 136 | { | ||
| 137 | $FLAVOR=$1; | ||
| 138 | $NT = 1 if $1 eq "NT"; | ||
| 139 | require 'VC-32.pl'; | ||
| 140 | } | ||
| 141 | elsif ($platform eq "Mingw32") | ||
| 142 | { | ||
| 143 | require 'Mingw32.pl'; | ||
| 144 | } | ||
| 145 | elsif ($platform eq "Mingw32-files") | ||
| 146 | { | ||
| 147 | require 'Mingw32f.pl'; | ||
| 148 | } | ||
| 149 | elsif ($platform eq "BC-NT") | ||
| 150 | { | ||
| 151 | $bc=1; | ||
| 152 | require 'BC-32.pl'; | ||
| 153 | } | ||
| 154 | elsif ($platform eq "FreeBSD") | ||
| 155 | { | ||
| 156 | require 'unix.pl'; | ||
| 157 | $cflags='-DTERMIO -D_ANSI_SOURCE -O2 -fomit-frame-pointer'; | ||
| 158 | } | ||
| 159 | elsif ($platform eq "linux-elf") | ||
| 160 | { | ||
| 161 | require "unix.pl"; | ||
| 162 | require "linux.pl"; | ||
| 163 | $unix=1; | ||
| 164 | } | ||
| 165 | elsif ($platform eq "ultrix-mips") | ||
| 166 | { | ||
| 167 | require "unix.pl"; | ||
| 168 | require "ultrix.pl"; | ||
| 169 | $unix=1; | ||
| 170 | } | ||
| 171 | elsif ($platform eq "OS2-EMX") | ||
| 172 | { | ||
| 173 | $wc=1; | ||
| 174 | require 'OS2-EMX.pl'; | ||
| 175 | } | ||
| 176 | elsif (($platform eq "netware-clib") || ($platform eq "netware-libc") || | ||
| 177 | ($platform eq "netware-clib-bsdsock") || ($platform eq "netware-libc-bsdsock")) | ||
| 178 | { | ||
| 179 | $LIBC=1 if $platform eq "netware-libc" || $platform eq "netware-libc-bsdsock"; | ||
| 180 | $BSDSOCK=1 if ($platform eq "netware-libc-bsdsock") || ($platform eq "netware-clib-bsdsock"); | ||
| 181 | require 'netware.pl'; | ||
| 182 | } | ||
| 183 | else | ||
| 184 | { | ||
| 185 | require "unix.pl"; | ||
| 186 | |||
| 187 | $unix=1; | ||
| 188 | $cflags.=' -DTERMIO'; | ||
| 189 | } | ||
| 190 | |||
| 191 | $out_dir=(defined($VARS{'OUT'}))?$VARS{'OUT'}:$out_def.($debug?".dbg":""); | ||
| 192 | $tmp_dir=(defined($VARS{'TMP'}))?$VARS{'TMP'}:$tmp_def.($debug?".dbg":""); | ||
| 193 | $inc_dir=(defined($VARS{'INC'}))?$VARS{'INC'}:$inc_def; | ||
| 194 | |||
| 195 | $bin_dir=$bin_dir.$o unless ((substr($bin_dir,-1,1) eq $o) || ($bin_dir eq '')); | ||
| 196 | |||
| 197 | $cflags= "$xcflags$cflags" if $xcflags ne ""; | ||
| 198 | |||
| 199 | $cflags.=" -DOPENSSL_NO_IDEA" if $no_idea; | ||
| 200 | $cflags.=" -DOPENSSL_NO_AES" if $no_aes; | ||
| 201 | $cflags.=" -DOPENSSL_NO_CAMELLIA" if $no_camellia; | ||
| 202 | $cflags.=" -DOPENSSL_NO_SEED" if $no_seed; | ||
| 203 | $cflags.=" -DOPENSSL_NO_RC2" if $no_rc2; | ||
| 204 | $cflags.=" -DOPENSSL_NO_RC4" if $no_rc4; | ||
| 205 | $cflags.=" -DOPENSSL_NO_RC5" if $no_rc5; | ||
| 206 | $cflags.=" -DOPENSSL_NO_MD2" if $no_md2; | ||
| 207 | $cflags.=" -DOPENSSL_NO_MD4" if $no_md4; | ||
| 208 | $cflags.=" -DOPENSSL_NO_MD5" if $no_md5; | ||
| 209 | $cflags.=" -DOPENSSL_NO_SHA" if $no_sha; | ||
| 210 | $cflags.=" -DOPENSSL_NO_SHA1" if $no_sha1; | ||
| 211 | $cflags.=" -DOPENSSL_NO_RIPEMD" if $no_ripemd; | ||
| 212 | $cflags.=" -DOPENSSL_NO_MDC2" if $no_mdc2; | ||
| 213 | $cflags.=" -DOPENSSL_NO_BF" if $no_bf; | ||
| 214 | $cflags.=" -DOPENSSL_NO_CAST" if $no_cast; | ||
| 215 | $cflags.=" -DOPENSSL_NO_DES" if $no_des; | ||
| 216 | $cflags.=" -DOPENSSL_NO_RSA" if $no_rsa; | ||
| 217 | $cflags.=" -DOPENSSL_NO_DSA" if $no_dsa; | ||
| 218 | $cflags.=" -DOPENSSL_NO_DH" if $no_dh; | ||
| 219 | $cflags.=" -DOPENSSL_NO_SOCK" if $no_sock; | ||
| 220 | $cflags.=" -DOPENSSL_NO_SSL2" if $no_ssl2; | ||
| 221 | $cflags.=" -DOPENSSL_NO_SSL3" if $no_ssl3; | ||
| 222 | $cflags.=" -DOPENSSL_NO_TLSEXT" if $no_tlsext; | ||
| 223 | $cflags.=" -DOPENSSL_NO_CMS" if $no_cms; | ||
| 224 | $cflags.=" -DOPENSSL_NO_CAPIENG" if $no_capieng; | ||
| 225 | $cflags.=" -DOPENSSL_NO_ERR" if $no_err; | ||
| 226 | $cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5; | ||
| 227 | $cflags.=" -DOPENSSL_NO_EC" if $no_ec; | ||
| 228 | $cflags.=" -DOPENSSL_NO_ECDSA" if $no_ecdsa; | ||
| 229 | $cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh; | ||
| 230 | $cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine; | ||
| 231 | $cflags.=" -DOPENSSL_NO_HW" if $no_hw; | ||
| 232 | |||
| 233 | $cflags.= " -DZLIB" if $zlib_opt; | ||
| 234 | $cflags.= " -DZLIB_SHARED" if $zlib_opt == 2; | ||
| 235 | |||
| 236 | if ($no_static_engine) | ||
| 237 | { | ||
| 238 | $cflags .= " -DOPENSSL_NO_STATIC_ENGINE"; | ||
| 239 | } | ||
| 240 | else | ||
| 241 | { | ||
| 242 | $cflags .= " -DOPENSSL_NO_DYNAMIC_ENGINE"; | ||
| 243 | } | ||
| 244 | |||
| 245 | #$cflags.=" -DRSAref" if $rsaref ne ""; | ||
| 246 | |||
| 247 | ## if ($unix) | ||
| 248 | ## { $cflags="$c_flags" if ($c_flags ne ""); } | ||
| 249 | ##else | ||
| 250 | { $cflags="$c_flags$cflags" if ($c_flags ne ""); } | ||
| 251 | |||
| 252 | $ex_libs="$l_flags$ex_libs" if ($l_flags ne ""); | ||
| 253 | |||
| 254 | |||
| 255 | %shlib_ex_cflags=("SSL" => " -DOPENSSL_BUILD_SHLIBSSL", | ||
| 256 | "CRYPTO" => " -DOPENSSL_BUILD_SHLIBCRYPTO"); | ||
| 257 | |||
| 258 | if ($msdos) | ||
| 259 | { | ||
| 260 | $banner ="\t\@echo Make sure you have run 'perl Configure $platform' in the\n"; | ||
| 261 | $banner.="\t\@echo top level directory, if you don't have perl, you will\n"; | ||
| 262 | $banner.="\t\@echo need to probably edit crypto/bn/bn.h, check the\n"; | ||
| 263 | $banner.="\t\@echo documentation for details.\n"; | ||
| 264 | } | ||
| 265 | |||
| 266 | # have to do this to allow $(CC) under unix | ||
| 267 | $link="$bin_dir$link" if ($link !~ /^\$/); | ||
| 268 | |||
| 269 | $INSTALLTOP =~ s|/|$o|g; | ||
| 270 | |||
| 271 | ############################################# | ||
| 272 | # We parse in input file and 'store' info for later printing. | ||
| 273 | open(IN,"<$infile") || die "unable to open $infile:$!\n"; | ||
| 274 | $_=<IN>; | ||
| 275 | for (;;) | ||
| 276 | { | ||
| 277 | chop; | ||
| 278 | |||
| 279 | ($key,$val)=/^([^=]+)=(.*)/; | ||
| 280 | if ($key eq "RELATIVE_DIRECTORY") | ||
| 281 | { | ||
| 282 | if ($lib ne "") | ||
| 283 | { | ||
| 284 | $uc=$lib; | ||
| 285 | $uc =~ s/^lib(.*)\.a/$1/; | ||
| 286 | $uc =~ tr/a-z/A-Z/; | ||
| 287 | $lib_nam{$uc}=$uc; | ||
| 288 | $lib_obj{$uc}.=$libobj." "; | ||
| 289 | } | ||
| 290 | last if ($val eq "FINISHED"); | ||
| 291 | $lib=""; | ||
| 292 | $libobj=""; | ||
| 293 | $dir=$val; | ||
| 294 | } | ||
| 295 | |||
| 296 | if ($key eq "KRB5_INCLUDES") | ||
| 297 | { $cflags .= " $val";} | ||
| 298 | |||
| 299 | if ($key eq "ZLIB_INCLUDE") | ||
| 300 | { $cflags .= " $val" if $val ne "";} | ||
| 301 | |||
| 302 | if ($key eq "LIBZLIB") | ||
| 303 | { $zlib_lib = "$val" if $val ne "";} | ||
| 304 | |||
| 305 | if ($key eq "LIBKRB5") | ||
| 306 | { $ex_libs .= " $val" if $val ne "";} | ||
| 307 | |||
| 308 | if ($key eq "TEST") | ||
| 309 | { $test.=&var_add($dir,$val, 0); } | ||
| 310 | |||
| 311 | if (($key eq "PROGS") || ($key eq "E_OBJ")) | ||
| 312 | { $e_exe.=&var_add($dir,$val, 0); } | ||
| 313 | |||
| 314 | if ($key eq "LIB") | ||
| 315 | { | ||
| 316 | $lib=$val; | ||
| 317 | $lib =~ s/^.*\/([^\/]+)$/$1/; | ||
| 318 | } | ||
| 319 | |||
| 320 | if ($key eq "EXHEADER") | ||
| 321 | { $exheader.=&var_add($dir,$val, 1); } | ||
| 322 | |||
| 323 | if ($key eq "HEADER") | ||
| 324 | { $header.=&var_add($dir,$val, 1); } | ||
| 325 | |||
| 326 | if ($key eq "LIBOBJ" && ($dir ne "engines" || !$no_static_engine)) | ||
| 327 | { $libobj=&var_add($dir,$val, 0); } | ||
| 328 | if ($key eq "LIBNAMES" && $dir eq "engines" && $no_static_engine) | ||
| 329 | { $engines.=$val } | ||
| 330 | |||
| 331 | if (!($_=<IN>)) | ||
| 332 | { $_="RELATIVE_DIRECTORY=FINISHED\n"; } | ||
| 333 | } | ||
| 334 | close(IN); | ||
| 335 | |||
| 336 | if ($shlib) | ||
| 337 | { | ||
| 338 | $extra_install= <<"EOF"; | ||
| 339 | \$(CP) \"\$(O_SSL)\" \"\$(INSTALLTOP)${o}bin\" | ||
| 340 | \$(CP) \"\$(O_CRYPTO)\" \"\$(INSTALLTOP)${o}bin\" | ||
| 341 | \$(CP) \"\$(L_SSL)\" \"\$(INSTALLTOP)${o}lib\" | ||
| 342 | \$(CP) \"\$(L_CRYPTO)\" \"\$(INSTALLTOP)${o}lib\" | ||
| 343 | EOF | ||
| 344 | if ($no_static_engine) | ||
| 345 | { | ||
| 346 | $extra_install .= <<"EOF" | ||
| 347 | \$(MKDIR) \"\$(INSTALLTOP)${o}lib${o}engines\" | ||
| 348 | \$(CP) \"\$(E_SHLIB)\" \"\$(INSTALLTOP)${o}lib${o}engines\" | ||
| 349 | EOF | ||
| 350 | } | ||
| 351 | } | ||
| 352 | else | ||
| 353 | { | ||
| 354 | $extra_install= <<"EOF"; | ||
| 355 | \$(CP) \"\$(O_SSL)\" \"\$(INSTALLTOP)${o}lib\" | ||
| 356 | \$(CP) \"\$(O_CRYPTO)\" \"\$(INSTALLTOP)${o}lib\" | ||
| 357 | EOF | ||
| 358 | $ex_libs .= " $zlib_lib" if $zlib_opt == 1; | ||
| 359 | } | ||
| 360 | |||
| 361 | $defs= <<"EOF"; | ||
| 362 | # This makefile has been automatically generated from the OpenSSL distribution. | ||
| 363 | # This single makefile will build the complete OpenSSL distribution and | ||
| 364 | # by default leave the 'intertesting' output files in .${o}out and the stuff | ||
| 365 | # that needs deleting in .${o}tmp. | ||
| 366 | # The file was generated by running 'make makefile.one', which | ||
| 367 | # does a 'make files', which writes all the environment variables from all | ||
| 368 | # the makefiles to the file call MINFO. This file is used by | ||
| 369 | # util${o}mk1mf.pl to generate makefile.one. | ||
| 370 | # The 'makefile per directory' system suites me when developing this | ||
| 371 | # library and also so I can 'distribute' indervidual library sections. | ||
| 372 | # The one monster makefile better suits building in non-unix | ||
| 373 | # environments. | ||
| 374 | |||
| 375 | EOF | ||
| 376 | |||
| 377 | $defs .= $preamble if defined $preamble; | ||
| 378 | |||
| 379 | $defs.= <<"EOF"; | ||
| 380 | INSTALLTOP=$INSTALLTOP | ||
| 381 | |||
| 382 | # Set your compiler options | ||
| 383 | PLATFORM=$platform | ||
| 384 | CC=$bin_dir${cc} | ||
| 385 | CFLAG=$cflags | ||
| 386 | APP_CFLAG=$app_cflag | ||
| 387 | LIB_CFLAG=$lib_cflag | ||
| 388 | SHLIB_CFLAG=$shl_cflag | ||
| 389 | APP_EX_OBJ=$app_ex_obj | ||
| 390 | SHLIB_EX_OBJ=$shlib_ex_obj | ||
| 391 | # add extra libraries to this define, for solaris -lsocket -lnsl would | ||
| 392 | # be added | ||
| 393 | EX_LIBS=$ex_libs | ||
| 394 | |||
| 395 | # The OpenSSL directory | ||
| 396 | SRC_D=$src_dir | ||
| 397 | |||
| 398 | LINK=$link | ||
| 399 | LFLAGS=$lflags | ||
| 400 | RSC=$rsc | ||
| 401 | |||
| 402 | AES_ASM_OBJ=$aes_asm_obj | ||
| 403 | AES_ASM_SRC=$aes_asm_src | ||
| 404 | BN_ASM_OBJ=$bn_asm_obj | ||
| 405 | BN_ASM_SRC=$bn_asm_src | ||
| 406 | BNCO_ASM_OBJ=$bnco_asm_obj | ||
| 407 | BNCO_ASM_SRC=$bnco_asm_src | ||
| 408 | DES_ENC_OBJ=$des_enc_obj | ||
| 409 | DES_ENC_SRC=$des_enc_src | ||
| 410 | BF_ENC_OBJ=$bf_enc_obj | ||
| 411 | BF_ENC_SRC=$bf_enc_src | ||
| 412 | CAST_ENC_OBJ=$cast_enc_obj | ||
| 413 | CAST_ENC_SRC=$cast_enc_src | ||
| 414 | RC4_ENC_OBJ=$rc4_enc_obj | ||
| 415 | RC4_ENC_SRC=$rc4_enc_src | ||
| 416 | RC5_ENC_OBJ=$rc5_enc_obj | ||
| 417 | RC5_ENC_SRC=$rc5_enc_src | ||
| 418 | MD5_ASM_OBJ=$md5_asm_obj | ||
| 419 | MD5_ASM_SRC=$md5_asm_src | ||
| 420 | SHA1_ASM_OBJ=$sha1_asm_obj | ||
| 421 | SHA1_ASM_SRC=$sha1_asm_src | ||
| 422 | RMD160_ASM_OBJ=$rmd160_asm_obj | ||
| 423 | RMD160_ASM_SRC=$rmd160_asm_src | ||
| 424 | CPUID_ASM_OBJ=$cpuid_asm_obj | ||
| 425 | CPUID_ASM_SRC=$cpuid_asm_src | ||
| 426 | |||
| 427 | # The output directory for everything intersting | ||
| 428 | OUT_D=$out_dir | ||
| 429 | # The output directory for all the temporary muck | ||
| 430 | TMP_D=$tmp_dir | ||
| 431 | # The output directory for the header files | ||
| 432 | INC_D=$inc_dir | ||
| 433 | INCO_D=$inc_dir${o}openssl | ||
| 434 | |||
| 435 | PERL=$perl | ||
| 436 | CP=$cp | ||
| 437 | RM=$rm | ||
| 438 | RANLIB=$ranlib | ||
| 439 | MKDIR=$mkdir | ||
| 440 | MKLIB=$bin_dir$mklib | ||
| 441 | MLFLAGS=$mlflags | ||
| 442 | ASM=$bin_dir$asm | ||
| 443 | |||
| 444 | ###################################################### | ||
| 445 | # You should not need to touch anything below this point | ||
| 446 | ###################################################### | ||
| 447 | |||
| 448 | E_EXE=openssl | ||
| 449 | SSL=$ssl | ||
| 450 | CRYPTO=$crypto | ||
| 451 | |||
| 452 | # BIN_D - Binary output directory | ||
| 453 | # TEST_D - Binary test file output directory | ||
| 454 | # LIB_D - library output directory | ||
| 455 | # ENG_D - dynamic engine output directory | ||
| 456 | # Note: if you change these point to different directories then uncomment out | ||
| 457 | # the lines around the 'NB' comment below. | ||
| 458 | # | ||
| 459 | BIN_D=\$(OUT_D) | ||
| 460 | TEST_D=\$(OUT_D) | ||
| 461 | LIB_D=\$(OUT_D) | ||
| 462 | ENG_D=\$(OUT_D) | ||
| 463 | |||
| 464 | # INCL_D - local library directory | ||
| 465 | # OBJ_D - temp object file directory | ||
| 466 | OBJ_D=\$(TMP_D) | ||
| 467 | INCL_D=\$(TMP_D) | ||
| 468 | |||
| 469 | O_SSL= \$(LIB_D)$o$plib\$(SSL)$shlibp | ||
| 470 | O_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$shlibp | ||
| 471 | SO_SSL= $plib\$(SSL)$so_shlibp | ||
| 472 | SO_CRYPTO= $plib\$(CRYPTO)$so_shlibp | ||
| 473 | L_SSL= \$(LIB_D)$o$plib\$(SSL)$libp | ||
| 474 | L_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$libp | ||
| 475 | |||
| 476 | L_LIBS= \$(L_SSL) \$(L_CRYPTO) | ||
| 477 | |||
| 478 | ###################################################### | ||
| 479 | # Don't touch anything below this point | ||
| 480 | ###################################################### | ||
| 481 | |||
| 482 | INC=-I\$(INC_D) -I\$(INCL_D) | ||
| 483 | APP_CFLAGS=\$(INC) \$(CFLAG) \$(APP_CFLAG) | ||
| 484 | LIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) | ||
| 485 | SHLIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) \$(SHLIB_CFLAG) | ||
| 486 | LIBS_DEP=\$(O_CRYPTO) \$(O_SSL) | ||
| 487 | |||
| 488 | ############################################# | ||
| 489 | EOF | ||
| 490 | |||
| 491 | $rules=<<"EOF"; | ||
| 492 | all: banner \$(TMP_D) \$(BIN_D) \$(TEST_D) \$(LIB_D) \$(INCO_D) headers lib exe | ||
| 493 | |||
| 494 | banner: | ||
| 495 | $banner | ||
| 496 | |||
| 497 | \$(TMP_D): | ||
| 498 | \$(MKDIR) \"\$(TMP_D)\" | ||
| 499 | # NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different | ||
| 500 | #\$(BIN_D): | ||
| 501 | # \$(MKDIR) \$(BIN_D) | ||
| 502 | # | ||
| 503 | #\$(TEST_D): | ||
| 504 | # \$(MKDIR) \$(TEST_D) | ||
| 505 | |||
| 506 | \$(LIB_D): | ||
| 507 | \$(MKDIR) \"\$(LIB_D)\" | ||
| 508 | |||
| 509 | \$(INCO_D): \$(INC_D) | ||
| 510 | \$(MKDIR) \"\$(INCO_D)\" | ||
| 511 | |||
| 512 | \$(INC_D): | ||
| 513 | \$(MKDIR) \"\$(INC_D)\" | ||
| 514 | |||
| 515 | headers: \$(HEADER) \$(EXHEADER) | ||
| 516 | @ | ||
| 517 | |||
| 518 | lib: \$(LIBS_DEP) \$(E_SHLIB) | ||
| 519 | |||
| 520 | exe: \$(T_EXE) \$(BIN_D)$o\$(E_EXE)$exep | ||
| 521 | |||
| 522 | install: all | ||
| 523 | \$(MKDIR) \"\$(INSTALLTOP)\" | ||
| 524 | \$(MKDIR) \"\$(INSTALLTOP)${o}bin\" | ||
| 525 | \$(MKDIR) \"\$(INSTALLTOP)${o}include\" | ||
| 526 | \$(MKDIR) \"\$(INSTALLTOP)${o}include${o}openssl\" | ||
| 527 | \$(MKDIR) \"\$(INSTALLTOP)${o}lib\" | ||
| 528 | \$(CP) \"\$(INCO_D)${o}*.\[ch\]\" \"\$(INSTALLTOP)${o}include${o}openssl\" | ||
| 529 | \$(CP) \"\$(BIN_D)$o\$(E_EXE)$exep\" \"\$(INSTALLTOP)${o}bin\" | ||
| 530 | \$(CP) \"apps${o}openssl.cnf\" \"\$(INSTALLTOP)\" | ||
| 531 | $extra_install | ||
| 532 | |||
| 533 | |||
| 534 | test: \$(T_EXE) | ||
| 535 | cd \$(BIN_D) | ||
| 536 | ..${o}ms${o}test | ||
| 537 | |||
| 538 | clean: | ||
| 539 | \$(RM) \$(TMP_D)$o*.* | ||
| 540 | |||
| 541 | vclean: | ||
| 542 | \$(RM) \$(TMP_D)$o*.* | ||
| 543 | \$(RM) \$(OUT_D)$o*.* | ||
| 544 | |||
| 545 | EOF | ||
| 546 | |||
| 547 | my $platform_cpp_symbol = "MK1MF_PLATFORM_$platform"; | ||
| 548 | $platform_cpp_symbol =~ s/-/_/g; | ||
| 549 | if (open(IN,"crypto/buildinf.h")) | ||
| 550 | { | ||
| 551 | # Remove entry for this platform in existing file buildinf.h. | ||
| 552 | |||
| 553 | my $old_buildinf_h = ""; | ||
| 554 | while (<IN>) | ||
| 555 | { | ||
| 556 | if (/^\#ifdef $platform_cpp_symbol$/) | ||
| 557 | { | ||
| 558 | while (<IN>) { last if (/^\#endif/); } | ||
| 559 | } | ||
| 560 | else | ||
| 561 | { | ||
| 562 | $old_buildinf_h .= $_; | ||
| 563 | } | ||
| 564 | } | ||
| 565 | close(IN); | ||
| 566 | |||
| 567 | open(OUT,">crypto/buildinf.h") || die "Can't open buildinf.h"; | ||
| 568 | print OUT $old_buildinf_h; | ||
| 569 | close(OUT); | ||
| 570 | } | ||
| 571 | |||
| 572 | open (OUT,">>crypto/buildinf.h") || die "Can't open buildinf.h"; | ||
| 573 | printf OUT <<EOF; | ||
| 574 | #ifdef $platform_cpp_symbol | ||
| 575 | /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */ | ||
| 576 | #define CFLAGS "$cc $cflags" | ||
| 577 | #define PLATFORM "$platform" | ||
| 578 | EOF | ||
| 579 | printf OUT " #define DATE \"%s\"\n", scalar gmtime(); | ||
| 580 | printf OUT "#endif\n"; | ||
| 581 | close(OUT); | ||
| 582 | |||
| 583 | # Strip of trailing ' ' | ||
| 584 | foreach (keys %lib_obj) { $lib_obj{$_}=&clean_up_ws($lib_obj{$_}); } | ||
| 585 | $test=&clean_up_ws($test); | ||
| 586 | $e_exe=&clean_up_ws($e_exe); | ||
| 587 | $exheader=&clean_up_ws($exheader); | ||
| 588 | $header=&clean_up_ws($header); | ||
| 589 | |||
| 590 | # First we strip the exheaders from the headers list | ||
| 591 | foreach (split(/\s+/,$exheader)){ $h{$_}=1; } | ||
| 592 | foreach (split(/\s+/,$header)) { $h.=$_." " unless $h{$_}; } | ||
| 593 | chop($h); $header=$h; | ||
| 594 | |||
| 595 | $defs.=&do_defs("HEADER",$header,"\$(INCL_D)",""); | ||
| 596 | $rules.=&do_copy_rule("\$(INCL_D)",$header,""); | ||
| 597 | |||
| 598 | $defs.=&do_defs("EXHEADER",$exheader,"\$(INCO_D)",""); | ||
| 599 | $rules.=&do_copy_rule("\$(INCO_D)",$exheader,""); | ||
| 600 | |||
| 601 | $defs.=&do_defs("T_OBJ",$test,"\$(OBJ_D)",$obj); | ||
| 602 | $rules.=&do_compile_rule("\$(OBJ_D)",$test,"\$(APP_CFLAGS)"); | ||
| 603 | |||
| 604 | $defs.=&do_defs("E_OBJ",$e_exe,"\$(OBJ_D)",$obj); | ||
| 605 | $rules.=&do_compile_rule("\$(OBJ_D)",$e_exe,'-DMONOLITH $(APP_CFLAGS)'); | ||
| 606 | |||
| 607 | foreach (values %lib_nam) | ||
| 608 | { | ||
| 609 | $lib_obj=$lib_obj{$_}; | ||
| 610 | local($slib)=$shlib; | ||
| 611 | |||
| 612 | if (($_ eq "SSL") && $no_ssl2 && $no_ssl3) | ||
| 613 | { | ||
| 614 | $rules.="\$(O_SSL):\n\n"; | ||
| 615 | next; | ||
| 616 | } | ||
| 617 | if (($aes_asm_obj ne "") && ($_ eq "CRYPTO")) | ||
| 618 | { | ||
| 619 | $lib_obj =~ s/\s(\S*\/aes_core\S*)/ \$(AES_ASM_OBJ)/; | ||
| 620 | $lib_obj =~ s/\s\S*\/aes_cbc\S*//; | ||
| 621 | $rules.=&do_asm_rule($aes_asm_obj,$aes_asm_src); | ||
| 622 | } | ||
| 623 | if (($bn_asm_obj ne "") && ($_ eq "CRYPTO")) | ||
| 624 | { | ||
| 625 | $lib_obj =~ s/\s\S*\/bn_asm\S*/ \$(BN_ASM_OBJ)/; | ||
| 626 | $rules.=&do_asm_rule($bn_asm_obj,$bn_asm_src); | ||
| 627 | } | ||
| 628 | if (($bnco_asm_obj ne "") && ($_ eq "CRYPTO")) | ||
| 629 | { | ||
| 630 | $lib_obj .= "\$(BNCO_ASM_OBJ)"; | ||
| 631 | $rules.=&do_asm_rule($bnco_asm_obj,$bnco_asm_src); | ||
| 632 | } | ||
| 633 | if (($des_enc_obj ne "") && ($_ eq "CRYPTO")) | ||
| 634 | { | ||
| 635 | $lib_obj =~ s/\s\S*des_enc\S*/ \$(DES_ENC_OBJ)/; | ||
| 636 | $lib_obj =~ s/\s\S*\/fcrypt_b\S*\s*/ /; | ||
| 637 | $rules.=&do_asm_rule($des_enc_obj,$des_enc_src); | ||
| 638 | } | ||
| 639 | if (($bf_enc_obj ne "") && ($_ eq "CRYPTO")) | ||
| 640 | { | ||
| 641 | $lib_obj =~ s/\s\S*\/bf_enc\S*/ \$(BF_ENC_OBJ)/; | ||
| 642 | $rules.=&do_asm_rule($bf_enc_obj,$bf_enc_src); | ||
| 643 | } | ||
| 644 | if (($cast_enc_obj ne "") && ($_ eq "CRYPTO")) | ||
| 645 | { | ||
| 646 | $lib_obj =~ s/(\s\S*\/c_enc\S*)/ \$(CAST_ENC_OBJ)/; | ||
| 647 | $rules.=&do_asm_rule($cast_enc_obj,$cast_enc_src); | ||
| 648 | } | ||
| 649 | if (($rc4_enc_obj ne "") && ($_ eq "CRYPTO")) | ||
| 650 | { | ||
| 651 | $lib_obj =~ s/\s\S*\/rc4_enc\S*/ \$(RC4_ENC_OBJ)/; | ||
| 652 | $rules.=&do_asm_rule($rc4_enc_obj,$rc4_enc_src); | ||
| 653 | } | ||
| 654 | if (($rc5_enc_obj ne "") && ($_ eq "CRYPTO")) | ||
| 655 | { | ||
| 656 | $lib_obj =~ s/\s\S*\/rc5_enc\S*/ \$(RC5_ENC_OBJ)/; | ||
| 657 | $rules.=&do_asm_rule($rc5_enc_obj,$rc5_enc_src); | ||
| 658 | } | ||
| 659 | if (($md5_asm_obj ne "") && ($_ eq "CRYPTO")) | ||
| 660 | { | ||
| 661 | $lib_obj =~ s/\s(\S*\/md5_dgst\S*)/ $1 \$(MD5_ASM_OBJ)/; | ||
| 662 | $rules.=&do_asm_rule($md5_asm_obj,$md5_asm_src); | ||
| 663 | } | ||
| 664 | if (($sha1_asm_obj ne "") && ($_ eq "CRYPTO")) | ||
| 665 | { | ||
| 666 | $lib_obj =~ s/\s(\S*\/sha1dgst\S*)/ $1 \$(SHA1_ASM_OBJ)/; | ||
| 667 | $rules.=&do_asm_rule($sha1_asm_obj,$sha1_asm_src); | ||
| 668 | } | ||
| 669 | if (($rmd160_asm_obj ne "") && ($_ eq "CRYPTO")) | ||
| 670 | { | ||
| 671 | $lib_obj =~ s/\s(\S*\/rmd_dgst\S*)/ $1 \$(RMD160_ASM_OBJ)/; | ||
| 672 | $rules.=&do_asm_rule($rmd160_asm_obj,$rmd160_asm_src); | ||
| 673 | } | ||
| 674 | if (($cpuid_asm_obj ne "") && ($_ eq "CRYPTO")) | ||
| 675 | { | ||
| 676 | $lib_obj =~ s/\s(\S*\/cversion\S*)/ $1 \$(CPUID_ASM_OBJ)/; | ||
| 677 | $rules.=&do_asm_rule($cpuid_asm_obj,$cpuid_asm_src); | ||
| 678 | } | ||
| 679 | $defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj); | ||
| 680 | $lib=($slib)?" \$(SHLIB_CFLAGS)".$shlib_ex_cflags{$_}:" \$(LIB_CFLAGS)"; | ||
| 681 | $rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib); | ||
| 682 | } | ||
| 683 | |||
| 684 | # hack to add version info on MSVC | ||
| 685 | if (($platform eq "VC-WIN32") || ($platform eq "VC-NT")) { | ||
| 686 | $rules.= <<"EOF"; | ||
| 687 | \$(OBJ_D)\\\$(CRYPTO).res: ms\\version32.rc | ||
| 688 | \$(RSC) /fo"\$(OBJ_D)\\\$(CRYPTO).res" /d CRYPTO ms\\version32.rc | ||
| 689 | |||
| 690 | \$(OBJ_D)\\\$(SSL).res: ms\\version32.rc | ||
| 691 | \$(RSC) /fo"\$(OBJ_D)\\\$(SSL).res" /d SSL ms\\version32.rc | ||
| 692 | |||
| 693 | EOF | ||
| 694 | } | ||
| 695 | |||
| 696 | $defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep); | ||
| 697 | foreach (split(/\s+/,$test)) | ||
| 698 | { | ||
| 699 | $t=&bname($_); | ||
| 700 | $tt="\$(OBJ_D)${o}$t${obj}"; | ||
| 701 | $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); | ||
| 702 | } | ||
| 703 | |||
| 704 | $defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp); | ||
| 705 | |||
| 706 | foreach (split(/\s+/,$engines)) | ||
| 707 | { | ||
| 708 | $rules.=&do_compile_rule("\$(OBJ_D)","engines${o}e_$_",$lib); | ||
| 709 | $rules.= &do_lib_rule("\$(OBJ_D)${o}e_${_}.obj","\$(ENG_D)$o$_$shlibp","",$shlib,""); | ||
| 710 | } | ||
| 711 | |||
| 712 | |||
| 713 | |||
| 714 | $rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)"); | ||
| 715 | $rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)"); | ||
| 716 | |||
| 717 | $rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); | ||
| 718 | |||
| 719 | print $defs; | ||
| 720 | |||
| 721 | if ($platform eq "linux-elf") { | ||
| 722 | print <<"EOF"; | ||
| 723 | # Generate perlasm output files | ||
| 724 | %.cpp: | ||
| 725 | (cd \$(\@D)/..; PERL=perl make -f Makefile asm/\$(\@F)) | ||
| 726 | EOF | ||
| 727 | } | ||
| 728 | print "###################################################################\n"; | ||
| 729 | print $rules; | ||
| 730 | |||
| 731 | ############################################### | ||
| 732 | # strip off any trailing .[och] and append the relative directory | ||
| 733 | # also remembering to do nothing if we are in one of the dropped | ||
| 734 | # directories | ||
| 735 | sub var_add | ||
| 736 | { | ||
| 737 | local($dir,$val,$keepext)=@_; | ||
| 738 | local(@a,$_,$ret); | ||
| 739 | |||
| 740 | return("") if $no_engine && $dir =~ /\/engine/; | ||
| 741 | return("") if $no_hw && $dir =~ /\/hw/; | ||
| 742 | return("") if $no_idea && $dir =~ /\/idea/; | ||
| 743 | return("") if $no_aes && $dir =~ /\/aes/; | ||
| 744 | return("") if $no_camellia && $dir =~ /\/camellia/; | ||
| 745 | return("") if $no_seed && $dir =~ /\/seed/; | ||
| 746 | return("") if $no_rc2 && $dir =~ /\/rc2/; | ||
| 747 | return("") if $no_rc4 && $dir =~ /\/rc4/; | ||
| 748 | return("") if $no_rc5 && $dir =~ /\/rc5/; | ||
| 749 | return("") if $no_rsa && $dir =~ /\/rsa/; | ||
| 750 | return("") if $no_rsa && $dir =~ /^rsaref/; | ||
| 751 | return("") if $no_dsa && $dir =~ /\/dsa/; | ||
| 752 | return("") if $no_dh && $dir =~ /\/dh/; | ||
| 753 | return("") if $no_ec && $dir =~ /\/ec/; | ||
| 754 | return("") if $no_cms && $dir =~ /\/cms/; | ||
| 755 | if ($no_des && $dir =~ /\/des/) | ||
| 756 | { | ||
| 757 | if ($val =~ /read_pwd/) | ||
| 758 | { return("$dir/read_pwd "); } | ||
| 759 | else | ||
| 760 | { return(""); } | ||
| 761 | } | ||
| 762 | return("") if $no_mdc2 && $dir =~ /\/mdc2/; | ||
| 763 | return("") if $no_sock && $dir =~ /\/proxy/; | ||
| 764 | return("") if $no_bf && $dir =~ /\/bf/; | ||
| 765 | return("") if $no_cast && $dir =~ /\/cast/; | ||
| 766 | |||
| 767 | $val =~ s/^\s*(.*)\s*$/$1/; | ||
| 768 | @a=split(/\s+/,$val); | ||
| 769 | grep(s/\.[och]$//,@a) unless $keepext; | ||
| 770 | |||
| 771 | @a=grep(!/^e_.*_3d$/,@a) if $no_des; | ||
| 772 | @a=grep(!/^e_.*_d$/,@a) if $no_des; | ||
| 773 | @a=grep(!/^e_.*_ae$/,@a) if $no_idea; | ||
| 774 | @a=grep(!/^e_.*_i$/,@a) if $no_aes; | ||
| 775 | @a=grep(!/^e_.*_r2$/,@a) if $no_rc2; | ||
| 776 | @a=grep(!/^e_.*_r5$/,@a) if $no_rc5; | ||
| 777 | @a=grep(!/^e_.*_bf$/,@a) if $no_bf; | ||
| 778 | @a=grep(!/^e_.*_c$/,@a) if $no_cast; | ||
| 779 | @a=grep(!/^e_rc4$/,@a) if $no_rc4; | ||
| 780 | @a=grep(!/^e_camellia$/,@a) if $no_camellia; | ||
| 781 | @a=grep(!/^e_seed$/,@a) if $no_seed; | ||
| 782 | |||
| 783 | @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2; | ||
| 784 | @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3; | ||
| 785 | |||
| 786 | @a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock; | ||
| 787 | |||
| 788 | @a=grep(!/(^md2)|(_md2$)/,@a) if $no_md2; | ||
| 789 | @a=grep(!/(^md4)|(_md4$)/,@a) if $no_md4; | ||
| 790 | @a=grep(!/(^md5)|(_md5$)/,@a) if $no_md5; | ||
| 791 | @a=grep(!/(rmd)|(ripemd)/,@a) if $no_ripemd; | ||
| 792 | |||
| 793 | @a=grep(!/(^d2i_r_)|(^i2d_r_)/,@a) if $no_rsa; | ||
| 794 | @a=grep(!/(^p_open$)|(^p_seal$)/,@a) if $no_rsa; | ||
| 795 | @a=grep(!/(^pem_seal$)/,@a) if $no_rsa; | ||
| 796 | |||
| 797 | @a=grep(!/(m_dss$)|(m_dss1$)/,@a) if $no_dsa; | ||
| 798 | @a=grep(!/(^d2i_s_)|(^i2d_s_)|(_dsap$)/,@a) if $no_dsa; | ||
| 799 | |||
| 800 | @a=grep(!/^n_pkey$/,@a) if $no_rsa || $no_rc4; | ||
| 801 | |||
| 802 | @a=grep(!/_dhp$/,@a) if $no_dh; | ||
| 803 | |||
| 804 | @a=grep(!/(^sha[^1])|(_sha$)|(m_dss$)/,@a) if $no_sha; | ||
| 805 | @a=grep(!/(^sha1)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1; | ||
| 806 | @a=grep(!/_mdc2$/,@a) if $no_mdc2; | ||
| 807 | |||
| 808 | @a=grep(!/^engine$/,@a) if $no_engine; | ||
| 809 | @a=grep(!/^hw$/,@a) if $no_hw; | ||
| 810 | @a=grep(!/(^rsa$)|(^genrsa$)/,@a) if $no_rsa; | ||
| 811 | @a=grep(!/(^dsa$)|(^gendsa$)|(^dsaparam$)/,@a) if $no_dsa; | ||
| 812 | @a=grep(!/^gendsa$/,@a) if $no_sha1; | ||
| 813 | @a=grep(!/(^dh$)|(^gendh$)/,@a) if $no_dh; | ||
| 814 | |||
| 815 | @a=grep(!/(^dh)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1; | ||
| 816 | |||
| 817 | grep($_="$dir/$_",@a); | ||
| 818 | @a=grep(!/(^|\/)s_/,@a) if $no_sock; | ||
| 819 | @a=grep(!/(^|\/)bio_sock/,@a) if $no_sock; | ||
| 820 | $ret=join(' ',@a)." "; | ||
| 821 | return($ret); | ||
| 822 | } | ||
| 823 | |||
| 824 | # change things so that each 'token' is only separated by one space | ||
| 825 | sub clean_up_ws | ||
| 826 | { | ||
| 827 | local($w)=@_; | ||
| 828 | |||
| 829 | $w =~ s/^\s*(.*)\s*$/$1/; | ||
| 830 | $w =~ s/\s+/ /g; | ||
| 831 | return($w); | ||
| 832 | } | ||
| 833 | |||
| 834 | sub do_defs | ||
| 835 | { | ||
| 836 | local($var,$files,$location,$postfix)=@_; | ||
| 837 | local($_,$ret,$pf); | ||
| 838 | local(*OUT,$tmp,$t); | ||
| 839 | |||
| 840 | $files =~ s/\//$o/g if $o ne '/'; | ||
| 841 | $ret="$var="; | ||
| 842 | $n=1; | ||
| 843 | $Vars{$var}.=""; | ||
| 844 | foreach (split(/ /,$files)) | ||
| 845 | { | ||
| 846 | $orig=$_; | ||
| 847 | $_=&bname($_) unless /^\$/; | ||
| 848 | if ($n++ == 2) | ||
| 849 | { | ||
| 850 | $n=0; | ||
| 851 | $ret.="\\\n\t"; | ||
| 852 | } | ||
| 853 | if (($_ =~ /bss_file/) && ($postfix eq ".h")) | ||
| 854 | { $pf=".c"; } | ||
| 855 | else { $pf=$postfix; } | ||
| 856 | if ($_ =~ /BN_ASM/) { $t="$_ "; } | ||
| 857 | elsif ($_ =~ /BNCO_ASM/){ $t="$_ "; } | ||
| 858 | elsif ($_ =~ /DES_ENC/) { $t="$_ "; } | ||
| 859 | elsif ($_ =~ /BF_ENC/) { $t="$_ "; } | ||
| 860 | elsif ($_ =~ /CAST_ENC/){ $t="$_ "; } | ||
| 861 | elsif ($_ =~ /RC4_ENC/) { $t="$_ "; } | ||
| 862 | elsif ($_ =~ /RC5_ENC/) { $t="$_ "; } | ||
| 863 | elsif ($_ =~ /MD5_ASM/) { $t="$_ "; } | ||
| 864 | elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; } | ||
| 865 | elsif ($_ =~ /AES_ASM/){ $t="$_ "; } | ||
| 866 | elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; } | ||
| 867 | elsif ($_ =~ /CPUID_ASM/){ $t="$_ "; } | ||
| 868 | else { $t="$location${o}$_$pf "; } | ||
| 869 | |||
| 870 | $Vars{$var}.="$t "; | ||
| 871 | $ret.=$t; | ||
| 872 | } | ||
| 873 | # hack to add version info on MSVC | ||
| 874 | if ($shlib && (($platform eq "VC-WIN32") || ($platform eq "VC-NT"))) | ||
| 875 | { | ||
| 876 | if ($var eq "CRYPTOOBJ") | ||
| 877 | { $ret.="\$(OBJ_D)\\\$(CRYPTO).res "; } | ||
| 878 | elsif ($var eq "SSLOBJ") | ||
| 879 | { $ret.="\$(OBJ_D)\\\$(SSL).res "; } | ||
| 880 | } | ||
| 881 | chomp($ret); | ||
| 882 | $ret.="\n\n"; | ||
| 883 | return($ret); | ||
| 884 | } | ||
| 885 | |||
| 886 | # return the name with the leading path removed | ||
| 887 | sub bname | ||
| 888 | { | ||
| 889 | local($ret)=@_; | ||
| 890 | $ret =~ s/^.*[\\\/]([^\\\/]+)$/$1/; | ||
| 891 | return($ret); | ||
| 892 | } | ||
| 893 | |||
| 894 | |||
| 895 | ############################################################## | ||
| 896 | # do a rule for each file that says 'compile' to new direcory | ||
| 897 | # compile the files in '$files' into $to | ||
| 898 | sub do_compile_rule | ||
| 899 | { | ||
| 900 | local($to,$files,$ex)=@_; | ||
| 901 | local($ret,$_,$n); | ||
| 902 | |||
| 903 | $files =~ s/\//$o/g if $o ne '/'; | ||
| 904 | foreach (split(/\s+/,$files)) | ||
| 905 | { | ||
| 906 | $n=&bname($_); | ||
| 907 | $ret.=&cc_compile_target("$to${o}$n$obj","${_}.c",$ex) | ||
| 908 | } | ||
| 909 | return($ret); | ||
| 910 | } | ||
| 911 | |||
| 912 | ############################################################## | ||
| 913 | # do a rule for each file that says 'compile' to new direcory | ||
| 914 | sub cc_compile_target | ||
| 915 | { | ||
| 916 | local($target,$source,$ex_flags)=@_; | ||
| 917 | local($ret); | ||
| 918 | |||
| 919 | $ex_flags.=" -DMK1MF_BUILD -D$platform_cpp_symbol" if ($source =~ /cversion/); | ||
| 920 | $target =~ s/\//$o/g if $o ne "/"; | ||
| 921 | $source =~ s/\//$o/g if $o ne "/"; | ||
| 922 | $ret ="$target: \$(SRC_D)$o$source\n\t"; | ||
| 923 | $ret.="\$(CC) ${ofile}$target $ex_flags -c \$(SRC_D)$o$source\n\n"; | ||
| 924 | return($ret); | ||
| 925 | } | ||
| 926 | |||
| 927 | ############################################################## | ||
| 928 | sub do_asm_rule | ||
| 929 | { | ||
| 930 | local($target,$src)=@_; | ||
| 931 | local($ret,@s,@t,$i); | ||
| 932 | |||
| 933 | $target =~ s/\//$o/g if $o ne "/"; | ||
| 934 | $src =~ s/\//$o/g if $o ne "/"; | ||
| 935 | |||
| 936 | @s=split(/\s+/,$src); | ||
| 937 | @t=split(/\s+/,$target); | ||
| 938 | |||
| 939 | for ($i=0; $i<=$#s; $i++) | ||
| 940 | { | ||
| 941 | $ret.="$t[$i]: $s[$i]\n"; | ||
| 942 | $ret.="\t\$(ASM) $afile$t[$i] \$(SRC_D)$o$s[$i]\n\n"; | ||
| 943 | } | ||
| 944 | return($ret); | ||
| 945 | } | ||
| 946 | |||
| 947 | sub do_shlib_rule | ||
| 948 | { | ||
| 949 | local($n,$def)=@_; | ||
| 950 | local($ret,$nn); | ||
| 951 | local($t); | ||
| 952 | |||
| 953 | ($nn=$n) =~ tr/a-z/A-Z/; | ||
| 954 | $ret.="$n.dll: \$(${nn}OBJ)\n"; | ||
| 955 | if ($vc && $w32) | ||
| 956 | { | ||
| 957 | $ret.="\t\$(MKSHLIB) $efile$n.dll $def @<<\n \$(${nn}OBJ_F)\n<<\n"; | ||
| 958 | } | ||
| 959 | $ret.="\n"; | ||
| 960 | return($ret); | ||
| 961 | } | ||
| 962 | |||
| 963 | # do a rule for each file that says 'copy' to new direcory on change | ||
| 964 | sub do_copy_rule | ||
| 965 | { | ||
| 966 | local($to,$files,$p)=@_; | ||
| 967 | local($ret,$_,$n,$pp); | ||
| 968 | |||
| 969 | $files =~ s/\//$o/g if $o ne '/'; | ||
| 970 | foreach (split(/\s+/,$files)) | ||
| 971 | { | ||
| 972 | $n=&bname($_); | ||
| 973 | if ($n =~ /bss_file/) | ||
| 974 | { $pp=".c"; } | ||
| 975 | else { $pp=$p; } | ||
| 976 | $ret.="$to${o}$n$pp: \$(SRC_D)$o$_$pp\n\t\$(CP) \"\$(SRC_D)$o$_$pp\" \"$to${o}$n$pp\"\n\n"; | ||
| 977 | } | ||
| 978 | return($ret); | ||
| 979 | } | ||
| 980 | |||
| 981 | sub read_options | ||
| 982 | { | ||
| 983 | # Many options are handled in a similar way. In particular | ||
| 984 | # no-xxx sets zero or more scalars to 1. | ||
| 985 | # Process these using a hash containing the option name and | ||
| 986 | # reference to the scalars to set. | ||
| 987 | |||
| 988 | my %valid_options = ( | ||
| 989 | "no-rc2" => \$no_rc2, | ||
| 990 | "no-rc4" => \$no_rc4, | ||
| 991 | "no-rc5" => \$no_rc5, | ||
| 992 | "no-idea" => \$no_idea, | ||
| 993 | "no-aes" => \$no_aes, | ||
| 994 | "no-camellia" => \$no_camellia, | ||
| 995 | "no-seed" => \$no_seed, | ||
| 996 | "no-des" => \$no_des, | ||
| 997 | "no-bf" => \$no_bf, | ||
| 998 | "no-cast" => \$no_cast, | ||
| 999 | "no-md2" => \$no_md2, | ||
| 1000 | "no-md4" => \$no_md4, | ||
| 1001 | "no-md5" => \$no_md5, | ||
| 1002 | "no-sha" => \$no_sha, | ||
| 1003 | "no-sha1" => \$no_sha1, | ||
| 1004 | "no-ripemd" => \$no_ripemd, | ||
| 1005 | "no-mdc2" => \$no_mdc2, | ||
| 1006 | "no-patents" => | ||
| 1007 | [\$no_rc2, \$no_rc4, \$no_rc5, \$no_idea, \$no_rsa], | ||
| 1008 | "no-rsa" => \$no_rsa, | ||
| 1009 | "no-dsa" => \$no_dsa, | ||
| 1010 | "no-dh" => \$no_dh, | ||
| 1011 | "no-hmac" => \$no_hmac, | ||
| 1012 | "no-asm" => \$no_asm, | ||
| 1013 | "nasm" => \$nasm, | ||
| 1014 | "nw-nasm" => \$nw_nasm, | ||
| 1015 | "nw-mwasm" => \$nw_mwasm, | ||
| 1016 | "gaswin" => \$gaswin, | ||
| 1017 | "no-ssl2" => \$no_ssl2, | ||
| 1018 | "no-ssl3" => \$no_ssl3, | ||
| 1019 | "no-tlsext" => \$no_tlsext, | ||
| 1020 | "no-cms" => \$no_cms, | ||
| 1021 | "no-capieng" => \$no_capieng, | ||
| 1022 | "no-err" => \$no_err, | ||
| 1023 | "no-sock" => \$no_sock, | ||
| 1024 | "no-krb5" => \$no_krb5, | ||
| 1025 | "no-ec" => \$no_ec, | ||
| 1026 | "no-ecdsa" => \$no_ecdsa, | ||
| 1027 | "no-ecdh" => \$no_ecdh, | ||
| 1028 | "no-engine" => \$no_engine, | ||
| 1029 | "no-hw" => \$no_hw, | ||
| 1030 | "just-ssl" => | ||
| 1031 | [\$no_rc2, \$no_idea, \$no_des, \$no_bf, \$no_cast, | ||
| 1032 | \$no_md2, \$no_sha, \$no_mdc2, \$no_dsa, \$no_dh, | ||
| 1033 | \$no_ssl2, \$no_err, \$no_ripemd, \$no_rc5, | ||
| 1034 | \$no_aes, \$no_camellia, \$no_seed], | ||
| 1035 | "rsaref" => 0, | ||
| 1036 | "gcc" => \$gcc, | ||
| 1037 | "debug" => \$debug, | ||
| 1038 | "profile" => \$profile, | ||
| 1039 | "shlib" => \$shlib, | ||
| 1040 | "dll" => \$shlib, | ||
| 1041 | "shared" => 0, | ||
| 1042 | "no-gmp" => 0, | ||
| 1043 | "no-rfc3779" => 0, | ||
| 1044 | "no-montasm" => 0, | ||
| 1045 | "no-shared" => 0, | ||
| 1046 | "no-zlib" => 0, | ||
| 1047 | "no-zlib-dynamic" => 0, | ||
| 1048 | ); | ||
| 1049 | |||
| 1050 | if (exists $valid_options{$_}) | ||
| 1051 | { | ||
| 1052 | my $r = $valid_options{$_}; | ||
| 1053 | if ( ref $r eq "SCALAR") | ||
| 1054 | { $$r = 1;} | ||
| 1055 | elsif ( ref $r eq "ARRAY") | ||
| 1056 | { | ||
| 1057 | my $r2; | ||
| 1058 | foreach $r2 (@$r) | ||
| 1059 | { | ||
| 1060 | $$r2 = 1; | ||
| 1061 | } | ||
| 1062 | } | ||
| 1063 | } | ||
| 1064 | elsif (/^no-comp$/) { $xcflags = "-DOPENSSL_NO_COMP $xcflags"; } | ||
| 1065 | elsif (/^enable-zlib$/) { $zlib_opt = 1 if $zlib_opt == 0 } | ||
| 1066 | elsif (/^enable-zlib-dynamic$/) | ||
| 1067 | { | ||
| 1068 | $zlib_opt = 2; | ||
| 1069 | } | ||
| 1070 | elsif (/^no-static-engine/) | ||
| 1071 | { | ||
| 1072 | $no_static_engine = 1; | ||
| 1073 | } | ||
| 1074 | elsif (/^enable-static-engine/) | ||
| 1075 | { | ||
| 1076 | $no_static_engine = 0; | ||
| 1077 | } | ||
| 1078 | # There are also enable-xxx options which correspond to | ||
| 1079 | # the no-xxx. Since the scalars are enabled by default | ||
| 1080 | # these can be ignored. | ||
| 1081 | elsif (/^enable-/) | ||
| 1082 | { | ||
| 1083 | my $t = $_; | ||
| 1084 | $t =~ s/^enable/no/; | ||
| 1085 | if (exists $valid_options{$t}) | ||
| 1086 | {return 1;} | ||
| 1087 | return 0; | ||
| 1088 | } | ||
| 1089 | elsif (/^--with-krb5-flavor=(.*)$/) | ||
| 1090 | { | ||
| 1091 | my $krb5_flavor = $1; | ||
| 1092 | if ($krb5_flavor =~ /^force-[Hh]eimdal$/) | ||
| 1093 | { | ||
| 1094 | $xcflags="-DKRB5_HEIMDAL $xcflags"; | ||
| 1095 | } | ||
| 1096 | elsif ($krb5_flavor =~ /^MIT/i) | ||
| 1097 | { | ||
| 1098 | $xcflags="-DKRB5_MIT $xcflags"; | ||
| 1099 | if ($krb5_flavor =~ /^MIT[._-]*1[._-]*[01]/i) | ||
| 1100 | { | ||
| 1101 | $xcflags="-DKRB5_MIT_OLD11 $xcflags" | ||
| 1102 | } | ||
| 1103 | } | ||
| 1104 | } | ||
| 1105 | elsif (/^([^=]*)=(.*)$/ && !/^-D/){ $VARS{$1}=$2; } | ||
| 1106 | elsif (/^-[lL].*$/) { $l_flags.="$_ "; } | ||
| 1107 | elsif ((!/^-help/) && (!/^-h/) && (!/^-\?/) && /^-.*$/) | ||
| 1108 | { $c_flags.="$_ "; } | ||
| 1109 | else { return(0); } | ||
| 1110 | return(1); | ||
| 1111 | } | ||
diff --git a/src/lib/libcrypto/util/mkcerts.sh b/src/lib/libcrypto/util/mkcerts.sh new file mode 100644 index 0000000000..0184fcb70e --- /dev/null +++ b/src/lib/libcrypto/util/mkcerts.sh | |||
| @@ -0,0 +1,220 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # This script will re-make all the required certs. | ||
| 4 | # cd apps | ||
| 5 | # sh ../util/mkcerts.sh | ||
| 6 | # mv ca-cert.pem pca-cert.pem ../certs | ||
| 7 | # cd .. | ||
| 8 | # cat certs/*.pem >>apps/server.pem | ||
| 9 | # cat certs/*.pem >>apps/server2.pem | ||
| 10 | # SSLEAY=`pwd`/apps/ssleay; export SSLEAY | ||
| 11 | # sh tools/c_rehash certs | ||
| 12 | # | ||
| 13 | |||
| 14 | CAbits=1024 | ||
| 15 | SSLEAY="../apps/openssl" | ||
| 16 | CONF="-config ../apps/openssl.cnf" | ||
| 17 | |||
| 18 | # create pca request. | ||
| 19 | echo creating $CAbits bit PCA cert request | ||
| 20 | $SSLEAY req $CONF \ | ||
| 21 | -new -md5 -newkey $CAbits \ | ||
| 22 | -keyout pca-key.pem \ | ||
| 23 | -out pca-req.pem -nodes >/dev/null <<EOF | ||
| 24 | AU | ||
| 25 | Queensland | ||
| 26 | . | ||
| 27 | CryptSoft Pty Ltd | ||
| 28 | . | ||
| 29 | Test PCA (1024 bit) | ||
| 30 | |||
| 31 | |||
| 32 | |||
| 33 | EOF | ||
| 34 | |||
| 35 | if [ $? != 0 ]; then | ||
| 36 | echo problems generating PCA request | ||
| 37 | exit 1 | ||
| 38 | fi | ||
| 39 | |||
| 40 | #sign it. | ||
| 41 | echo | ||
| 42 | echo self signing PCA | ||
| 43 | $SSLEAY x509 -md5 -days 1461 \ | ||
| 44 | -req -signkey pca-key.pem \ | ||
| 45 | -CAcreateserial -CAserial pca-cert.srl \ | ||
| 46 | -in pca-req.pem -out pca-cert.pem | ||
| 47 | |||
| 48 | if [ $? != 0 ]; then | ||
| 49 | echo problems self signing PCA cert | ||
| 50 | exit 1 | ||
| 51 | fi | ||
| 52 | echo | ||
| 53 | |||
| 54 | # create ca request. | ||
| 55 | echo creating $CAbits bit CA cert request | ||
| 56 | $SSLEAY req $CONF \ | ||
| 57 | -new -md5 -newkey $CAbits \ | ||
| 58 | -keyout ca-key.pem \ | ||
| 59 | -out ca-req.pem -nodes >/dev/null <<EOF | ||
| 60 | AU | ||
| 61 | Queensland | ||
| 62 | . | ||
| 63 | CryptSoft Pty Ltd | ||
| 64 | . | ||
| 65 | Test CA (1024 bit) | ||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | EOF | ||
| 70 | |||
| 71 | if [ $? != 0 ]; then | ||
| 72 | echo problems generating CA request | ||
| 73 | exit 1 | ||
| 74 | fi | ||
| 75 | |||
| 76 | #sign it. | ||
| 77 | echo | ||
| 78 | echo signing CA | ||
| 79 | $SSLEAY x509 -md5 -days 1461 \ | ||
| 80 | -req \ | ||
| 81 | -CAcreateserial -CAserial pca-cert.srl \ | ||
| 82 | -CA pca-cert.pem -CAkey pca-key.pem \ | ||
| 83 | -in ca-req.pem -out ca-cert.pem | ||
| 84 | |||
| 85 | if [ $? != 0 ]; then | ||
| 86 | echo problems signing CA cert | ||
| 87 | exit 1 | ||
| 88 | fi | ||
| 89 | echo | ||
| 90 | |||
| 91 | # create server request. | ||
| 92 | echo creating 512 bit server cert request | ||
| 93 | $SSLEAY req $CONF \ | ||
| 94 | -new -md5 -newkey 512 \ | ||
| 95 | -keyout s512-key.pem \ | ||
| 96 | -out s512-req.pem -nodes >/dev/null <<EOF | ||
| 97 | AU | ||
| 98 | Queensland | ||
| 99 | . | ||
| 100 | CryptSoft Pty Ltd | ||
| 101 | . | ||
| 102 | Server test cert (512 bit) | ||
| 103 | |||
| 104 | |||
| 105 | |||
| 106 | EOF | ||
| 107 | |||
| 108 | if [ $? != 0 ]; then | ||
| 109 | echo problems generating 512 bit server cert request | ||
| 110 | exit 1 | ||
| 111 | fi | ||
| 112 | |||
| 113 | #sign it. | ||
| 114 | echo | ||
| 115 | echo signing 512 bit server cert | ||
| 116 | $SSLEAY x509 -md5 -days 365 \ | ||
| 117 | -req \ | ||
| 118 | -CAcreateserial -CAserial ca-cert.srl \ | ||
| 119 | -CA ca-cert.pem -CAkey ca-key.pem \ | ||
| 120 | -in s512-req.pem -out server.pem | ||
| 121 | |||
| 122 | if [ $? != 0 ]; then | ||
| 123 | echo problems signing 512 bit server cert | ||
| 124 | exit 1 | ||
| 125 | fi | ||
| 126 | echo | ||
| 127 | |||
| 128 | # create 1024 bit server request. | ||
| 129 | echo creating 1024 bit server cert request | ||
| 130 | $SSLEAY req $CONF \ | ||
| 131 | -new -md5 -newkey 1024 \ | ||
| 132 | -keyout s1024key.pem \ | ||
| 133 | -out s1024req.pem -nodes >/dev/null <<EOF | ||
| 134 | AU | ||
| 135 | Queensland | ||
| 136 | . | ||
| 137 | CryptSoft Pty Ltd | ||
| 138 | . | ||
| 139 | Server test cert (1024 bit) | ||
| 140 | |||
| 141 | |||
| 142 | |||
| 143 | EOF | ||
| 144 | |||
| 145 | if [ $? != 0 ]; then | ||
| 146 | echo problems generating 1024 bit server cert request | ||
| 147 | exit 1 | ||
| 148 | fi | ||
| 149 | |||
| 150 | #sign it. | ||
| 151 | echo | ||
| 152 | echo signing 1024 bit server cert | ||
| 153 | $SSLEAY x509 -md5 -days 365 \ | ||
| 154 | -req \ | ||
| 155 | -CAcreateserial -CAserial ca-cert.srl \ | ||
| 156 | -CA ca-cert.pem -CAkey ca-key.pem \ | ||
| 157 | -in s1024req.pem -out server2.pem | ||
| 158 | |||
| 159 | if [ $? != 0 ]; then | ||
| 160 | echo problems signing 1024 bit server cert | ||
| 161 | exit 1 | ||
| 162 | fi | ||
| 163 | echo | ||
| 164 | |||
| 165 | # create 512 bit client request. | ||
| 166 | echo creating 512 bit client cert request | ||
| 167 | $SSLEAY req $CONF \ | ||
| 168 | -new -md5 -newkey 512 \ | ||
| 169 | -keyout c512-key.pem \ | ||
| 170 | -out c512-req.pem -nodes >/dev/null <<EOF | ||
| 171 | AU | ||
| 172 | Queensland | ||
| 173 | . | ||
| 174 | CryptSoft Pty Ltd | ||
| 175 | . | ||
| 176 | Client test cert (512 bit) | ||
| 177 | |||
| 178 | |||
| 179 | |||
| 180 | EOF | ||
| 181 | |||
| 182 | if [ $? != 0 ]; then | ||
| 183 | echo problems generating 512 bit client cert request | ||
| 184 | exit 1 | ||
| 185 | fi | ||
| 186 | |||
| 187 | #sign it. | ||
| 188 | echo | ||
| 189 | echo signing 512 bit client cert | ||
| 190 | $SSLEAY x509 -md5 -days 365 \ | ||
| 191 | -req \ | ||
| 192 | -CAcreateserial -CAserial ca-cert.srl \ | ||
| 193 | -CA ca-cert.pem -CAkey ca-key.pem \ | ||
| 194 | -in c512-req.pem -out client.pem | ||
| 195 | |||
| 196 | if [ $? != 0 ]; then | ||
| 197 | echo problems signing 512 bit client cert | ||
| 198 | exit 1 | ||
| 199 | fi | ||
| 200 | |||
| 201 | echo cleanup | ||
| 202 | |||
| 203 | cat pca-key.pem >> pca-cert.pem | ||
| 204 | cat ca-key.pem >> ca-cert.pem | ||
| 205 | cat s512-key.pem >> server.pem | ||
| 206 | cat s1024key.pem >> server2.pem | ||
| 207 | cat c512-key.pem >> client.pem | ||
| 208 | |||
| 209 | for i in pca-cert.pem ca-cert.pem server.pem server2.pem client.pem | ||
| 210 | do | ||
| 211 | $SSLEAY x509 -issuer -subject -in $i -noout >$$ | ||
| 212 | cat $$ | ||
| 213 | /bin/cat $i >>$$ | ||
| 214 | /bin/mv $$ $i | ||
| 215 | done | ||
| 216 | |||
| 217 | #/bin/rm -f *key.pem *req.pem *.srl | ||
| 218 | |||
| 219 | echo Finished | ||
| 220 | |||
diff --git a/src/lib/libcrypto/util/mkdef.pl b/src/lib/libcrypto/util/mkdef.pl new file mode 100644 index 0000000000..8ecfde1848 --- /dev/null +++ b/src/lib/libcrypto/util/mkdef.pl | |||
| @@ -0,0 +1,1469 @@ | |||
| 1 | #!/usr/local/bin/perl -w | ||
| 2 | # | ||
| 3 | # generate a .def file | ||
| 4 | # | ||
| 5 | # It does this by parsing the header files and looking for the | ||
| 6 | # prototyped functions: it then prunes the output. | ||
| 7 | # | ||
| 8 | # Intermediary files are created, call libeay.num and ssleay.num,... | ||
| 9 | # Previously, they had the following format: | ||
| 10 | # | ||
| 11 | # routine-name nnnn | ||
| 12 | # | ||
| 13 | # But that isn't enough for a number of reasons, the first on being that | ||
| 14 | # this format is (needlessly) very Win32-centric, and even then... | ||
| 15 | # One of the biggest problems is that there's no information about what | ||
| 16 | # routines should actually be used, which varies with what crypto algorithms | ||
| 17 | # are disabled. Also, some operating systems (for example VMS with VAX C) | ||
| 18 | # need to keep track of the global variables as well as the functions. | ||
| 19 | # | ||
| 20 | # So, a remake of this script is done so as to include information on the | ||
| 21 | # kind of symbol it is (function or variable) and what algorithms they're | ||
| 22 | # part of. This will allow easy translating to .def files or the corresponding | ||
| 23 | # file in other operating systems (a .opt file for VMS, possibly with a .mar | ||
| 24 | # file). | ||
| 25 | # | ||
| 26 | # The format now becomes: | ||
| 27 | # | ||
| 28 | # routine-name nnnn info | ||
| 29 | # | ||
| 30 | # and the "info" part is actually a colon-separated string of fields with | ||
| 31 | # the following meaning: | ||
| 32 | # | ||
| 33 | # existence:platform:kind:algorithms | ||
| 34 | # | ||
| 35 | # - "existence" can be "EXIST" or "NOEXIST" depending on if the symbol is | ||
| 36 | # found somewhere in the source, | ||
| 37 | # - "platforms" is empty if it exists on all platforms, otherwise it contains | ||
| 38 | # comma-separated list of the platform, just as they are if the symbol exists | ||
| 39 | # for those platforms, or prepended with a "!" if not. This helps resolve | ||
| 40 | # symbol name variants for platforms where the names are too long for the | ||
| 41 | # compiler or linker, or if the systems is case insensitive and there is a | ||
| 42 | # clash, or the symbol is implemented differently (see | ||
| 43 | # EXPORT_VAR_AS_FUNCTION). This script assumes renaming of symbols is found | ||
| 44 | # in the file crypto/symhacks.h. | ||
| 45 | # The semantics for the platforms is that every item is checked against the | ||
| 46 | # environment. For the negative items ("!FOO"), if any of them is false | ||
| 47 | # (i.e. "FOO" is true) in the environment, the corresponding symbol can't be | ||
| 48 | # used. For the positive itms, if all of them are false in the environment, | ||
| 49 | # the corresponding symbol can't be used. Any combination of positive and | ||
| 50 | # negative items are possible, and of course leave room for some redundancy. | ||
| 51 | # - "kind" is "FUNCTION" or "VARIABLE". The meaning of that is obvious. | ||
| 52 | # - "algorithms" is a comma-separated list of algorithm names. This helps | ||
| 53 | # exclude symbols that are part of an algorithm that some user wants to | ||
| 54 | # exclude. | ||
| 55 | # | ||
| 56 | |||
| 57 | my $debug=0; | ||
| 58 | |||
| 59 | my $crypto_num= "util/libeay.num"; | ||
| 60 | my $ssl_num= "util/ssleay.num"; | ||
| 61 | my $libname; | ||
| 62 | |||
| 63 | my $do_update = 0; | ||
| 64 | my $do_rewrite = 1; | ||
| 65 | my $do_crypto = 0; | ||
| 66 | my $do_ssl = 0; | ||
| 67 | my $do_ctest = 0; | ||
| 68 | my $do_ctestall = 0; | ||
| 69 | my $do_checkexist = 0; | ||
| 70 | |||
| 71 | my $VMSVAX=0; | ||
| 72 | my $VMSAlpha=0; | ||
| 73 | my $VMS=0; | ||
| 74 | my $W32=0; | ||
| 75 | my $W16=0; | ||
| 76 | my $NT=0; | ||
| 77 | my $OS2=0; | ||
| 78 | # Set this to make typesafe STACK definitions appear in DEF | ||
| 79 | my $safe_stack_def = 0; | ||
| 80 | |||
| 81 | my @known_platforms = ( "__FreeBSD__", "PERL5", "NeXT", | ||
| 82 | "EXPORT_VAR_AS_FUNCTION", "ZLIB" ); | ||
| 83 | my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" ); | ||
| 84 | my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", | ||
| 85 | "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1", | ||
| 86 | "SHA256", "SHA512", "RIPEMD", | ||
| 87 | "MDC2", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", "HMAC", "AES", "CAMELLIA", "SEED", | ||
| 88 | # Envelope "algorithms" | ||
| 89 | "EVP", "X509", "ASN1_TYPEDEFS", | ||
| 90 | # Helper "algorithms" | ||
| 91 | "BIO", "COMP", "BUFFER", "LHASH", "STACK", "ERR", | ||
| 92 | "LOCKING", | ||
| 93 | # External "algorithms" | ||
| 94 | "FP_API", "STDIO", "SOCK", "KRB5", "DGRAM", | ||
| 95 | # Engines | ||
| 96 | "STATIC_ENGINE", "ENGINE", "HW", "GMP", | ||
| 97 | # RFC3779 support | ||
| 98 | "RFC3779", | ||
| 99 | # TLS extension support | ||
| 100 | "TLSEXT", | ||
| 101 | # CMS | ||
| 102 | "CMS", | ||
| 103 | # CryptoAPI Engine | ||
| 104 | "CAPIENG", | ||
| 105 | # Deprecated functions | ||
| 106 | "DEPRECATED" ); | ||
| 107 | |||
| 108 | my $options=""; | ||
| 109 | open(IN,"<Makefile") || die "unable to open Makefile!\n"; | ||
| 110 | while(<IN>) { | ||
| 111 | $options=$1 if (/^OPTIONS=(.*)$/); | ||
| 112 | } | ||
| 113 | close(IN); | ||
| 114 | |||
| 115 | # The following ciphers may be excluded (by Configure). This means functions | ||
| 116 | # defined with ifndef(NO_XXX) are not included in the .def file, and everything | ||
| 117 | # in directory xxx is ignored. | ||
| 118 | my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf; | ||
| 119 | my $no_cast; | ||
| 120 | my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2; | ||
| 121 | my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5; | ||
| 122 | my $no_ec; my $no_ecdsa; my $no_ecdh; my $no_engine; my $no_hw; my $no_camellia; | ||
| 123 | my $no_seed; | ||
| 124 | my $no_fp_api; my $no_static_engine; my $no_gmp; my $no_deprecated; | ||
| 125 | my $no_rfc3779; my $no_tlsext; my $no_cms; my $no_capieng; | ||
| 126 | |||
| 127 | |||
| 128 | foreach (@ARGV, split(/ /, $options)) | ||
| 129 | { | ||
| 130 | $debug=1 if $_ eq "debug"; | ||
| 131 | $W32=1 if $_ eq "32"; | ||
| 132 | $W16=1 if $_ eq "16"; | ||
| 133 | if($_ eq "NT") { | ||
| 134 | $W32 = 1; | ||
| 135 | $NT = 1; | ||
| 136 | } | ||
| 137 | if ($_ eq "VMS-VAX") { | ||
| 138 | $VMS=1; | ||
| 139 | $VMSVAX=1; | ||
| 140 | } | ||
| 141 | if ($_ eq "VMS-Alpha") { | ||
| 142 | $VMS=1; | ||
| 143 | $VMSAlpha=1; | ||
| 144 | } | ||
| 145 | $VMS=1 if $_ eq "VMS"; | ||
| 146 | $OS2=1 if $_ eq "OS2"; | ||
| 147 | if ($_ eq "zlib" || $_ eq "zlib-dynamic" | ||
| 148 | || $_ eq "enable-zlib-dynamic") { | ||
| 149 | $zlib = 1; | ||
| 150 | } | ||
| 151 | |||
| 152 | |||
| 153 | $do_ssl=1 if $_ eq "ssleay"; | ||
| 154 | if ($_ eq "ssl") { | ||
| 155 | $do_ssl=1; | ||
| 156 | $libname=$_ | ||
| 157 | } | ||
| 158 | $do_crypto=1 if $_ eq "libeay"; | ||
| 159 | if ($_ eq "crypto") { | ||
| 160 | $do_crypto=1; | ||
| 161 | $libname=$_; | ||
| 162 | } | ||
| 163 | $no_static_engine=1 if $_ eq "no-static-engine"; | ||
| 164 | $no_static_engine=0 if $_ eq "enable-static-engine"; | ||
| 165 | $do_update=1 if $_ eq "update"; | ||
| 166 | $do_rewrite=1 if $_ eq "rewrite"; | ||
| 167 | $do_ctest=1 if $_ eq "ctest"; | ||
| 168 | $do_ctestall=1 if $_ eq "ctestall"; | ||
| 169 | $do_checkexist=1 if $_ eq "exist"; | ||
| 170 | #$safe_stack_def=1 if $_ eq "-DDEBUG_SAFESTACK"; | ||
| 171 | |||
| 172 | if (/^no-rc2$/) { $no_rc2=1; } | ||
| 173 | elsif (/^no-rc4$/) { $no_rc4=1; } | ||
| 174 | elsif (/^no-rc5$/) { $no_rc5=1; } | ||
| 175 | elsif (/^no-idea$/) { $no_idea=1; } | ||
| 176 | elsif (/^no-des$/) { $no_des=1; $no_mdc2=1; } | ||
| 177 | elsif (/^no-bf$/) { $no_bf=1; } | ||
| 178 | elsif (/^no-cast$/) { $no_cast=1; } | ||
| 179 | elsif (/^no-md2$/) { $no_md2=1; } | ||
| 180 | elsif (/^no-md4$/) { $no_md4=1; } | ||
| 181 | elsif (/^no-md5$/) { $no_md5=1; } | ||
| 182 | elsif (/^no-sha$/) { $no_sha=1; } | ||
| 183 | elsif (/^no-ripemd$/) { $no_ripemd=1; } | ||
| 184 | elsif (/^no-mdc2$/) { $no_mdc2=1; } | ||
| 185 | elsif (/^no-rsa$/) { $no_rsa=1; } | ||
| 186 | elsif (/^no-dsa$/) { $no_dsa=1; } | ||
| 187 | elsif (/^no-dh$/) { $no_dh=1; } | ||
| 188 | elsif (/^no-ec$/) { $no_ec=1; } | ||
| 189 | elsif (/^no-ecdsa$/) { $no_ecdsa=1; } | ||
| 190 | elsif (/^no-ecdh$/) { $no_ecdh=1; } | ||
| 191 | elsif (/^no-hmac$/) { $no_hmac=1; } | ||
| 192 | elsif (/^no-aes$/) { $no_aes=1; } | ||
| 193 | elsif (/^no-camellia$/) { $no_camellia=1; } | ||
| 194 | elsif (/^no-seed$/) { $no_seed=1; } | ||
| 195 | elsif (/^no-evp$/) { $no_evp=1; } | ||
| 196 | elsif (/^no-lhash$/) { $no_lhash=1; } | ||
| 197 | elsif (/^no-stack$/) { $no_stack=1; } | ||
| 198 | elsif (/^no-err$/) { $no_err=1; } | ||
| 199 | elsif (/^no-buffer$/) { $no_buffer=1; } | ||
| 200 | elsif (/^no-bio$/) { $no_bio=1; } | ||
| 201 | #elsif (/^no-locking$/) { $no_locking=1; } | ||
| 202 | elsif (/^no-comp$/) { $no_comp=1; } | ||
| 203 | elsif (/^no-dso$/) { $no_dso=1; } | ||
| 204 | elsif (/^no-krb5$/) { $no_krb5=1; } | ||
| 205 | elsif (/^no-engine$/) { $no_engine=1; } | ||
| 206 | elsif (/^no-hw$/) { $no_hw=1; } | ||
| 207 | elsif (/^no-gmp$/) { $no_gmp=1; } | ||
| 208 | elsif (/^no-rfc3779$/) { $no_rfc3779=1; } | ||
| 209 | elsif (/^no-tlsext$/) { $no_tlsext=1; } | ||
| 210 | elsif (/^no-cms$/) { $no_cms=1; } | ||
| 211 | elsif (/^no-capieng$/) { $no_capieng=1; } | ||
| 212 | } | ||
| 213 | |||
| 214 | |||
| 215 | if (!$libname) { | ||
| 216 | if ($do_ssl) { | ||
| 217 | $libname="SSLEAY"; | ||
| 218 | } | ||
| 219 | if ($do_crypto) { | ||
| 220 | $libname="LIBEAY"; | ||
| 221 | } | ||
| 222 | } | ||
| 223 | |||
| 224 | # If no platform is given, assume WIN32 | ||
| 225 | if ($W32 + $W16 + $VMS + $OS2 == 0) { | ||
| 226 | $W32 = 1; | ||
| 227 | } | ||
| 228 | |||
| 229 | # Add extra knowledge | ||
| 230 | if ($W16) { | ||
| 231 | $no_fp_api=1; | ||
| 232 | } | ||
| 233 | |||
| 234 | if (!$do_ssl && !$do_crypto) | ||
| 235 | { | ||
| 236 | print STDERR "usage: $0 ( ssl | crypto ) [ 16 | 32 | NT | OS2 ]\n"; | ||
| 237 | exit(1); | ||
| 238 | } | ||
| 239 | |||
| 240 | %ssl_list=&load_numbers($ssl_num); | ||
| 241 | $max_ssl = $max_num; | ||
| 242 | %crypto_list=&load_numbers($crypto_num); | ||
| 243 | $max_crypto = $max_num; | ||
| 244 | |||
| 245 | my $ssl="ssl/ssl.h"; | ||
| 246 | $ssl.=" ssl/kssl.h"; | ||
| 247 | $ssl.=" ssl/tls1.h"; | ||
| 248 | |||
| 249 | my $crypto ="crypto/crypto.h"; | ||
| 250 | $crypto.=" crypto/o_dir.h"; | ||
| 251 | $crypto.=" crypto/des/des.h crypto/des/des_old.h" ; # unless $no_des; | ||
| 252 | $crypto.=" crypto/idea/idea.h" ; # unless $no_idea; | ||
| 253 | $crypto.=" crypto/rc4/rc4.h" ; # unless $no_rc4; | ||
| 254 | $crypto.=" crypto/rc5/rc5.h" ; # unless $no_rc5; | ||
| 255 | $crypto.=" crypto/rc2/rc2.h" ; # unless $no_rc2; | ||
| 256 | $crypto.=" crypto/bf/blowfish.h" ; # unless $no_bf; | ||
| 257 | $crypto.=" crypto/cast/cast.h" ; # unless $no_cast; | ||
| 258 | $crypto.=" crypto/md2/md2.h" ; # unless $no_md2; | ||
| 259 | $crypto.=" crypto/md4/md4.h" ; # unless $no_md4; | ||
| 260 | $crypto.=" crypto/md5/md5.h" ; # unless $no_md5; | ||
| 261 | $crypto.=" crypto/mdc2/mdc2.h" ; # unless $no_mdc2; | ||
| 262 | $crypto.=" crypto/sha/sha.h" ; # unless $no_sha; | ||
| 263 | $crypto.=" crypto/ripemd/ripemd.h" ; # unless $no_ripemd; | ||
| 264 | $crypto.=" crypto/aes/aes.h" ; # unless $no_aes; | ||
| 265 | $crypto.=" crypto/camellia/camellia.h" ; # unless $no_camellia; | ||
| 266 | $crypto.=" crypto/seed/seed.h"; # unless $no_seed; | ||
| 267 | |||
| 268 | $crypto.=" crypto/bn/bn.h"; | ||
| 269 | $crypto.=" crypto/rsa/rsa.h" ; # unless $no_rsa; | ||
| 270 | $crypto.=" crypto/dsa/dsa.h" ; # unless $no_dsa; | ||
| 271 | $crypto.=" crypto/dh/dh.h" ; # unless $no_dh; | ||
| 272 | $crypto.=" crypto/ec/ec.h" ; # unless $no_ec; | ||
| 273 | $crypto.=" crypto/ecdsa/ecdsa.h" ; # unless $no_ecdsa; | ||
| 274 | $crypto.=" crypto/ecdh/ecdh.h" ; # unless $no_ecdh; | ||
| 275 | $crypto.=" crypto/hmac/hmac.h" ; # unless $no_hmac; | ||
| 276 | |||
| 277 | $crypto.=" crypto/engine/engine.h"; # unless $no_engine; | ||
| 278 | $crypto.=" crypto/stack/stack.h" ; # unless $no_stack; | ||
| 279 | $crypto.=" crypto/buffer/buffer.h" ; # unless $no_buffer; | ||
| 280 | $crypto.=" crypto/bio/bio.h" ; # unless $no_bio; | ||
| 281 | $crypto.=" crypto/dso/dso.h" ; # unless $no_dso; | ||
| 282 | $crypto.=" crypto/lhash/lhash.h" ; # unless $no_lhash; | ||
| 283 | $crypto.=" crypto/conf/conf.h"; | ||
| 284 | $crypto.=" crypto/txt_db/txt_db.h"; | ||
| 285 | |||
| 286 | $crypto.=" crypto/evp/evp.h" ; # unless $no_evp; | ||
| 287 | $crypto.=" crypto/objects/objects.h"; | ||
| 288 | $crypto.=" crypto/pem/pem.h"; | ||
| 289 | #$crypto.=" crypto/meth/meth.h"; | ||
| 290 | $crypto.=" crypto/asn1/asn1.h"; | ||
| 291 | $crypto.=" crypto/asn1/asn1t.h"; | ||
| 292 | $crypto.=" crypto/asn1/asn1_mac.h"; | ||
| 293 | $crypto.=" crypto/err/err.h" ; # unless $no_err; | ||
| 294 | $crypto.=" crypto/pkcs7/pkcs7.h"; | ||
| 295 | $crypto.=" crypto/pkcs12/pkcs12.h"; | ||
| 296 | $crypto.=" crypto/x509/x509.h"; | ||
| 297 | $crypto.=" crypto/x509/x509_vfy.h"; | ||
| 298 | $crypto.=" crypto/x509v3/x509v3.h"; | ||
| 299 | $crypto.=" crypto/rand/rand.h"; | ||
| 300 | $crypto.=" crypto/comp/comp.h" ; # unless $no_comp; | ||
| 301 | $crypto.=" crypto/ocsp/ocsp.h"; | ||
| 302 | $crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; | ||
| 303 | $crypto.=" crypto/krb5/krb5_asn.h"; | ||
| 304 | $crypto.=" crypto/tmdiff.h"; | ||
| 305 | $crypto.=" crypto/store/store.h"; | ||
| 306 | $crypto.=" crypto/pqueue/pqueue.h"; | ||
| 307 | $crypto.=" crypto/cms/cms.h"; | ||
| 308 | |||
| 309 | my $symhacks="crypto/symhacks.h"; | ||
| 310 | |||
| 311 | my @ssl_symbols = &do_defs("SSLEAY", $ssl, $symhacks); | ||
| 312 | my @crypto_symbols = &do_defs("LIBEAY", $crypto, $symhacks); | ||
| 313 | |||
| 314 | if ($do_update) { | ||
| 315 | |||
| 316 | if ($do_ssl == 1) { | ||
| 317 | |||
| 318 | &maybe_add_info("SSLEAY",*ssl_list,@ssl_symbols); | ||
| 319 | if ($do_rewrite == 1) { | ||
| 320 | open(OUT, ">$ssl_num"); | ||
| 321 | &rewrite_numbers(*OUT,"SSLEAY",*ssl_list,@ssl_symbols); | ||
| 322 | } else { | ||
| 323 | open(OUT, ">>$ssl_num"); | ||
| 324 | } | ||
| 325 | &update_numbers(*OUT,"SSLEAY",*ssl_list,$max_ssl,@ssl_symbols); | ||
| 326 | close OUT; | ||
| 327 | } | ||
| 328 | |||
| 329 | if($do_crypto == 1) { | ||
| 330 | |||
| 331 | &maybe_add_info("LIBEAY",*crypto_list,@crypto_symbols); | ||
| 332 | if ($do_rewrite == 1) { | ||
| 333 | open(OUT, ">$crypto_num"); | ||
| 334 | &rewrite_numbers(*OUT,"LIBEAY",*crypto_list,@crypto_symbols); | ||
| 335 | } else { | ||
| 336 | open(OUT, ">>$crypto_num"); | ||
| 337 | } | ||
| 338 | &update_numbers(*OUT,"LIBEAY",*crypto_list,$max_crypto,@crypto_symbols); | ||
| 339 | close OUT; | ||
| 340 | } | ||
| 341 | |||
| 342 | } elsif ($do_checkexist) { | ||
| 343 | &check_existing(*ssl_list, @ssl_symbols) | ||
| 344 | if $do_ssl == 1; | ||
| 345 | &check_existing(*crypto_list, @crypto_symbols) | ||
| 346 | if $do_crypto == 1; | ||
| 347 | } elsif ($do_ctest || $do_ctestall) { | ||
| 348 | |||
| 349 | print <<"EOF"; | ||
| 350 | |||
| 351 | /* Test file to check all DEF file symbols are present by trying | ||
| 352 | * to link to all of them. This is *not* intended to be run! | ||
| 353 | */ | ||
| 354 | |||
| 355 | int main() | ||
| 356 | { | ||
| 357 | EOF | ||
| 358 | &print_test_file(*STDOUT,"SSLEAY",*ssl_list,$do_ctestall,@ssl_symbols) | ||
| 359 | if $do_ssl == 1; | ||
| 360 | |||
| 361 | &print_test_file(*STDOUT,"LIBEAY",*crypto_list,$do_ctestall,@crypto_symbols) | ||
| 362 | if $do_crypto == 1; | ||
| 363 | |||
| 364 | print "}\n"; | ||
| 365 | |||
| 366 | } else { | ||
| 367 | |||
| 368 | &print_def_file(*STDOUT,$libname,*ssl_list,@ssl_symbols) | ||
| 369 | if $do_ssl == 1; | ||
| 370 | |||
| 371 | &print_def_file(*STDOUT,$libname,*crypto_list,@crypto_symbols) | ||
| 372 | if $do_crypto == 1; | ||
| 373 | |||
| 374 | } | ||
| 375 | |||
| 376 | |||
| 377 | sub do_defs | ||
| 378 | { | ||
| 379 | my($name,$files,$symhacksfile)=@_; | ||
| 380 | my $file; | ||
| 381 | my @ret; | ||
| 382 | my %syms; | ||
| 383 | my %platform; # For anything undefined, we assume "" | ||
| 384 | my %kind; # For anything undefined, we assume "FUNCTION" | ||
| 385 | my %algorithm; # For anything undefined, we assume "" | ||
| 386 | my %variant; | ||
| 387 | my %variant_cnt; # To be able to allocate "name{n}" if "name" | ||
| 388 | # is the same name as the original. | ||
| 389 | my $cpp; | ||
| 390 | my %unknown_algorithms = (); | ||
| 391 | |||
| 392 | foreach $file (split(/\s+/,$symhacksfile." ".$files)) | ||
| 393 | { | ||
| 394 | print STDERR "DEBUG: starting on $file:\n" if $debug; | ||
| 395 | open(IN,"<$file") || die "unable to open $file:$!\n"; | ||
| 396 | my $line = "", my $def= ""; | ||
| 397 | my %tag = ( | ||
| 398 | (map { $_ => 0 } @known_platforms), | ||
| 399 | (map { "OPENSSL_SYS_".$_ => 0 } @known_ossl_platforms), | ||
| 400 | (map { "OPENSSL_NO_".$_ => 0 } @known_algorithms), | ||
| 401 | NOPROTO => 0, | ||
| 402 | PERL5 => 0, | ||
| 403 | _WINDLL => 0, | ||
| 404 | CONST_STRICT => 0, | ||
| 405 | TRUE => 1, | ||
| 406 | ); | ||
| 407 | my $symhacking = $file eq $symhacksfile; | ||
| 408 | my @current_platforms = (); | ||
| 409 | my @current_algorithms = (); | ||
| 410 | |||
| 411 | # params: symbol, alias, platforms, kind | ||
| 412 | # The reason to put this subroutine in a variable is that | ||
| 413 | # it will otherwise create it's own, unshared, version of | ||
| 414 | # %tag and %variant... | ||
| 415 | my $make_variant = sub | ||
| 416 | { | ||
| 417 | my ($s, $a, $p, $k) = @_; | ||
| 418 | my ($a1, $a2); | ||
| 419 | |||
| 420 | print STDERR "DEBUG: make_variant: Entered with ",$s,", ",$a,", ",(defined($p)?$p:""),", ",(defined($k)?$k:""),"\n" if $debug; | ||
| 421 | if (defined($p)) | ||
| 422 | { | ||
| 423 | $a1 = join(",",$p, | ||
| 424 | grep(!/^$/, | ||
| 425 | map { $tag{$_} == 1 ? $_ : "" } | ||
| 426 | @known_platforms)); | ||
| 427 | } | ||
| 428 | else | ||
| 429 | { | ||
| 430 | $a1 = join(",", | ||
| 431 | grep(!/^$/, | ||
| 432 | map { $tag{$_} == 1 ? $_ : "" } | ||
| 433 | @known_platforms)); | ||
| 434 | } | ||
| 435 | $a2 = join(",", | ||
| 436 | grep(!/^$/, | ||
| 437 | map { $tag{"OPENSSL_SYS_".$_} == 1 ? $_ : "" } | ||
| 438 | @known_ossl_platforms)); | ||
| 439 | print STDERR "DEBUG: make_variant: a1 = $a1; a2 = $a2\n" if $debug; | ||
| 440 | if ($a1 eq "") { $a1 = $a2; } | ||
| 441 | elsif ($a1 ne "" && $a2 ne "") { $a1 .= ",".$a2; } | ||
| 442 | if ($a eq $s) | ||
| 443 | { | ||
| 444 | if (!defined($variant_cnt{$s})) | ||
| 445 | { | ||
| 446 | $variant_cnt{$s} = 0; | ||
| 447 | } | ||
| 448 | $variant_cnt{$s}++; | ||
| 449 | $a .= "{$variant_cnt{$s}}"; | ||
| 450 | } | ||
| 451 | my $toadd = $a.":".$a1.(defined($k)?":".$k:""); | ||
| 452 | my $togrep = $s.'(\{[0-9]+\})?:'.$a1.(defined($k)?":".$k:""); | ||
| 453 | if (!grep(/^$togrep$/, | ||
| 454 | split(/;/, defined($variant{$s})?$variant{$s}:""))) { | ||
| 455 | if (defined($variant{$s})) { $variant{$s} .= ";"; } | ||
| 456 | $variant{$s} .= $toadd; | ||
| 457 | } | ||
| 458 | print STDERR "DEBUG: make_variant: Exit with variant of ",$s," = ",$variant{$s},"\n" if $debug; | ||
| 459 | }; | ||
| 460 | |||
| 461 | print STDERR "DEBUG: parsing ----------\n" if $debug; | ||
| 462 | while(<IN>) { | ||
| 463 | if (/\/\* Error codes for the \w+ functions\. \*\//) | ||
| 464 | { | ||
| 465 | undef @tag; | ||
| 466 | last; | ||
| 467 | } | ||
| 468 | if ($line ne '') { | ||
| 469 | $_ = $line . $_; | ||
| 470 | $line = ''; | ||
| 471 | } | ||
| 472 | |||
| 473 | if (/\\$/) { | ||
| 474 | chomp; # remove eol | ||
| 475 | chop; # remove ending backslash | ||
| 476 | $line = $_; | ||
| 477 | next; | ||
| 478 | } | ||
| 479 | |||
| 480 | if(/\/\*/) { | ||
| 481 | if (not /\*\//) { # multiline comment... | ||
| 482 | $line = $_; # ... just accumulate | ||
| 483 | next; | ||
| 484 | } else { | ||
| 485 | s/\/\*.*?\*\///gs;# wipe it | ||
| 486 | } | ||
| 487 | } | ||
| 488 | |||
| 489 | if ($cpp) { | ||
| 490 | $cpp++ if /^#\s*if/; | ||
| 491 | $cpp-- if /^#\s*endif/; | ||
| 492 | next; | ||
| 493 | } | ||
| 494 | $cpp = 1 if /^#.*ifdef.*cplusplus/; | ||
| 495 | |||
| 496 | s/{[^{}]*}//gs; # ignore {} blocks | ||
| 497 | print STDERR "DEBUG: \$def=\"$def\"\n" if $debug && $def ne ""; | ||
| 498 | print STDERR "DEBUG: \$_=\"$_\"\n" if $debug; | ||
| 499 | if (/^\#\s*ifndef\s+(.*)/) { | ||
| 500 | push(@tag,"-"); | ||
| 501 | push(@tag,$1); | ||
| 502 | $tag{$1}=-1; | ||
| 503 | print STDERR "DEBUG: $file: found tag $1 = -1\n" if $debug; | ||
| 504 | } elsif (/^\#\s*if\s+!defined\(([^\)]+)\)/) { | ||
| 505 | push(@tag,"-"); | ||
| 506 | if (/^\#\s*if\s+(!defined\(([^\)]+)\)(\s+\&\&\s+!defined\(([^\)]+)\))*)$/) { | ||
| 507 | my $tmp_1 = $1; | ||
| 508 | my $tmp_; | ||
| 509 | foreach $tmp_ (split '\&\&',$tmp_1) { | ||
| 510 | $tmp_ =~ /!defined\(([^\)]+)\)/; | ||
| 511 | print STDERR "DEBUG: $file: found tag $1 = -1\n" if $debug; | ||
| 512 | push(@tag,$1); | ||
| 513 | $tag{$1}=-1; | ||
| 514 | } | ||
| 515 | } else { | ||
| 516 | print STDERR "Warning: $file: complicated expression: $_" if $debug; # because it is O... | ||
| 517 | print STDERR "DEBUG: $file: found tag $1 = -1\n" if $debug; | ||
| 518 | push(@tag,$1); | ||
| 519 | $tag{$1}=-1; | ||
| 520 | } | ||
| 521 | } elsif (/^\#\s*ifdef\s+(\S*)/) { | ||
| 522 | push(@tag,"-"); | ||
| 523 | push(@tag,$1); | ||
| 524 | $tag{$1}=1; | ||
| 525 | print STDERR "DEBUG: $file: found tag $1 = 1\n" if $debug; | ||
| 526 | } elsif (/^\#\s*if\s+defined\(([^\)]+)\)/) { | ||
| 527 | push(@tag,"-"); | ||
| 528 | if (/^\#\s*if\s+(defined\(([^\)]+)\)(\s+\|\|\s+defined\(([^\)]+)\))*)$/) { | ||
| 529 | my $tmp_1 = $1; | ||
| 530 | my $tmp_; | ||
| 531 | foreach $tmp_ (split '\|\|',$tmp_1) { | ||
| 532 | $tmp_ =~ /defined\(([^\)]+)\)/; | ||
| 533 | print STDERR "DEBUG: $file: found tag $1 = 1\n" if $debug; | ||
| 534 | push(@tag,$1); | ||
| 535 | $tag{$1}=1; | ||
| 536 | } | ||
| 537 | } else { | ||
| 538 | print STDERR "Warning: $file: complicated expression: $_\n" if $debug; # because it is O... | ||
| 539 | print STDERR "DEBUG: $file: found tag $1 = 1\n" if $debug; | ||
| 540 | push(@tag,$1); | ||
| 541 | $tag{$1}=1; | ||
| 542 | } | ||
| 543 | } elsif (/^\#\s*error\s+(\w+) is disabled\./) { | ||
| 544 | my $tag_i = $#tag; | ||
| 545 | while($tag[$tag_i] ne "-") { | ||
| 546 | if ($tag[$tag_i] eq "OPENSSL_NO_".$1) { | ||
| 547 | $tag{$tag[$tag_i]}=2; | ||
| 548 | print STDERR "DEBUG: $file: chaged tag $1 = 2\n" if $debug; | ||
| 549 | } | ||
| 550 | $tag_i--; | ||
| 551 | } | ||
| 552 | } elsif (/^\#\s*endif/) { | ||
| 553 | my $tag_i = $#tag; | ||
| 554 | while($tag_i > 0 && $tag[$tag_i] ne "-") { | ||
| 555 | my $t=$tag[$tag_i]; | ||
| 556 | print STDERR "DEBUG: \$t=\"$t\"\n" if $debug; | ||
| 557 | if ($tag{$t}==2) { | ||
| 558 | $tag{$t}=-1; | ||
| 559 | } else { | ||
| 560 | $tag{$t}=0; | ||
| 561 | } | ||
| 562 | print STDERR "DEBUG: $file: changed tag ",$t," = ",$tag{$t},"\n" if $debug; | ||
| 563 | pop(@tag); | ||
| 564 | if ($t =~ /^OPENSSL_NO_([A-Z0-9_]+)$/) { | ||
| 565 | $t=$1; | ||
| 566 | } else { | ||
| 567 | $t=""; | ||
| 568 | } | ||
| 569 | if ($t ne "" | ||
| 570 | && !grep(/^$t$/, @known_algorithms)) { | ||
| 571 | $unknown_algorithms{$t} = 1; | ||
| 572 | #print STDERR "DEBUG: Added as unknown algorithm: $t\n" if $debug; | ||
| 573 | } | ||
| 574 | $tag_i--; | ||
| 575 | } | ||
| 576 | pop(@tag); | ||
| 577 | } elsif (/^\#\s*else/) { | ||
| 578 | my $tag_i = $#tag; | ||
| 579 | while($tag[$tag_i] ne "-") { | ||
| 580 | my $t=$tag[$tag_i]; | ||
| 581 | $tag{$t}= -$tag{$t}; | ||
| 582 | print STDERR "DEBUG: $file: changed tag ",$t," = ",$tag{$t},"\n" if $debug; | ||
| 583 | $tag_i--; | ||
| 584 | } | ||
| 585 | } elsif (/^\#\s*if\s+1/) { | ||
| 586 | push(@tag,"-"); | ||
| 587 | # Dummy tag | ||
| 588 | push(@tag,"TRUE"); | ||
| 589 | $tag{"TRUE"}=1; | ||
| 590 | print STDERR "DEBUG: $file: found 1\n" if $debug; | ||
| 591 | } elsif (/^\#\s*if\s+0/) { | ||
| 592 | push(@tag,"-"); | ||
| 593 | # Dummy tag | ||
| 594 | push(@tag,"TRUE"); | ||
| 595 | $tag{"TRUE"}=-1; | ||
| 596 | print STDERR "DEBUG: $file: found 0\n" if $debug; | ||
| 597 | } elsif (/^\#\s*define\s+(\w+)\s+(\w+)/ | ||
| 598 | && $symhacking && $tag{'TRUE'} != -1) { | ||
| 599 | # This is for aliasing. When we find an alias, | ||
| 600 | # we have to invert | ||
| 601 | &$make_variant($1,$2); | ||
| 602 | print STDERR "DEBUG: $file: defined $1 = $2\n" if $debug; | ||
| 603 | } | ||
| 604 | if (/^\#/) { | ||
| 605 | @current_platforms = | ||
| 606 | grep(!/^$/, | ||
| 607 | map { $tag{$_} == 1 ? $_ : | ||
| 608 | $tag{$_} == -1 ? "!".$_ : "" } | ||
| 609 | @known_platforms); | ||
| 610 | push @current_platforms | ||
| 611 | , grep(!/^$/, | ||
| 612 | map { $tag{"OPENSSL_SYS_".$_} == 1 ? $_ : | ||
| 613 | $tag{"OPENSSL_SYS_".$_} == -1 ? "!".$_ : "" } | ||
| 614 | @known_ossl_platforms); | ||
| 615 | @current_algorithms = | ||
| 616 | grep(!/^$/, | ||
| 617 | map { $tag{"OPENSSL_NO_".$_} == -1 ? $_ : "" } | ||
| 618 | @known_algorithms); | ||
| 619 | $def .= | ||
| 620 | "#INFO:" | ||
| 621 | .join(',',@current_platforms).":" | ||
| 622 | .join(',',@current_algorithms).";"; | ||
| 623 | next; | ||
| 624 | } | ||
| 625 | if ($tag{'TRUE'} != -1) { | ||
| 626 | if (/^\s*DECLARE_STACK_OF\s*\(\s*(\w*)\s*\)/) { | ||
| 627 | next; | ||
| 628 | } elsif (/^\s*DECLARE_ASN1_ENCODE_FUNCTIONS\s*\(\s*(\w*)\s*,\s*(\w*)\s*,\s*(\w*)\s*\)/) { | ||
| 629 | $def .= "int d2i_$3(void);"; | ||
| 630 | $def .= "int i2d_$3(void);"; | ||
| 631 | # Variant for platforms that do not | ||
| 632 | # have to access globale variables | ||
| 633 | # in shared libraries through functions | ||
| 634 | $def .= | ||
| 635 | "#INFO:" | ||
| 636 | .join(',',"!EXPORT_VAR_AS_FUNCTION",@current_platforms).":" | ||
| 637 | .join(',',@current_algorithms).";"; | ||
| 638 | $def .= "OPENSSL_EXTERN int $2_it;"; | ||
| 639 | $def .= | ||
| 640 | "#INFO:" | ||
| 641 | .join(',',@current_platforms).":" | ||
| 642 | .join(',',@current_algorithms).";"; | ||
| 643 | # Variant for platforms that have to | ||
| 644 | # access globale variables in shared | ||
| 645 | # libraries through functions | ||
| 646 | &$make_variant("$2_it","$2_it", | ||
| 647 | "EXPORT_VAR_AS_FUNCTION", | ||
| 648 | "FUNCTION"); | ||
| 649 | next; | ||
| 650 | } elsif (/^\s*DECLARE_ASN1_FUNCTIONS_fname\s*\(\s*(\w*)\s*,\s*(\w*)\s*,\s*(\w*)\s*\)/) { | ||
| 651 | $def .= "int d2i_$3(void);"; | ||
| 652 | $def .= "int i2d_$3(void);"; | ||
| 653 | $def .= "int $3_free(void);"; | ||
| 654 | $def .= "int $3_new(void);"; | ||
| 655 | # Variant for platforms that do not | ||
| 656 | # have to access globale variables | ||
| 657 | # in shared libraries through functions | ||
| 658 | $def .= | ||
| 659 | "#INFO:" | ||
| 660 | .join(',',"!EXPORT_VAR_AS_FUNCTION",@current_platforms).":" | ||
| 661 | .join(',',@current_algorithms).";"; | ||
| 662 | $def .= "OPENSSL_EXTERN int $2_it;"; | ||
| 663 | $def .= | ||
| 664 | "#INFO:" | ||
| 665 | .join(',',@current_platforms).":" | ||
| 666 | .join(',',@current_algorithms).";"; | ||
| 667 | # Variant for platforms that have to | ||
| 668 | # access globale variables in shared | ||
| 669 | # libraries through functions | ||
| 670 | &$make_variant("$2_it","$2_it", | ||
| 671 | "EXPORT_VAR_AS_FUNCTION", | ||
| 672 | "FUNCTION"); | ||
| 673 | next; | ||
| 674 | } elsif (/^\s*DECLARE_ASN1_FUNCTIONS\s*\(\s*(\w*)\s*\)/ || | ||
| 675 | /^\s*DECLARE_ASN1_FUNCTIONS_const\s*\(\s*(\w*)\s*\)/) { | ||
| 676 | $def .= "int d2i_$1(void);"; | ||
| 677 | $def .= "int i2d_$1(void);"; | ||
| 678 | $def .= "int $1_free(void);"; | ||
| 679 | $def .= "int $1_new(void);"; | ||
| 680 | # Variant for platforms that do not | ||
| 681 | # have to access globale variables | ||
| 682 | # in shared libraries through functions | ||
| 683 | $def .= | ||
| 684 | "#INFO:" | ||
| 685 | .join(',',"!EXPORT_VAR_AS_FUNCTION",@current_platforms).":" | ||
| 686 | .join(',',@current_algorithms).";"; | ||
| 687 | $def .= "OPENSSL_EXTERN int $1_it;"; | ||
| 688 | $def .= | ||
| 689 | "#INFO:" | ||
| 690 | .join(',',@current_platforms).":" | ||
| 691 | .join(',',@current_algorithms).";"; | ||
| 692 | # Variant for platforms that have to | ||
| 693 | # access globale variables in shared | ||
| 694 | # libraries through functions | ||
| 695 | &$make_variant("$1_it","$1_it", | ||
| 696 | "EXPORT_VAR_AS_FUNCTION", | ||
| 697 | "FUNCTION"); | ||
| 698 | next; | ||
| 699 | } elsif (/^\s*DECLARE_ASN1_ENCODE_FUNCTIONS_const\s*\(\s*(\w*)\s*,\s*(\w*)\s*\)/) { | ||
| 700 | $def .= "int d2i_$2(void);"; | ||
| 701 | $def .= "int i2d_$2(void);"; | ||
| 702 | # Variant for platforms that do not | ||
| 703 | # have to access globale variables | ||
| 704 | # in shared libraries through functions | ||
| 705 | $def .= | ||
| 706 | "#INFO:" | ||
| 707 | .join(',',"!EXPORT_VAR_AS_FUNCTION",@current_platforms).":" | ||
| 708 | .join(',',@current_algorithms).";"; | ||
| 709 | $def .= "OPENSSL_EXTERN int $2_it;"; | ||
| 710 | $def .= | ||
| 711 | "#INFO:" | ||
| 712 | .join(',',@current_platforms).":" | ||
| 713 | .join(',',@current_algorithms).";"; | ||
| 714 | # Variant for platforms that have to | ||
| 715 | # access globale variables in shared | ||
| 716 | # libraries through functions | ||
| 717 | &$make_variant("$2_it","$2_it", | ||
| 718 | "EXPORT_VAR_AS_FUNCTION", | ||
| 719 | "FUNCTION"); | ||
| 720 | next; | ||
| 721 | } elsif (/^\s*DECLARE_ASN1_ALLOC_FUNCTIONS\s*\(\s*(\w*)\s*\)/) { | ||
| 722 | $def .= "int $1_free(void);"; | ||
| 723 | $def .= "int $1_new(void);"; | ||
| 724 | next; | ||
| 725 | } elsif (/^\s*DECLARE_ASN1_FUNCTIONS_name\s*\(\s*(\w*)\s*,\s*(\w*)\s*\)/) { | ||
| 726 | $def .= "int d2i_$2(void);"; | ||
| 727 | $def .= "int i2d_$2(void);"; | ||
| 728 | $def .= "int $2_free(void);"; | ||
| 729 | $def .= "int $2_new(void);"; | ||
| 730 | # Variant for platforms that do not | ||
| 731 | # have to access globale variables | ||
| 732 | # in shared libraries through functions | ||
| 733 | $def .= | ||
| 734 | "#INFO:" | ||
| 735 | .join(',',"!EXPORT_VAR_AS_FUNCTION",@current_platforms).":" | ||
| 736 | .join(',',@current_algorithms).";"; | ||
| 737 | $def .= "OPENSSL_EXTERN int $2_it;"; | ||
| 738 | $def .= | ||
| 739 | "#INFO:" | ||
| 740 | .join(',',@current_platforms).":" | ||
| 741 | .join(',',@current_algorithms).";"; | ||
| 742 | # Variant for platforms that have to | ||
| 743 | # access globale variables in shared | ||
| 744 | # libraries through functions | ||
| 745 | &$make_variant("$2_it","$2_it", | ||
| 746 | "EXPORT_VAR_AS_FUNCTION", | ||
| 747 | "FUNCTION"); | ||
| 748 | next; | ||
| 749 | } elsif (/^\s*DECLARE_ASN1_ITEM\s*\(\s*(\w*)\s*\)/) { | ||
| 750 | # Variant for platforms that do not | ||
| 751 | # have to access globale variables | ||
| 752 | # in shared libraries through functions | ||
| 753 | $def .= | ||
| 754 | "#INFO:" | ||
| 755 | .join(',',"!EXPORT_VAR_AS_FUNCTION",@current_platforms).":" | ||
| 756 | .join(',',@current_algorithms).";"; | ||
| 757 | $def .= "OPENSSL_EXTERN int $1_it;"; | ||
| 758 | $def .= | ||
| 759 | "#INFO:" | ||
| 760 | .join(',',@current_platforms).":" | ||
| 761 | .join(',',@current_algorithms).";"; | ||
| 762 | # Variant for platforms that have to | ||
| 763 | # access globale variables in shared | ||
| 764 | # libraries through functions | ||
| 765 | &$make_variant("$1_it","$1_it", | ||
| 766 | "EXPORT_VAR_AS_FUNCTION", | ||
| 767 | "FUNCTION"); | ||
| 768 | next; | ||
| 769 | } elsif (/^\s*DECLARE_ASN1_NDEF_FUNCTION\s*\(\s*(\w*)\s*\)/) { | ||
| 770 | $def .= "int i2d_$1_NDEF(void);"; | ||
| 771 | } elsif (/^\s*DECLARE_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) { | ||
| 772 | next; | ||
| 773 | } elsif (/^\s*DECLARE_ASN1_PRINT_FUNCTION\s*\(\s*(\w*)\s*\)/) { | ||
| 774 | $def .= "int $1_print_ctx(void);"; | ||
| 775 | next; | ||
| 776 | } elsif (/^\s*DECLARE_ASN1_PRINT_FUNCTION_name\s*\(\s*(\w*)\s*,\s*(\w*)\s*\)/) { | ||
| 777 | $def .= "int $2_print_ctx(void);"; | ||
| 778 | next; | ||
| 779 | } elsif (/^\s*DECLARE_PKCS12_STACK_OF\s*\(\s*(\w*)\s*\)/) { | ||
| 780 | next; | ||
| 781 | } elsif (/^DECLARE_PEM_rw\s*\(\s*(\w*)\s*,/ || | ||
| 782 | /^DECLARE_PEM_rw_cb\s*\(\s*(\w*)\s*,/ || | ||
| 783 | /^DECLARE_PEM_rw_const\s*\(\s*(\w*)\s*,/ ) { | ||
| 784 | # Things not in Win16 | ||
| 785 | $def .= | ||
| 786 | "#INFO:" | ||
| 787 | .join(',',"!WIN16",@current_platforms).":" | ||
| 788 | .join(',',@current_algorithms).";"; | ||
| 789 | $def .= "int PEM_read_$1(void);"; | ||
| 790 | $def .= "int PEM_write_$1(void);"; | ||
| 791 | $def .= | ||
| 792 | "#INFO:" | ||
| 793 | .join(',',@current_platforms).":" | ||
| 794 | .join(',',@current_algorithms).";"; | ||
| 795 | # Things that are everywhere | ||
| 796 | $def .= "int PEM_read_bio_$1(void);"; | ||
| 797 | $def .= "int PEM_write_bio_$1(void);"; | ||
| 798 | next; | ||
| 799 | } elsif (/^DECLARE_PEM_write\s*\(\s*(\w*)\s*,/ || | ||
| 800 | /^DECLARE_PEM_write_cb\s*\(\s*(\w*)\s*,/ ) { | ||
| 801 | # Things not in Win16 | ||
| 802 | $def .= | ||
| 803 | "#INFO:" | ||
| 804 | .join(',',"!WIN16",@current_platforms).":" | ||
| 805 | .join(',',@current_algorithms).";"; | ||
| 806 | $def .= "int PEM_write_$1(void);"; | ||
| 807 | $def .= | ||
| 808 | "#INFO:" | ||
| 809 | .join(',',@current_platforms).":" | ||
| 810 | .join(',',@current_algorithms).";"; | ||
| 811 | # Things that are everywhere | ||
| 812 | $def .= "int PEM_write_bio_$1(void);"; | ||
| 813 | next; | ||
| 814 | } elsif (/^DECLARE_PEM_read\s*\(\s*(\w*)\s*,/ || | ||
| 815 | /^DECLARE_PEM_read_cb\s*\(\s*(\w*)\s*,/ ) { | ||
| 816 | # Things not in Win16 | ||
| 817 | $def .= | ||
| 818 | "#INFO:" | ||
| 819 | .join(',',"!WIN16",@current_platforms).":" | ||
| 820 | .join(',',@current_algorithms).";"; | ||
| 821 | $def .= "int PEM_read_$1(void);"; | ||
| 822 | $def .= | ||
| 823 | "#INFO:" | ||
| 824 | .join(',',@current_platforms).":" | ||
| 825 | .join(',',@current_algorithms).";"; | ||
| 826 | # Things that are everywhere | ||
| 827 | $def .= "int PEM_read_bio_$1(void);"; | ||
| 828 | next; | ||
| 829 | } elsif (/^OPENSSL_DECLARE_GLOBAL\s*\(\s*(\w*)\s*,\s*(\w*)\s*\)/) { | ||
| 830 | # Variant for platforms that do not | ||
| 831 | # have to access globale variables | ||
| 832 | # in shared libraries through functions | ||
| 833 | $def .= | ||
| 834 | "#INFO:" | ||
| 835 | .join(',',"!EXPORT_VAR_AS_FUNCTION",@current_platforms).":" | ||
| 836 | .join(',',@current_algorithms).";"; | ||
| 837 | $def .= "OPENSSL_EXTERN int _shadow_$2;"; | ||
| 838 | $def .= | ||
| 839 | "#INFO:" | ||
| 840 | .join(',',@current_platforms).":" | ||
| 841 | .join(',',@current_algorithms).";"; | ||
| 842 | # Variant for platforms that have to | ||
| 843 | # access globale variables in shared | ||
| 844 | # libraries through functions | ||
| 845 | &$make_variant("_shadow_$2","_shadow_$2", | ||
| 846 | "EXPORT_VAR_AS_FUNCTION", | ||
| 847 | "FUNCTION"); | ||
| 848 | } elsif ($tag{'CONST_STRICT'} != 1) { | ||
| 849 | if (/\{|\/\*|\([^\)]*$/) { | ||
| 850 | $line = $_; | ||
| 851 | } else { | ||
| 852 | $def .= $_; | ||
| 853 | } | ||
| 854 | } | ||
| 855 | } | ||
| 856 | } | ||
| 857 | close(IN); | ||
| 858 | |||
| 859 | my $algs; | ||
| 860 | my $plays; | ||
| 861 | |||
| 862 | print STDERR "DEBUG: postprocessing ----------\n" if $debug; | ||
| 863 | foreach (split /;/, $def) { | ||
| 864 | my $s; my $k = "FUNCTION"; my $p; my $a; | ||
| 865 | s/^[\n\s]*//g; | ||
| 866 | s/[\n\s]*$//g; | ||
| 867 | next if(/\#undef/); | ||
| 868 | next if(/typedef\W/); | ||
| 869 | next if(/\#define/); | ||
| 870 | |||
| 871 | # Reduce argument lists to empty () | ||
| 872 | # fold round brackets recursively: (t(*v)(t),t) -> (t{}{},t) -> {} | ||
| 873 | while(/\(.*\)/s) { | ||
| 874 | s/\([^\(\)]+\)/\{\}/gs; | ||
| 875 | s/\(\s*\*\s*(\w+)\s*\{\}\s*\)/$1/gs; #(*f{}) -> f | ||
| 876 | } | ||
| 877 | # pretend as we didn't use curly braces: {} -> () | ||
| 878 | s/\{\}/\(\)/gs; | ||
| 879 | |||
| 880 | s/STACK_OF\(\)/void/gs; | ||
| 881 | |||
| 882 | print STDERR "DEBUG: \$_ = \"$_\"\n" if $debug; | ||
| 883 | if (/^\#INFO:([^:]*):(.*)$/) { | ||
| 884 | $plats = $1; | ||
| 885 | $algs = $2; | ||
| 886 | print STDERR "DEBUG: found info on platforms ($plats) and algorithms ($algs)\n" if $debug; | ||
| 887 | next; | ||
| 888 | } elsif (/^\s*OPENSSL_EXTERN\s.*?(\w+(\{[0-9]+\})?)(\[[0-9]*\])*\s*$/) { | ||
| 889 | $s = $1; | ||
| 890 | $k = "VARIABLE"; | ||
| 891 | print STDERR "DEBUG: found external variable $s\n" if $debug; | ||
| 892 | } elsif (/TYPEDEF_\w+_OF/s) { | ||
| 893 | next; | ||
| 894 | } elsif (/(\w+)\s*\(\).*/s) { # first token prior [first] () is | ||
| 895 | $s = $1; # a function name! | ||
| 896 | print STDERR "DEBUG: found function $s\n" if $debug; | ||
| 897 | } elsif (/\(/ and not (/=/)) { | ||
| 898 | print STDERR "File $file: cannot parse: $_;\n"; | ||
| 899 | next; | ||
| 900 | } else { | ||
| 901 | next; | ||
| 902 | } | ||
| 903 | |||
| 904 | $syms{$s} = 1; | ||
| 905 | $kind{$s} = $k; | ||
| 906 | |||
| 907 | $p = $plats; | ||
| 908 | $a = $algs; | ||
| 909 | $a .= ",BF" if($s =~ /EVP_bf/); | ||
| 910 | $a .= ",CAST" if($s =~ /EVP_cast/); | ||
| 911 | $a .= ",DES" if($s =~ /EVP_des/); | ||
| 912 | $a .= ",DSA" if($s =~ /EVP_dss/); | ||
| 913 | $a .= ",IDEA" if($s =~ /EVP_idea/); | ||
| 914 | $a .= ",MD2" if($s =~ /EVP_md2/); | ||
| 915 | $a .= ",MD4" if($s =~ /EVP_md4/); | ||
| 916 | $a .= ",MD5" if($s =~ /EVP_md5/); | ||
| 917 | $a .= ",RC2" if($s =~ /EVP_rc2/); | ||
| 918 | $a .= ",RC4" if($s =~ /EVP_rc4/); | ||
| 919 | $a .= ",RC5" if($s =~ /EVP_rc5/); | ||
| 920 | $a .= ",RIPEMD" if($s =~ /EVP_ripemd/); | ||
| 921 | $a .= ",SHA" if($s =~ /EVP_sha/); | ||
| 922 | $a .= ",RSA" if($s =~ /EVP_(Open|Seal)(Final|Init)/); | ||
| 923 | $a .= ",RSA" if($s =~ /PEM_Seal(Final|Init|Update)/); | ||
| 924 | $a .= ",RSA" if($s =~ /RSAPrivateKey/); | ||
| 925 | $a .= ",RSA" if($s =~ /SSLv23?_((client|server)_)?method/); | ||
| 926 | |||
| 927 | $platform{$s} = | ||
| 928 | &reduce_platforms((defined($platform{$s})?$platform{$s}.',':"").$p); | ||
| 929 | $algorithm{$s} .= ','.$a; | ||
| 930 | |||
| 931 | if (defined($variant{$s})) { | ||
| 932 | foreach $v (split /;/,$variant{$s}) { | ||
| 933 | (my $r, my $p, my $k) = split(/:/,$v); | ||
| 934 | my $ip = join ',',map({ /^!(.*)$/ ? $1 : "!".$_ } split /,/, $p); | ||
| 935 | $syms{$r} = 1; | ||
| 936 | if (!defined($k)) { $k = $kind{$s}; } | ||
| 937 | $kind{$r} = $k."(".$s.")"; | ||
| 938 | $algorithm{$r} = $algorithm{$s}; | ||
| 939 | $platform{$r} = &reduce_platforms($platform{$s}.",".$p.",".$p); | ||
| 940 | $platform{$s} = &reduce_platforms($platform{$s}.','.$ip.','.$ip); | ||
| 941 | print STDERR "DEBUG: \$variant{\"$s\"} = ",$v,"; \$r = $r; \$p = ",$platform{$r},"; \$a = ",$algorithm{$r},"; \$kind = ",$kind{$r},"\n" if $debug; | ||
| 942 | } | ||
| 943 | } | ||
| 944 | print STDERR "DEBUG: \$s = $s; \$p = ",$platform{$s},"; \$a = ",$algorithm{$s},"; \$kind = ",$kind{$s},"\n" if $debug; | ||
| 945 | } | ||
| 946 | } | ||
| 947 | |||
| 948 | # Prune the returned symbols | ||
| 949 | |||
| 950 | delete $syms{"bn_dump1"}; | ||
| 951 | $platform{"BIO_s_log"} .= ",!WIN32,!WIN16,!macintosh"; | ||
| 952 | |||
| 953 | $platform{"PEM_read_NS_CERT_SEQ"} = "VMS"; | ||
| 954 | $platform{"PEM_write_NS_CERT_SEQ"} = "VMS"; | ||
| 955 | $platform{"PEM_read_P8_PRIV_KEY_INFO"} = "VMS"; | ||
| 956 | $platform{"PEM_write_P8_PRIV_KEY_INFO"} = "VMS"; | ||
| 957 | |||
| 958 | # Info we know about | ||
| 959 | |||
| 960 | push @ret, map { $_."\\".&info_string($_,"EXIST", | ||
| 961 | $platform{$_}, | ||
| 962 | $kind{$_}, | ||
| 963 | $algorithm{$_}) } keys %syms; | ||
| 964 | |||
| 965 | if (keys %unknown_algorithms) { | ||
| 966 | print STDERR "WARNING: mkdef.pl doesn't know the following algorithms:\n"; | ||
| 967 | print STDERR "\t",join("\n\t",keys %unknown_algorithms),"\n"; | ||
| 968 | } | ||
| 969 | return(@ret); | ||
| 970 | } | ||
| 971 | |||
| 972 | # Param: string of comma-separated platform-specs. | ||
| 973 | sub reduce_platforms | ||
| 974 | { | ||
| 975 | my ($platforms) = @_; | ||
| 976 | my $pl = defined($platforms) ? $platforms : ""; | ||
| 977 | my %p = map { $_ => 0 } split /,/, $pl; | ||
| 978 | my $ret; | ||
| 979 | |||
| 980 | print STDERR "DEBUG: Entered reduce_platforms with \"$platforms\"\n" | ||
| 981 | if $debug; | ||
| 982 | # We do this, because if there's code like the following, it really | ||
| 983 | # means the function exists in all cases and should therefore be | ||
| 984 | # everywhere. By increasing and decreasing, we may attain 0: | ||
| 985 | # | ||
| 986 | # ifndef WIN16 | ||
| 987 | # int foo(); | ||
| 988 | # else | ||
| 989 | # int _fat foo(); | ||
| 990 | # endif | ||
| 991 | foreach $platform (split /,/, $pl) { | ||
| 992 | if ($platform =~ /^!(.*)$/) { | ||
| 993 | $p{$1}--; | ||
| 994 | } else { | ||
| 995 | $p{$platform}++; | ||
| 996 | } | ||
| 997 | } | ||
| 998 | foreach $platform (keys %p) { | ||
| 999 | if ($p{$platform} == 0) { delete $p{$platform}; } | ||
| 1000 | } | ||
| 1001 | |||
| 1002 | delete $p{""}; | ||
| 1003 | |||
| 1004 | $ret = join(',',sort(map { $p{$_} < 0 ? "!".$_ : $_ } keys %p)); | ||
| 1005 | print STDERR "DEBUG: Exiting reduce_platforms with \"$ret\"\n" | ||
| 1006 | if $debug; | ||
| 1007 | return $ret; | ||
| 1008 | } | ||
| 1009 | |||
| 1010 | sub info_string { | ||
| 1011 | (my $symbol, my $exist, my $platforms, my $kind, my $algorithms) = @_; | ||
| 1012 | |||
| 1013 | my %a = defined($algorithms) ? | ||
| 1014 | map { $_ => 1 } split /,/, $algorithms : (); | ||
| 1015 | my $k = defined($kind) ? $kind : "FUNCTION"; | ||
| 1016 | my $ret; | ||
| 1017 | my $p = &reduce_platforms($platforms); | ||
| 1018 | |||
| 1019 | delete $a{""}; | ||
| 1020 | |||
| 1021 | $ret = $exist; | ||
| 1022 | $ret .= ":".$p; | ||
| 1023 | $ret .= ":".$k; | ||
| 1024 | $ret .= ":".join(',',sort keys %a); | ||
| 1025 | return $ret; | ||
| 1026 | } | ||
| 1027 | |||
| 1028 | sub maybe_add_info { | ||
| 1029 | (my $name, *nums, my @symbols) = @_; | ||
| 1030 | my $sym; | ||
| 1031 | my $new_info = 0; | ||
| 1032 | my %syms=(); | ||
| 1033 | |||
| 1034 | print STDERR "Updating $name info\n"; | ||
| 1035 | foreach $sym (@symbols) { | ||
| 1036 | (my $s, my $i) = split /\\/, $sym; | ||
| 1037 | if (defined($nums{$s})) { | ||
| 1038 | $i =~ s/^(.*?:.*?:\w+)(\(\w+\))?/$1/; | ||
| 1039 | (my $n, my $dummy) = split /\\/, $nums{$s}; | ||
| 1040 | if (!defined($dummy) || $i ne $dummy) { | ||
| 1041 | $nums{$s} = $n."\\".$i; | ||
| 1042 | $new_info++; | ||
| 1043 | print STDERR "DEBUG: maybe_add_info for $s: \"$dummy\" => \"$i\"\n" if $debug; | ||
| 1044 | } | ||
| 1045 | } | ||
| 1046 | $syms{$s} = 1; | ||
| 1047 | } | ||
| 1048 | |||
| 1049 | my @s=sort { &parse_number($nums{$a},"n") <=> &parse_number($nums{$b},"n") } keys %nums; | ||
| 1050 | foreach $sym (@s) { | ||
| 1051 | (my $n, my $i) = split /\\/, $nums{$sym}; | ||
| 1052 | if (!defined($syms{$sym}) && $i !~ /^NOEXIST:/) { | ||
| 1053 | $new_info++; | ||
| 1054 | print STDERR "DEBUG: maybe_add_info for $sym: -> undefined\n" if $debug; | ||
| 1055 | } | ||
| 1056 | } | ||
| 1057 | if ($new_info) { | ||
| 1058 | print STDERR "$new_info old symbols got an info update\n"; | ||
| 1059 | if (!$do_rewrite) { | ||
| 1060 | print STDERR "You should do a rewrite to fix this.\n"; | ||
| 1061 | } | ||
| 1062 | } else { | ||
| 1063 | print STDERR "No old symbols needed info update\n"; | ||
| 1064 | } | ||
| 1065 | } | ||
| 1066 | |||
| 1067 | # Param: string of comma-separated keywords, each possibly prefixed with a "!" | ||
| 1068 | sub is_valid | ||
| 1069 | { | ||
| 1070 | my ($keywords_txt,$platforms) = @_; | ||
| 1071 | my (@keywords) = split /,/,$keywords_txt; | ||
| 1072 | my ($falsesum, $truesum) = (0, 1); | ||
| 1073 | |||
| 1074 | # Param: one keyword | ||
| 1075 | sub recognise | ||
| 1076 | { | ||
| 1077 | my ($keyword,$platforms) = @_; | ||
| 1078 | |||
| 1079 | if ($platforms) { | ||
| 1080 | # platforms | ||
| 1081 | if ($keyword eq "VMS" && $VMS) { return 1; } | ||
| 1082 | if ($keyword eq "WIN32" && $W32) { return 1; } | ||
| 1083 | if ($keyword eq "WIN16" && $W16) { return 1; } | ||
| 1084 | if ($keyword eq "WINNT" && $NT) { return 1; } | ||
| 1085 | if ($keyword eq "OS2" && $OS2) { return 1; } | ||
| 1086 | # Special platforms: | ||
| 1087 | # EXPORT_VAR_AS_FUNCTION means that global variables | ||
| 1088 | # will be represented as functions. This currently | ||
| 1089 | # only happens on VMS-VAX. | ||
| 1090 | if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { | ||
| 1091 | return 1; | ||
| 1092 | } | ||
| 1093 | if ($keyword eq "ZLIB" && $zlib) { return 1; } | ||
| 1094 | return 0; | ||
| 1095 | } else { | ||
| 1096 | # algorithms | ||
| 1097 | if ($keyword eq "RC2" && $no_rc2) { return 0; } | ||
| 1098 | if ($keyword eq "RC4" && $no_rc4) { return 0; } | ||
| 1099 | if ($keyword eq "RC5" && $no_rc5) { return 0; } | ||
| 1100 | if ($keyword eq "IDEA" && $no_idea) { return 0; } | ||
| 1101 | if ($keyword eq "DES" && $no_des) { return 0; } | ||
| 1102 | if ($keyword eq "BF" && $no_bf) { return 0; } | ||
| 1103 | if ($keyword eq "CAST" && $no_cast) { return 0; } | ||
| 1104 | if ($keyword eq "MD2" && $no_md2) { return 0; } | ||
| 1105 | if ($keyword eq "MD4" && $no_md4) { return 0; } | ||
| 1106 | if ($keyword eq "MD5" && $no_md5) { return 0; } | ||
| 1107 | if ($keyword eq "SHA" && $no_sha) { return 0; } | ||
| 1108 | if ($keyword eq "RIPEMD" && $no_ripemd) { return 0; } | ||
| 1109 | if ($keyword eq "MDC2" && $no_mdc2) { return 0; } | ||
| 1110 | if ($keyword eq "RSA" && $no_rsa) { return 0; } | ||
| 1111 | if ($keyword eq "DSA" && $no_dsa) { return 0; } | ||
| 1112 | if ($keyword eq "DH" && $no_dh) { return 0; } | ||
| 1113 | if ($keyword eq "EC" && $no_ec) { return 0; } | ||
| 1114 | if ($keyword eq "ECDSA" && $no_ecdsa) { return 0; } | ||
| 1115 | if ($keyword eq "ECDH" && $no_ecdh) { return 0; } | ||
| 1116 | if ($keyword eq "HMAC" && $no_hmac) { return 0; } | ||
| 1117 | if ($keyword eq "AES" && $no_aes) { return 0; } | ||
| 1118 | if ($keyword eq "CAMELLIA" && $no_camellia) { return 0; } | ||
| 1119 | if ($keyword eq "SEED" && $no_seed) { return 0; } | ||
| 1120 | if ($keyword eq "EVP" && $no_evp) { return 0; } | ||
| 1121 | if ($keyword eq "LHASH" && $no_lhash) { return 0; } | ||
| 1122 | if ($keyword eq "STACK" && $no_stack) { return 0; } | ||
| 1123 | if ($keyword eq "ERR" && $no_err) { return 0; } | ||
| 1124 | if ($keyword eq "BUFFER" && $no_buffer) { return 0; } | ||
| 1125 | if ($keyword eq "BIO" && $no_bio) { return 0; } | ||
| 1126 | if ($keyword eq "COMP" && $no_comp) { return 0; } | ||
| 1127 | if ($keyword eq "DSO" && $no_dso) { return 0; } | ||
| 1128 | if ($keyword eq "KRB5" && $no_krb5) { return 0; } | ||
| 1129 | if ($keyword eq "ENGINE" && $no_engine) { return 0; } | ||
| 1130 | if ($keyword eq "HW" && $no_hw) { return 0; } | ||
| 1131 | if ($keyword eq "FP_API" && $no_fp_api) { return 0; } | ||
| 1132 | if ($keyword eq "STATIC_ENGINE" && $no_static_engine) { return 0; } | ||
| 1133 | if ($keyword eq "GMP" && $no_gmp) { return 0; } | ||
| 1134 | if ($keyword eq "RFC3779" && $no_rfc3779) { return 0; } | ||
| 1135 | if ($keyword eq "TLSEXT" && $no_tlsext) { return 0; } | ||
| 1136 | if ($keyword eq "CMS" && $no_cms) { return 0; } | ||
| 1137 | if ($keyword eq "CAPIENG" && $no_capieng) { return 0; } | ||
| 1138 | if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; } | ||
| 1139 | |||
| 1140 | # Nothing recognise as true | ||
| 1141 | return 1; | ||
| 1142 | } | ||
| 1143 | } | ||
| 1144 | |||
| 1145 | foreach $k (@keywords) { | ||
| 1146 | if ($k =~ /^!(.*)$/) { | ||
| 1147 | $falsesum += &recognise($1,$platforms); | ||
| 1148 | } else { | ||
| 1149 | $truesum *= &recognise($k,$platforms); | ||
| 1150 | } | ||
| 1151 | } | ||
| 1152 | print STDERR "DEBUG: [",$#keywords,",",$#keywords < 0,"] is_valid($keywords_txt) => (\!$falsesum) && $truesum = ",(!$falsesum) && $truesum,"\n" if $debug; | ||
| 1153 | return (!$falsesum) && $truesum; | ||
| 1154 | } | ||
| 1155 | |||
| 1156 | sub print_test_file | ||
| 1157 | { | ||
| 1158 | (*OUT,my $name,*nums,my $testall,my @symbols)=@_; | ||
| 1159 | my $n = 1; my @e; my @r; | ||
| 1160 | my $sym; my $prev = ""; my $prefSSLeay; | ||
| 1161 | |||
| 1162 | (@e)=grep(/^SSLeay(\{[0-9]+\})?\\.*?:.*?:.*/,@symbols); | ||
| 1163 | (@r)=grep(/^\w+(\{[0-9]+\})?\\.*?:.*?:.*/ && !/^SSLeay(\{[0-9]+\})?\\.*?:.*?:.*/,@symbols); | ||
| 1164 | @symbols=((sort @e),(sort @r)); | ||
| 1165 | |||
| 1166 | foreach $sym (@symbols) { | ||
| 1167 | (my $s, my $i) = $sym =~ /^(.*?)\\(.*)$/; | ||
| 1168 | my $v = 0; | ||
| 1169 | $v = 1 if $i=~ /^.*?:.*?:VARIABLE/; | ||
| 1170 | my $p = ($i =~ /^[^:]*:([^:]*):/,$1); | ||
| 1171 | my $a = ($i =~ /^[^:]*:[^:]*:[^:]*:([^:]*)/,$1); | ||
| 1172 | if (!defined($nums{$s})) { | ||
| 1173 | print STDERR "Warning: $s does not have a number assigned\n" | ||
| 1174 | if(!$do_update); | ||
| 1175 | } elsif (is_valid($p,1) && is_valid($a,0)) { | ||
| 1176 | my $s2 = ($s =~ /^(.*?)(\{[0-9]+\})?$/, $1); | ||
| 1177 | if ($prev eq $s2) { | ||
| 1178 | print OUT "\t/* The following has already appeared previously */\n"; | ||
| 1179 | print STDERR "Warning: Symbol '",$s2,"' redefined. old=",($nums{$prev} =~ /^(.*?)\\/,$1),", new=",($nums{$s2} =~ /^(.*?)\\/,$1),"\n"; | ||
| 1180 | } | ||
| 1181 | $prev = $s2; # To warn about duplicates... | ||
| 1182 | |||
| 1183 | ($nn,$ni)=($nums{$s2} =~ /^(.*?)\\(.*)$/); | ||
| 1184 | if ($v) { | ||
| 1185 | print OUT "\textern int $s2; /* type unknown */ /* $nn $ni */\n"; | ||
| 1186 | } else { | ||
| 1187 | print OUT "\textern int $s2(); /* type unknown */ /* $nn $ni */\n"; | ||
| 1188 | } | ||
| 1189 | } | ||
| 1190 | } | ||
| 1191 | } | ||
| 1192 | |||
| 1193 | sub get_version { | ||
| 1194 | local *MF; | ||
| 1195 | my $v = '?'; | ||
| 1196 | open MF, 'Makefile' or return $v; | ||
| 1197 | while (<MF>) { | ||
| 1198 | $v = $1, last if /^VERSION=(.*?)\s*$/; | ||
| 1199 | } | ||
| 1200 | close MF; | ||
| 1201 | return $v; | ||
| 1202 | } | ||
| 1203 | |||
| 1204 | sub print_def_file | ||
| 1205 | { | ||
| 1206 | (*OUT,my $name,*nums,my @symbols)=@_; | ||
| 1207 | my $n = 1; my @e; my @r; my @v; my $prev=""; | ||
| 1208 | my $liboptions=""; | ||
| 1209 | my $libname = $name; | ||
| 1210 | my $http_vendor = 'www.openssl.org/'; | ||
| 1211 | my $version = get_version(); | ||
| 1212 | my $what = "OpenSSL: implementation of Secure Socket Layer"; | ||
| 1213 | my $description = "$what $version, $name - http://$http_vendor"; | ||
| 1214 | |||
| 1215 | if ($W32) | ||
| 1216 | { $libname.="32"; } | ||
| 1217 | elsif ($W16) | ||
| 1218 | { $libname.="16"; } | ||
| 1219 | elsif ($OS2) | ||
| 1220 | { # DLL names should not clash on the whole system. | ||
| 1221 | # However, they should not have any particular relationship | ||
| 1222 | # to the name of the static library. Chose descriptive names | ||
| 1223 | # (must be at most 8 chars). | ||
| 1224 | my %translate = (ssl => 'open_ssl', crypto => 'cryptssl'); | ||
| 1225 | $libname = $translate{$name} || $name; | ||
| 1226 | $liboptions = <<EOO; | ||
| 1227 | INITINSTANCE | ||
| 1228 | DATA MULTIPLE NONSHARED | ||
| 1229 | EOO | ||
| 1230 | # Vendor field can't contain colon, drat; so we omit http:// | ||
| 1231 | $description = "\@#$http_vendor:$version#\@$what; DLL for library $name. Build for EMX -Zmtd"; | ||
| 1232 | } | ||
| 1233 | |||
| 1234 | print OUT <<"EOF"; | ||
| 1235 | ; | ||
| 1236 | ; Definition file for the DLL version of the $name library from OpenSSL | ||
| 1237 | ; | ||
| 1238 | |||
| 1239 | LIBRARY $libname $liboptions | ||
| 1240 | |||
| 1241 | EOF | ||
| 1242 | |||
| 1243 | if ($W16) { | ||
| 1244 | print <<"EOF"; | ||
| 1245 | CODE PRELOAD MOVEABLE | ||
| 1246 | DATA PRELOAD MOVEABLE SINGLE | ||
| 1247 | |||
| 1248 | EXETYPE WINDOWS | ||
| 1249 | |||
| 1250 | HEAPSIZE 4096 | ||
| 1251 | STACKSIZE 8192 | ||
| 1252 | |||
| 1253 | EOF | ||
| 1254 | } | ||
| 1255 | |||
| 1256 | print "EXPORTS\n"; | ||
| 1257 | |||
| 1258 | (@e)=grep(/^SSLeay(\{[0-9]+\})?\\.*?:.*?:FUNCTION/,@symbols); | ||
| 1259 | (@r)=grep(/^\w+(\{[0-9]+\})?\\.*?:.*?:FUNCTION/ && !/^SSLeay(\{[0-9]+\})?\\.*?:.*?:FUNCTION/,@symbols); | ||
| 1260 | (@v)=grep(/^\w+(\{[0-9]+\})?\\.*?:.*?:VARIABLE/,@symbols); | ||
| 1261 | @symbols=((sort @e),(sort @r), (sort @v)); | ||
| 1262 | |||
| 1263 | |||
| 1264 | foreach $sym (@symbols) { | ||
| 1265 | (my $s, my $i) = $sym =~ /^(.*?)\\(.*)$/; | ||
| 1266 | my $v = 0; | ||
| 1267 | $v = 1 if $i =~ /^.*?:.*?:VARIABLE/; | ||
| 1268 | if (!defined($nums{$s})) { | ||
| 1269 | printf STDERR "Warning: $s does not have a number assigned\n" | ||
| 1270 | if(!$do_update); | ||
| 1271 | } else { | ||
| 1272 | (my $n, my $dummy) = split /\\/, $nums{$s}; | ||
| 1273 | my %pf = (); | ||
| 1274 | my $p = ($i =~ /^[^:]*:([^:]*):/,$1); | ||
| 1275 | my $a = ($i =~ /^[^:]*:[^:]*:[^:]*:([^:]*)/,$1); | ||
| 1276 | if (is_valid($p,1) && is_valid($a,0)) { | ||
| 1277 | my $s2 = ($s =~ /^(.*?)(\{[0-9]+\})?$/, $1); | ||
| 1278 | if ($prev eq $s2) { | ||
| 1279 | print STDERR "Warning: Symbol '",$s2,"' redefined. old=",($nums{$prev} =~ /^(.*?)\\/,$1),", new=",($nums{$s2} =~ /^(.*?)\\/,$1),"\n"; | ||
| 1280 | } | ||
| 1281 | $prev = $s2; # To warn about duplicates... | ||
| 1282 | if($v && !$OS2) { | ||
| 1283 | printf OUT " %s%-39s @%-8d DATA\n",($W32)?"":"_",$s2,$n; | ||
| 1284 | } else { | ||
| 1285 | printf OUT " %s%-39s @%d\n",($W32||$OS2)?"":"_",$s2,$n; | ||
| 1286 | } | ||
| 1287 | } | ||
| 1288 | } | ||
| 1289 | } | ||
| 1290 | printf OUT "\n"; | ||
| 1291 | } | ||
| 1292 | |||
| 1293 | sub load_numbers | ||
| 1294 | { | ||
| 1295 | my($name)=@_; | ||
| 1296 | my(@a,%ret); | ||
| 1297 | |||
| 1298 | $max_num = 0; | ||
| 1299 | $num_noinfo = 0; | ||
| 1300 | $prev = ""; | ||
| 1301 | $prev_cnt = 0; | ||
| 1302 | |||
| 1303 | open(IN,"<$name") || die "unable to open $name:$!\n"; | ||
| 1304 | while (<IN>) { | ||
| 1305 | chop; | ||
| 1306 | s/#.*$//; | ||
| 1307 | next if /^\s*$/; | ||
| 1308 | @a=split; | ||
| 1309 | if (defined $ret{$a[0]}) { | ||
| 1310 | # This is actually perfectly OK | ||
| 1311 | #print STDERR "Warning: Symbol '",$a[0],"' redefined. old=",$ret{$a[0]},", new=",$a[1],"\n"; | ||
| 1312 | } | ||
| 1313 | if ($max_num > $a[1]) { | ||
| 1314 | print STDERR "Warning: Number decreased from ",$max_num," to ",$a[1],"\n"; | ||
| 1315 | } | ||
| 1316 | elsif ($max_num == $a[1]) { | ||
| 1317 | # This is actually perfectly OK | ||
| 1318 | #print STDERR "Warning: Symbol ",$a[0]," has same number as previous ",$prev,": ",$a[1],"\n"; | ||
| 1319 | if ($a[0] eq $prev) { | ||
| 1320 | $prev_cnt++; | ||
| 1321 | $a[0] .= "{$prev_cnt}"; | ||
| 1322 | } | ||
| 1323 | } | ||
| 1324 | else { | ||
| 1325 | $prev_cnt = 0; | ||
| 1326 | } | ||
| 1327 | if ($#a < 2) { | ||
| 1328 | # Existence will be proven later, in do_defs | ||
| 1329 | $ret{$a[0]}=$a[1]; | ||
| 1330 | $num_noinfo++; | ||
| 1331 | } else { | ||
| 1332 | $ret{$a[0]}=$a[1]."\\".$a[2]; # \\ is a special marker | ||
| 1333 | } | ||
| 1334 | $max_num = $a[1] if $a[1] > $max_num; | ||
| 1335 | $prev=$a[0]; | ||
| 1336 | } | ||
| 1337 | if ($num_noinfo) { | ||
| 1338 | print STDERR "Warning: $num_noinfo symbols were without info."; | ||
| 1339 | if ($do_rewrite) { | ||
| 1340 | printf STDERR " The rewrite will fix this.\n"; | ||
| 1341 | } else { | ||
| 1342 | printf STDERR " You should do a rewrite to fix this.\n"; | ||
| 1343 | } | ||
| 1344 | } | ||
| 1345 | close(IN); | ||
| 1346 | return(%ret); | ||
| 1347 | } | ||
| 1348 | |||
| 1349 | sub parse_number | ||
| 1350 | { | ||
| 1351 | (my $str, my $what) = @_; | ||
| 1352 | (my $n, my $i) = split(/\\/,$str); | ||
| 1353 | if ($what eq "n") { | ||
| 1354 | return $n; | ||
| 1355 | } else { | ||
| 1356 | return $i; | ||
| 1357 | } | ||
| 1358 | } | ||
| 1359 | |||
| 1360 | sub rewrite_numbers | ||
| 1361 | { | ||
| 1362 | (*OUT,$name,*nums,@symbols)=@_; | ||
| 1363 | my $thing; | ||
| 1364 | |||
| 1365 | print STDERR "Rewriting $name\n"; | ||
| 1366 | |||
| 1367 | my @r = grep(/^\w+(\{[0-9]+\})?\\.*?:.*?:\w+\(\w+\)/,@symbols); | ||
| 1368 | my $r; my %r; my %rsyms; | ||
| 1369 | foreach $r (@r) { | ||
| 1370 | (my $s, my $i) = split /\\/, $r; | ||
| 1371 | my $a = $1 if $i =~ /^.*?:.*?:\w+\((\w+)\)/; | ||
| 1372 | $i =~ s/^(.*?:.*?:\w+)\(\w+\)/$1/; | ||
| 1373 | $r{$a} = $s."\\".$i; | ||
| 1374 | $rsyms{$s} = 1; | ||
| 1375 | } | ||
| 1376 | |||
| 1377 | my %syms = (); | ||
| 1378 | foreach $_ (@symbols) { | ||
| 1379 | (my $n, my $i) = split /\\/; | ||
| 1380 | $syms{$n} = 1; | ||
| 1381 | } | ||
| 1382 | |||
| 1383 | my @s=sort { | ||
| 1384 | &parse_number($nums{$a},"n") <=> &parse_number($nums{$b},"n") | ||
| 1385 | || $a cmp $b | ||
| 1386 | } keys %nums; | ||
| 1387 | foreach $sym (@s) { | ||
| 1388 | (my $n, my $i) = split /\\/, $nums{$sym}; | ||
| 1389 | next if defined($i) && $i =~ /^.*?:.*?:\w+\(\w+\)/; | ||
| 1390 | next if defined($rsyms{$sym}); | ||
| 1391 | print STDERR "DEBUG: rewrite_numbers for sym = ",$sym,": i = ",$i,", n = ",$n,", rsym{sym} = ",$rsyms{$sym},"syms{sym} = ",$syms{$sym},"\n" if $debug; | ||
| 1392 | $i="NOEXIST::FUNCTION:" | ||
| 1393 | if !defined($i) || $i eq "" || !defined($syms{$sym}); | ||
| 1394 | my $s2 = $sym; | ||
| 1395 | $s2 =~ s/\{[0-9]+\}$//; | ||
| 1396 | printf OUT "%s%-39s %d\t%s\n","",$s2,$n,$i; | ||
| 1397 | if (exists $r{$sym}) { | ||
| 1398 | (my $s, $i) = split /\\/,$r{$sym}; | ||
| 1399 | my $s2 = $s; | ||
| 1400 | $s2 =~ s/\{[0-9]+\}$//; | ||
| 1401 | printf OUT "%s%-39s %d\t%s\n","",$s2,$n,$i; | ||
| 1402 | } | ||
| 1403 | } | ||
| 1404 | } | ||
| 1405 | |||
| 1406 | sub update_numbers | ||
| 1407 | { | ||
| 1408 | (*OUT,$name,*nums,my $start_num, my @symbols)=@_; | ||
| 1409 | my $new_syms = 0; | ||
| 1410 | |||
| 1411 | print STDERR "Updating $name numbers\n"; | ||
| 1412 | |||
| 1413 | my @r = grep(/^\w+(\{[0-9]+\})?\\.*?:.*?:\w+\(\w+\)/,@symbols); | ||
| 1414 | my $r; my %r; my %rsyms; | ||
| 1415 | foreach $r (@r) { | ||
| 1416 | (my $s, my $i) = split /\\/, $r; | ||
| 1417 | my $a = $1 if $i =~ /^.*?:.*?:\w+\((\w+)\)/; | ||
| 1418 | $i =~ s/^(.*?:.*?:\w+)\(\w+\)/$1/; | ||
| 1419 | $r{$a} = $s."\\".$i; | ||
| 1420 | $rsyms{$s} = 1; | ||
| 1421 | } | ||
| 1422 | |||
| 1423 | foreach $sym (@symbols) { | ||
| 1424 | (my $s, my $i) = $sym =~ /^(.*?)\\(.*)$/; | ||
| 1425 | next if $i =~ /^.*?:.*?:\w+\(\w+\)/; | ||
| 1426 | next if defined($rsyms{$sym}); | ||
| 1427 | die "ERROR: Symbol $sym had no info attached to it." | ||
| 1428 | if $i eq ""; | ||
| 1429 | if (!exists $nums{$s}) { | ||
| 1430 | $new_syms++; | ||
| 1431 | my $s2 = $s; | ||
| 1432 | $s2 =~ s/\{[0-9]+\}$//; | ||
| 1433 | printf OUT "%s%-39s %d\t%s\n","",$s2, ++$start_num,$i; | ||
| 1434 | if (exists $r{$s}) { | ||
| 1435 | ($s, $i) = split /\\/,$r{$s}; | ||
| 1436 | $s =~ s/\{[0-9]+\}$//; | ||
| 1437 | printf OUT "%s%-39s %d\t%s\n","",$s, $start_num,$i; | ||
| 1438 | } | ||
| 1439 | } | ||
| 1440 | } | ||
| 1441 | if($new_syms) { | ||
| 1442 | print STDERR "$new_syms New symbols added\n"; | ||
| 1443 | } else { | ||
| 1444 | print STDERR "No New symbols Added\n"; | ||
| 1445 | } | ||
| 1446 | } | ||
| 1447 | |||
| 1448 | sub check_existing | ||
| 1449 | { | ||
| 1450 | (*nums, my @symbols)=@_; | ||
| 1451 | my %existing; my @remaining; | ||
| 1452 | @remaining=(); | ||
| 1453 | foreach $sym (@symbols) { | ||
| 1454 | (my $s, my $i) = $sym =~ /^(.*?)\\(.*)$/; | ||
| 1455 | $existing{$s}=1; | ||
| 1456 | } | ||
| 1457 | foreach $sym (keys %nums) { | ||
| 1458 | if (!exists $existing{$sym}) { | ||
| 1459 | push @remaining, $sym; | ||
| 1460 | } | ||
| 1461 | } | ||
| 1462 | if(@remaining) { | ||
| 1463 | print STDERR "The following symbols do not seem to exist:\n"; | ||
| 1464 | foreach $sym (@remaining) { | ||
| 1465 | print STDERR "\t",$sym,"\n"; | ||
| 1466 | } | ||
| 1467 | } | ||
| 1468 | } | ||
| 1469 | |||
diff --git a/src/lib/libcrypto/util/mkdir-p.pl b/src/lib/libcrypto/util/mkdir-p.pl new file mode 100644 index 0000000000..e73d02b073 --- /dev/null +++ b/src/lib/libcrypto/util/mkdir-p.pl | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | |||
| 3 | # mkdir-p.pl | ||
| 4 | |||
| 5 | # On some systems, the -p option to mkdir (= also create any missing parent | ||
| 6 | # directories) is not available. | ||
| 7 | |||
| 8 | my $arg; | ||
| 9 | |||
| 10 | foreach $arg (@ARGV) { | ||
| 11 | $arg =~ tr|\\|/|; | ||
| 12 | &do_mkdir_p($arg); | ||
| 13 | } | ||
| 14 | |||
| 15 | |||
| 16 | sub do_mkdir_p { | ||
| 17 | local($dir) = @_; | ||
| 18 | |||
| 19 | $dir =~ s|/*\Z(?!\n)||s; | ||
| 20 | |||
| 21 | if (-d $dir) { | ||
| 22 | return; | ||
| 23 | } | ||
| 24 | |||
| 25 | if ($dir =~ m|[^/]/|s) { | ||
| 26 | local($parent) = $dir; | ||
| 27 | $parent =~ s|[^/]*\Z(?!\n)||s; | ||
| 28 | |||
| 29 | do_mkdir_p($parent); | ||
| 30 | } | ||
| 31 | |||
| 32 | mkdir($dir, 0777) || die "Cannot create directory $dir: $!\n"; | ||
| 33 | print "created directory `$dir'\n"; | ||
| 34 | } | ||
diff --git a/src/lib/libcrypto/util/mkerr.pl b/src/lib/libcrypto/util/mkerr.pl index 554bebb159..53e14ab4df 100644 --- a/src/lib/libcrypto/util/mkerr.pl +++ b/src/lib/libcrypto/util/mkerr.pl | |||
| @@ -44,8 +44,7 @@ while (@ARGV) { | |||
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | if($recurse) { | 46 | if($recurse) { |
| 47 | @source = ( <crypto/*.c>, <crypto/*/*.c>, <ssl/*.c>, | 47 | @source = (<crypto/*.c>, <crypto/*/*.c>, <ssl/*.c>); |
| 48 | <fips/*.c>, <fips/*/*.c>); | ||
| 49 | } else { | 48 | } else { |
| 50 | @source = @ARGV; | 49 | @source = @ARGV; |
| 51 | } | 50 | } |
diff --git a/src/lib/libcrypto/util/mkfiles.pl b/src/lib/libcrypto/util/mkfiles.pl new file mode 100644 index 0000000000..1282392fea --- /dev/null +++ b/src/lib/libcrypto/util/mkfiles.pl | |||
| @@ -0,0 +1,125 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # This is a hacked version of files.pl for systems that can't do a 'make files'. | ||
| 4 | # Do a perl util/mkminfo.pl >MINFO to build MINFO | ||
| 5 | # Written by Steve Henson 1999. | ||
| 6 | |||
| 7 | # List of directories to process | ||
| 8 | |||
| 9 | my @dirs = ( | ||
| 10 | ".", | ||
| 11 | "crypto", | ||
| 12 | "crypto/md2", | ||
| 13 | "crypto/md4", | ||
| 14 | "crypto/md5", | ||
| 15 | "crypto/sha", | ||
| 16 | "crypto/mdc2", | ||
| 17 | "crypto/hmac", | ||
| 18 | "crypto/ripemd", | ||
| 19 | "crypto/des", | ||
| 20 | "crypto/rc2", | ||
| 21 | "crypto/rc4", | ||
| 22 | "crypto/rc5", | ||
| 23 | "crypto/idea", | ||
| 24 | "crypto/bf", | ||
| 25 | "crypto/cast", | ||
| 26 | "crypto/aes", | ||
| 27 | "crypto/camellia", | ||
| 28 | "crypto/seed", | ||
| 29 | "crypto/bn", | ||
| 30 | "crypto/rsa", | ||
| 31 | "crypto/dsa", | ||
| 32 | "crypto/dso", | ||
| 33 | "crypto/dh", | ||
| 34 | "crypto/ec", | ||
| 35 | "crypto/ecdh", | ||
| 36 | "crypto/ecdsa", | ||
| 37 | "crypto/buffer", | ||
| 38 | "crypto/bio", | ||
| 39 | "crypto/stack", | ||
| 40 | "crypto/lhash", | ||
| 41 | "crypto/rand", | ||
| 42 | "crypto/err", | ||
| 43 | "crypto/objects", | ||
| 44 | "crypto/evp", | ||
| 45 | "crypto/asn1", | ||
| 46 | "crypto/pem", | ||
| 47 | "crypto/x509", | ||
| 48 | "crypto/x509v3", | ||
| 49 | "crypto/conf", | ||
| 50 | "crypto/txt_db", | ||
| 51 | "crypto/pkcs7", | ||
| 52 | "crypto/pkcs12", | ||
| 53 | "crypto/comp", | ||
| 54 | "crypto/engine", | ||
| 55 | "crypto/ocsp", | ||
| 56 | "crypto/ui", | ||
| 57 | "crypto/krb5", | ||
| 58 | "crypto/store", | ||
| 59 | "crypto/pqueue", | ||
| 60 | "crypto/cms", | ||
| 61 | "ssl", | ||
| 62 | "apps", | ||
| 63 | "engines", | ||
| 64 | "test", | ||
| 65 | "tools" | ||
| 66 | ); | ||
| 67 | |||
| 68 | foreach (@dirs) { | ||
| 69 | &files_dir ($_, "Makefile"); | ||
| 70 | } | ||
| 71 | |||
| 72 | exit(0); | ||
| 73 | |||
| 74 | sub files_dir | ||
| 75 | { | ||
| 76 | my ($dir, $makefile) = @_; | ||
| 77 | |||
| 78 | my %sym; | ||
| 79 | |||
| 80 | open (IN, "$dir/$makefile") || die "Can't open $dir/$makefile"; | ||
| 81 | |||
| 82 | my $s=""; | ||
| 83 | |||
| 84 | while (<IN>) | ||
| 85 | { | ||
| 86 | chop; | ||
| 87 | s/#.*//; | ||
| 88 | if (/^(\S+)\s*=\s*(.*)$/) | ||
| 89 | { | ||
| 90 | $o=""; | ||
| 91 | ($s,$b)=($1,$2); | ||
| 92 | for (;;) | ||
| 93 | { | ||
| 94 | if ($b =~ /\\$/) | ||
| 95 | { | ||
| 96 | chop($b); | ||
| 97 | $o.=$b." "; | ||
| 98 | $b=<IN>; | ||
| 99 | chop($b); | ||
| 100 | } | ||
| 101 | else | ||
| 102 | { | ||
| 103 | $o.=$b." "; | ||
| 104 | last; | ||
| 105 | } | ||
| 106 | } | ||
| 107 | $o =~ s/^\s+//; | ||
| 108 | $o =~ s/\s+$//; | ||
| 109 | $o =~ s/\s+/ /g; | ||
| 110 | |||
| 111 | $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; | ||
| 112 | $sym{$s}=$o; | ||
| 113 | } | ||
| 114 | } | ||
| 115 | |||
| 116 | print "RELATIVE_DIRECTORY=$dir\n"; | ||
| 117 | |||
| 118 | foreach (sort keys %sym) | ||
| 119 | { | ||
| 120 | print "$_=$sym{$_}\n"; | ||
| 121 | } | ||
| 122 | print "RELATIVE_DIRECTORY=\n"; | ||
| 123 | |||
| 124 | close (IN); | ||
| 125 | } | ||
diff --git a/src/lib/libcrypto/util/mklink.pl b/src/lib/libcrypto/util/mklink.pl new file mode 100644 index 0000000000..d9bc98aab8 --- /dev/null +++ b/src/lib/libcrypto/util/mklink.pl | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | |||
| 3 | # mklink.pl | ||
| 4 | |||
| 5 | # The first command line argument is a non-empty relative path | ||
| 6 | # specifying the "from" directory. | ||
| 7 | # Each other argument is a file name not containing / and | ||
| 8 | # names a file in the current directory. | ||
| 9 | # | ||
| 10 | # For each of these files, we create in the "from" directory a link | ||
| 11 | # of the same name pointing to the local file. | ||
| 12 | # | ||
| 13 | # We assume that the directory structure is a tree, i.e. that it does | ||
| 14 | # not contain symbolic links and that the parent of / is never referenced. | ||
| 15 | # Apart from this, this script should be able to handle even the most | ||
| 16 | # pathological cases. | ||
| 17 | |||
| 18 | use Cwd; | ||
| 19 | |||
| 20 | my $from = shift; | ||
| 21 | my @files = @ARGV; | ||
| 22 | |||
| 23 | my @from_path = split(/[\\\/]/, $from); | ||
| 24 | my $pwd = getcwd(); | ||
| 25 | chomp($pwd); | ||
| 26 | my @pwd_path = split(/[\\\/]/, $pwd); | ||
| 27 | |||
| 28 | my @to_path = (); | ||
| 29 | |||
| 30 | my $dirname; | ||
| 31 | foreach $dirname (@from_path) { | ||
| 32 | |||
| 33 | # In this loop, @to_path always is a relative path from | ||
| 34 | # @pwd_path (interpreted is an absolute path) to the original pwd. | ||
| 35 | |||
| 36 | # At the end, @from_path (as a relative path from the original pwd) | ||
| 37 | # designates the same directory as the absolute path @pwd_path, | ||
| 38 | # which means that @to_path then is a path from there to the original pwd. | ||
| 39 | |||
| 40 | next if ($dirname eq "" || $dirname eq "."); | ||
| 41 | |||
| 42 | if ($dirname eq "..") { | ||
| 43 | @to_path = (pop(@pwd_path), @to_path); | ||
| 44 | } else { | ||
| 45 | @to_path = ("..", @to_path); | ||
| 46 | push(@pwd_path, $dirname); | ||
| 47 | } | ||
| 48 | } | ||
| 49 | |||
| 50 | my $to = join('/', @to_path); | ||
| 51 | |||
| 52 | my $file; | ||
| 53 | $symlink_exists=eval {symlink("",""); 1}; | ||
| 54 | foreach $file (@files) { | ||
| 55 | my $err = ""; | ||
| 56 | if ($symlink_exists) { | ||
| 57 | unlink "$from/$file"; | ||
| 58 | symlink("$to/$file", "$from/$file") or $err = " [$!]"; | ||
| 59 | } else { | ||
| 60 | unlink "$from/$file"; | ||
| 61 | open (OLD, "<$file") or die "Can't open $file: $!"; | ||
| 62 | open (NEW, ">$from/$file") or die "Can't open $from/$file: $!"; | ||
| 63 | binmode(OLD); | ||
| 64 | binmode(NEW); | ||
| 65 | while (<OLD>) { | ||
| 66 | print NEW $_; | ||
| 67 | } | ||
| 68 | close (OLD) or die "Can't close $file: $!"; | ||
| 69 | close (NEW) or die "Can't close $from/$file: $!"; | ||
| 70 | } | ||
| 71 | print $file . " => $from/$file$err\n"; | ||
| 72 | } | ||
diff --git a/src/lib/libcrypto/util/mksdef.pl b/src/lib/libcrypto/util/mksdef.pl new file mode 100644 index 0000000000..065dc675f1 --- /dev/null +++ b/src/lib/libcrypto/util/mksdef.pl | |||
| @@ -0,0 +1,87 @@ | |||
| 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 | |||
| 10 | my @deferr = `link @ARGV`; | ||
| 11 | |||
| 12 | my $preamble = ""; | ||
| 13 | my @fipsdll; | ||
| 14 | my @fipsrest; | ||
| 15 | my %nosym; | ||
| 16 | |||
| 17 | # Add symbols to a hash for easy lookup | ||
| 18 | |||
| 19 | foreach (@deferr) | ||
| 20 | { | ||
| 21 | if (/^.*symbol (\S+)$/) | ||
| 22 | { | ||
| 23 | $nosym{$1} = 1; | ||
| 24 | } | ||
| 25 | } | ||
| 26 | |||
| 27 | open (IN, "ms/libeay32.def") || die "Can't Open DEF file for spliting"; | ||
| 28 | |||
| 29 | my $started = 0; | ||
| 30 | |||
| 31 | # Parse libeay32.def into two arrays depending on whether the symbol matches | ||
| 32 | # the missing list. | ||
| 33 | |||
| 34 | |||
| 35 | foreach (<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 | |||
| 55 | close IN; | ||
| 56 | |||
| 57 | # Hack! Add some additional exports needed for libcryptofips.dll | ||
| 58 | # | ||
| 59 | |||
| 60 | push @fipsdll, "\tOPENSSL_showfatal\n"; | ||
| 61 | push @fipsdll, "\tOPENSSL_cpuid_setup\n"; | ||
| 62 | |||
| 63 | # Write out DEF files for each array | ||
| 64 | |||
| 65 | write_def("ms/libosslfips.def", "LIBOSSLFIPS", $preamble, \@fipsdll); | ||
| 66 | write_def("ms/libeayfips.def", "", $preamble, \@fipsrest); | ||
| 67 | |||
| 68 | |||
| 69 | sub 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/opensslwrap.sh b/src/lib/libcrypto/util/opensslwrap.sh new file mode 100755 index 0000000000..b27cbb897f --- /dev/null +++ b/src/lib/libcrypto/util/opensslwrap.sh | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | HERE="`echo $0 | sed -e 's|[^/]*$||'`" | ||
| 4 | OPENSSL="${HERE}../apps/openssl" | ||
| 5 | |||
| 6 | if [ -d "${HERE}../engines" -a "x$OPENSSL_ENGINES" = "x" ]; then | ||
| 7 | OPENSSL_ENGINES="${HERE}../engines"; export OPENSSL_ENGINES | ||
| 8 | fi | ||
| 9 | |||
| 10 | if [ -x "${OPENSSL}.exe" ]; then | ||
| 11 | # The original reason for this script existence is to work around | ||
| 12 | # certain caveats in run-time linker behaviour. On Windows platforms | ||
| 13 | # adjusting $PATH used to be sufficient, but with introduction of | ||
| 14 | # SafeDllSearchMode in XP/2003 the only way to get it right in | ||
| 15 | # *all* possible situations is to copy newly built .DLLs to apps/ | ||
| 16 | # and test/, which is now done elsewhere... The $PATH is adjusted | ||
| 17 | # for backward compatibility (and nostagical reasons:-). | ||
| 18 | if [ "$OSTYPE" != msdosdjgpp ]; then | ||
| 19 | PATH="${HERE}..:$PATH"; export PATH | ||
| 20 | fi | ||
| 21 | exec "${OPENSSL}.exe" "$@" | ||
| 22 | elif [ -x "${OPENSSL}" -a -x "${HERE}shlib_wrap.sh" ]; then | ||
| 23 | exec "${HERE}shlib_wrap.sh" "${OPENSSL}" "$@" | ||
| 24 | else | ||
| 25 | exec "${OPENSSL}" "$@" # hope for the best... | ||
| 26 | fi | ||
diff --git a/src/lib/libcrypto/util/perlpath.pl b/src/lib/libcrypto/util/perlpath.pl new file mode 100644 index 0000000000..a1f236bd98 --- /dev/null +++ b/src/lib/libcrypto/util/perlpath.pl | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # modify the '#!/usr/local/bin/perl' | ||
| 4 | # line in all scripts that rely on perl. | ||
| 5 | # | ||
| 6 | |||
| 7 | require "find.pl"; | ||
| 8 | |||
| 9 | $#ARGV == 0 || print STDERR "usage: perlpath newpath (eg /usr/bin)\n"; | ||
| 10 | &find("."); | ||
| 11 | |||
| 12 | sub wanted | ||
| 13 | { | ||
| 14 | return unless /\.pl$/ || /^[Cc]onfigur/; | ||
| 15 | |||
| 16 | open(IN,"<$_") || die "unable to open $dir/$_:$!\n"; | ||
| 17 | @a=<IN>; | ||
| 18 | close(IN); | ||
| 19 | |||
| 20 | if (-d $ARGV[0]) { | ||
| 21 | $a[0]="#!$ARGV[0]/perl\n"; | ||
| 22 | } | ||
| 23 | else { | ||
| 24 | $a[0]="#!$ARGV[0]\n"; | ||
| 25 | } | ||
| 26 | |||
| 27 | # Playing it safe... | ||
| 28 | $new="$_.new"; | ||
| 29 | open(OUT,">$new") || die "unable to open $dir/$new:$!\n"; | ||
| 30 | print OUT @a; | ||
| 31 | close(OUT); | ||
| 32 | |||
| 33 | rename($new,$_) || die "unable to rename $dir/$new:$!\n"; | ||
| 34 | chmod(0755,$_) || die "unable to chmod $dir/$new:$!\n"; | ||
| 35 | } | ||
diff --git a/src/lib/libcrypto/util/pl/BC-16.pl b/src/lib/libcrypto/util/pl/BC-16.pl new file mode 100644 index 0000000000..8030653daa --- /dev/null +++ b/src/lib/libcrypto/util/pl/BC-16.pl | |||
| @@ -0,0 +1,151 @@ | |||
| 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 | |||
| 12 | if ($debug) | ||
| 13 | { $op="-v "; } | ||
| 14 | else { $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 | |||
| 21 | if ($win16) | ||
| 22 | { | ||
| 23 | $shlib=1; | ||
| 24 | $cflags.=" -DOPENSSL_SYSNAME_WIN16"; | ||
| 25 | $app_cflag="-W"; | ||
| 26 | $lib_cflag="-WD"; | ||
| 27 | $lflags.="/Twe"; | ||
| 28 | } | ||
| 29 | else | ||
| 30 | { | ||
| 31 | $cflags.=" -DOENSSL_SYSNAME_MSDOS"; | ||
| 32 | $lflags.=" /Tde"; | ||
| 33 | } | ||
| 34 | |||
| 35 | if ($shlib) | ||
| 36 | { | ||
| 37 | $mlflags=" /Twd $base_lflags"; # stack if defined in .def file | ||
| 38 | $libs="libw ldllcew"; | ||
| 39 | $no_asm=1; | ||
| 40 | } | ||
| 41 | else | ||
| 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'; | ||
| 67 | if ($no_asm || $fips) | ||
| 68 | { | ||
| 69 | $bn_asm_obj=''; | ||
| 70 | $bn_asm_src=''; | ||
| 71 | } | ||
| 72 | elsif ($asmbits == 32) | ||
| 73 | { | ||
| 74 | $bn_asm_obj='crypto\bn\asm\x86w32.obj'; | ||
| 75 | $bn_asm_src='crypto\bn\asm\x86w32.asm'; | ||
| 76 | } | ||
| 77 | else | ||
| 78 | { | ||
| 79 | $bn_asm_obj='crypto\bn\asm\x86w16.obj'; | ||
| 80 | $bn_asm_src='crypto\bn\asm\x86w16.asm'; | ||
| 81 | } | ||
| 82 | |||
| 83 | sub 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 | |||
| 120 | sub 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 | |||
| 151 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/BC-32.pl b/src/lib/libcrypto/util/pl/BC-32.pl new file mode 100644 index 0000000000..99b8c058d2 --- /dev/null +++ b/src/lib/libcrypto/util/pl/BC-32.pl | |||
| @@ -0,0 +1,139 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # Borland C++ builder 3 and 4 -- Janez Jere <jj@void.si> | ||
| 3 | # | ||
| 4 | |||
| 5 | $ssl= "ssleay32"; | ||
| 6 | $crypto="libeay32"; | ||
| 7 | |||
| 8 | $o='\\'; | ||
| 9 | $cp='copy'; | ||
| 10 | $rm='del'; | ||
| 11 | |||
| 12 | # C compiler stuff | ||
| 13 | $cc='bcc32'; | ||
| 14 | $lflags="-ap -Tpe -x -Gn "; | ||
| 15 | $mlflags=''; | ||
| 16 | |||
| 17 | $out_def="out32"; | ||
| 18 | $tmp_def="tmp32"; | ||
| 19 | $inc_def="inc32"; | ||
| 20 | #enable max error messages, disable most common warnings | ||
| 21 | $cflags="-DWIN32_LEAN_AND_MEAN -q -w-ccc -w-rch -w-pia -w-aus -w-par -w-inl -c -tWC -tWM -DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -D_stricmp=stricmp -D_strnicmp=strnicmp "; | ||
| 22 | if ($debug) | ||
| 23 | { | ||
| 24 | $cflags.="-Od -y -v -vi- -D_DEBUG"; | ||
| 25 | $mlflags.=' '; | ||
| 26 | } | ||
| 27 | else | ||
| 28 | { | ||
| 29 | $cflags.="-O2 -ff -fp"; | ||
| 30 | } | ||
| 31 | |||
| 32 | $obj='.obj'; | ||
| 33 | $ofile="-o"; | ||
| 34 | |||
| 35 | # EXE linking stuff | ||
| 36 | $link="ilink32"; | ||
| 37 | $efile=""; | ||
| 38 | $exep='.exe'; | ||
| 39 | if ($no_sock) | ||
| 40 | { $ex_libs=""; } | ||
| 41 | else { $ex_libs="cw32mt.lib import32.lib"; } | ||
| 42 | |||
| 43 | # static library stuff | ||
| 44 | $mklib='tlib /P64'; | ||
| 45 | $ranlib=''; | ||
| 46 | $plib=""; | ||
| 47 | $libp=".lib"; | ||
| 48 | $shlibp=($shlib)?".dll":".lib"; | ||
| 49 | $lfile=''; | ||
| 50 | |||
| 51 | $shlib_ex_obj=""; | ||
| 52 | $app_ex_obj="c0x32.obj"; | ||
| 53 | |||
| 54 | $asm='nasmw -f obj -d__omf__'; | ||
| 55 | $asm.=" /Zi" if $debug; | ||
| 56 | $afile='-o'; | ||
| 57 | |||
| 58 | $bn_mulw_obj=''; | ||
| 59 | $bn_mulw_src=''; | ||
| 60 | $des_enc_obj=''; | ||
| 61 | $des_enc_src=''; | ||
| 62 | $bf_enc_obj=''; | ||
| 63 | $bf_enc_src=''; | ||
| 64 | |||
| 65 | if (!$no_asm) | ||
| 66 | { | ||
| 67 | $bn_mulw_obj='crypto\bn\asm\bn_win32.obj'; | ||
| 68 | $bn_mulw_src='crypto\bn\asm\bn_win32.asm'; | ||
| 69 | $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj'; | ||
| 70 | $des_enc_src='crypto\des\asm\d_win32.asm crypto\des\asm\y_win32.asm'; | ||
| 71 | $bf_enc_obj='crypto\bf\asm\b_win32.obj'; | ||
| 72 | $bf_enc_src='crypto\bf\asm\b_win32.asm'; | ||
| 73 | $cast_enc_obj='crypto\cast\asm\c_win32.obj'; | ||
| 74 | $cast_enc_src='crypto\cast\asm\c_win32.asm'; | ||
| 75 | $rc4_enc_obj='crypto\rc4\asm\r4_win32.obj'; | ||
| 76 | $rc4_enc_src='crypto\rc4\asm\r4_win32.asm'; | ||
| 77 | $rc5_enc_obj='crypto\rc5\asm\r5_win32.obj'; | ||
| 78 | $rc5_enc_src='crypto\rc5\asm\r5_win32.asm'; | ||
| 79 | $md5_asm_obj='crypto\md5\asm\m5_win32.obj'; | ||
| 80 | $md5_asm_src='crypto\md5\asm\m5_win32.asm'; | ||
| 81 | $sha1_asm_obj='crypto\sha\asm\s1_win32.obj'; | ||
| 82 | $sha1_asm_src='crypto\sha\asm\s1_win32.asm'; | ||
| 83 | $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj'; | ||
| 84 | $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm'; | ||
| 85 | $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM"; | ||
| 86 | } | ||
| 87 | |||
| 88 | if ($shlib) | ||
| 89 | { | ||
| 90 | $mlflags.=" $lflags /dll"; | ||
| 91 | # $cflags =~ s| /MD| /MT|; | ||
| 92 | $lib_cflag=" /GD -D_WINDLL -D_DLL"; | ||
| 93 | $out_def="out32dll"; | ||
| 94 | $tmp_def="tmp32dll"; | ||
| 95 | } | ||
| 96 | |||
| 97 | sub do_lib_rule | ||
| 98 | { | ||
| 99 | local($objs,$target,$name,$shlib)=@_; | ||
| 100 | local($ret,$Name); | ||
| 101 | |||
| 102 | $taget =~ s/\//$o/g if $o ne '/'; | ||
| 103 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
| 104 | |||
| 105 | # $target="\$(LIB_D)$o$target"; | ||
| 106 | $ret.="$target: $objs\n"; | ||
| 107 | if (!$shlib) | ||
| 108 | { | ||
| 109 | $ret.=<<___; | ||
| 110 | -\$(RM) $lfile$target | ||
| 111 | \$(MKLIB) $lfile$target \@&&! | ||
| 112 | +\$(**: = &^ | ||
| 113 | +) | ||
| 114 | ! | ||
| 115 | ___ | ||
| 116 | } | ||
| 117 | else | ||
| 118 | { | ||
| 119 | local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':''; | ||
| 120 | $ex.=' wsock32.lib gdi32.lib'; | ||
| 121 | $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n"; | ||
| 122 | } | ||
| 123 | $ret.="\n"; | ||
| 124 | return($ret); | ||
| 125 | } | ||
| 126 | |||
| 127 | sub do_link_rule | ||
| 128 | { | ||
| 129 | local($target,$files,$dep_libs,$libs)=@_; | ||
| 130 | local($ret,$_); | ||
| 131 | |||
| 132 | $file =~ s/\//$o/g if $o ne '/'; | ||
| 133 | $n=&bname($targer); | ||
| 134 | $ret.="$target: $files $dep_libs\n"; | ||
| 135 | $ret.="\t\$(LINK) \$(LFLAGS) $files \$(APP_EX_OBJ), $target,, $libs\n\n"; | ||
| 136 | return($ret); | ||
| 137 | } | ||
| 138 | |||
| 139 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/Mingw32.pl b/src/lib/libcrypto/util/pl/Mingw32.pl new file mode 100644 index 0000000000..8f0483fb93 --- /dev/null +++ b/src/lib/libcrypto/util/pl/Mingw32.pl | |||
| @@ -0,0 +1,106 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # Mingw32.pl -- Mingw | ||
| 4 | # | ||
| 5 | |||
| 6 | $o='/'; | ||
| 7 | $cp='cp'; | ||
| 8 | $rm='rm -f'; | ||
| 9 | $mkdir='gmkdir'; | ||
| 10 | |||
| 11 | $o='\\'; | ||
| 12 | $cp='copy'; | ||
| 13 | $rm='del'; | ||
| 14 | $mkdir='mkdir'; | ||
| 15 | |||
| 16 | # C compiler stuff | ||
| 17 | |||
| 18 | $cc='gcc'; | ||
| 19 | if ($debug) | ||
| 20 | { $cflags="-DL_ENDIAN -DDSO_WIN32 -g2 -ggdb"; } | ||
| 21 | else | ||
| 22 | { $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -march=i486 -Wall"; } | ||
| 23 | |||
| 24 | if ($gaswin and !$no_asm) | ||
| 25 | { | ||
| 26 | $bn_asm_obj='$(OBJ_D)\bn-win32.o'; | ||
| 27 | $bn_asm_src='crypto/bn/asm/bn-win32.s'; | ||
| 28 | $bnco_asm_obj='$(OBJ_D)\co-win32.o'; | ||
| 29 | $bnco_asm_src='crypto/bn/asm/co-win32.s'; | ||
| 30 | $des_enc_obj='$(OBJ_D)\d-win32.o $(OBJ_D)\y-win32.o'; | ||
| 31 | $des_enc_src='crypto/des/asm/d-win32.s crypto/des/asm/y-win32.s'; | ||
| 32 | $bf_enc_obj='$(OBJ_D)\b-win32.o'; | ||
| 33 | $bf_enc_src='crypto/bf/asm/b-win32.s'; | ||
| 34 | # $cast_enc_obj='$(OBJ_D)\c-win32.o'; | ||
| 35 | # $cast_enc_src='crypto/cast/asm/c-win32.s'; | ||
| 36 | $rc4_enc_obj='$(OBJ_D)\r4-win32.o'; | ||
| 37 | $rc4_enc_src='crypto/rc4/asm/r4-win32.s'; | ||
| 38 | $rc5_enc_obj='$(OBJ_D)\r5-win32.o'; | ||
| 39 | $rc5_enc_src='crypto/rc5/asm/r5-win32.s'; | ||
| 40 | $md5_asm_obj='$(OBJ_D)\m5-win32.o'; | ||
| 41 | $md5_asm_src='crypto/md5/asm/m5-win32.s'; | ||
| 42 | $rmd160_asm_obj='$(OBJ_D)\rm-win32.o'; | ||
| 43 | $rmd160_asm_src='crypto/ripemd/asm/rm-win32.s'; | ||
| 44 | $sha1_asm_obj='$(OBJ_D)\s1-win32.o'; | ||
| 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"; | ||
| 49 | } | ||
| 50 | |||
| 51 | |||
| 52 | $obj='.o'; | ||
| 53 | $ofile='-o '; | ||
| 54 | |||
| 55 | # EXE linking stuff | ||
| 56 | $link='${CC}'; | ||
| 57 | $lflags='${CFLAGS}'; | ||
| 58 | $efile='-o '; | ||
| 59 | $exep=''; | ||
| 60 | $ex_libs="-lwsock32 -lgdi32"; | ||
| 61 | |||
| 62 | # static library stuff | ||
| 63 | $mklib='ar r'; | ||
| 64 | $mlflags=''; | ||
| 65 | $ranlib='ranlib'; | ||
| 66 | $plib='lib'; | ||
| 67 | $libp=".a"; | ||
| 68 | $shlibp=".a"; | ||
| 69 | $lfile=''; | ||
| 70 | |||
| 71 | $asm='as'; | ||
| 72 | $afile='-o '; | ||
| 73 | #$bn_asm_obj=""; | ||
| 74 | #$bn_asm_src=""; | ||
| 75 | #$des_enc_obj=""; | ||
| 76 | #$des_enc_src=""; | ||
| 77 | #$bf_enc_obj=""; | ||
| 78 | #$bf_enc_src=""; | ||
| 79 | |||
| 80 | sub do_lib_rule | ||
| 81 | { | ||
| 82 | local($obj,$target,$name,$shlib)=@_; | ||
| 83 | local($ret,$_,$Name); | ||
| 84 | |||
| 85 | $target =~ s/\//$o/g if $o ne '/'; | ||
| 86 | $target="$target"; | ||
| 87 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
| 88 | |||
| 89 | $ret.="$target: \$(${Name}OBJ)\n"; | ||
| 90 | $ret.="\tif exist $target \$(RM) $target\n"; | ||
| 91 | $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; | ||
| 92 | $ret.="\t\$(RANLIB) $target\n\n"; | ||
| 93 | } | ||
| 94 | |||
| 95 | sub do_link_rule | ||
| 96 | { | ||
| 97 | local($target,$files,$dep_libs,$libs)=@_; | ||
| 98 | local($ret,$_); | ||
| 99 | |||
| 100 | $file =~ s/\//$o/g if $o ne '/'; | ||
| 101 | $n=&bname($target); | ||
| 102 | $ret.="$target: $files $dep_libs\n"; | ||
| 103 | $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | ||
| 104 | return($ret); | ||
| 105 | } | ||
| 106 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/OS2-EMX.pl b/src/lib/libcrypto/util/pl/OS2-EMX.pl new file mode 100644 index 0000000000..28cd116907 --- /dev/null +++ b/src/lib/libcrypto/util/pl/OS2-EMX.pl | |||
| @@ -0,0 +1,120 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # OS2-EMX.pl - for EMX GCC on OS/2 | ||
| 4 | # | ||
| 5 | |||
| 6 | $o='/'; | ||
| 7 | $cp='cp'; | ||
| 8 | $rm='rm -f'; | ||
| 9 | |||
| 10 | $preamble = "SHELL=sh\n"; | ||
| 11 | |||
| 12 | # C compiler stuff | ||
| 13 | |||
| 14 | $cc='gcc'; | ||
| 15 | $cflags="-DL_ENDIAN -O3 -fomit-frame-pointer -m486 -Zmtd -Wall "; | ||
| 16 | $cflags.="-Zomf " if $shlib; | ||
| 17 | $shl_cflag="-Zdll"; | ||
| 18 | |||
| 19 | if ($debug) { | ||
| 20 | $cflags.="-g "; | ||
| 21 | } | ||
| 22 | |||
| 23 | $obj=$shlib ? '.obj' : '.o'; | ||
| 24 | $ofile='-o '; | ||
| 25 | |||
| 26 | # EXE linking stuff | ||
| 27 | $link='${CC}'; | ||
| 28 | $lflags='${CFLAGS} -Zbsd-signals -s'; | ||
| 29 | $efile='-o '; | ||
| 30 | $exep='.exe'; | ||
| 31 | $ex_libs="-lsocket"; | ||
| 32 | |||
| 33 | # static library stuff | ||
| 34 | $mklib='ar r'; | ||
| 35 | $mlflags=''; | ||
| 36 | $ranlib="ar s"; | ||
| 37 | $plib=''; | ||
| 38 | $libp=$shlib ? ".lib" : ".a"; | ||
| 39 | $shlibp=$shlib ? ".dll" : ".a"; | ||
| 40 | $lfile=''; | ||
| 41 | |||
| 42 | $asm=$shlib ? 'as -Zomf' : 'as'; | ||
| 43 | $afile='-o '; | ||
| 44 | $bn_asm_obj=""; | ||
| 45 | $bn_asm_src=""; | ||
| 46 | $des_enc_obj=""; | ||
| 47 | $des_enc_src=""; | ||
| 48 | $bf_enc_obj=""; | ||
| 49 | $bf_enc_src=""; | ||
| 50 | |||
| 51 | if (!$no_asm) | ||
| 52 | { | ||
| 53 | $bn_asm_obj="crypto/bn/asm/bn-os2$obj crypto/bn/asm/co-os2$obj"; | ||
| 54 | $bn_asm_src="crypto/bn/asm/bn-os2.asm crypto/bn/asm/co-os2.asm"; | ||
| 55 | $des_enc_obj="crypto/des/asm/d-os2$obj crypto/des/asm/y-os2$obj"; | ||
| 56 | $des_enc_src="crypto/des/asm/d-os2.asm crypto/des/asm/y-os2.asm"; | ||
| 57 | $bf_enc_obj="crypto/bf/asm/b-os2$obj"; | ||
| 58 | $bf_enc_src="crypto/bf/asm/b-os2.asm"; | ||
| 59 | $cast_enc_obj="crypto/cast/asm/c-os2$obj"; | ||
| 60 | $cast_enc_src="crypto/cast/asm/c-os2.asm"; | ||
| 61 | $rc4_enc_obj="crypto/rc4/asm/r4-os2$obj"; | ||
| 62 | $rc4_enc_src="crypto/rc4/asm/r4-os2.asm"; | ||
| 63 | $rc5_enc_obj="crypto/rc5/asm/r5-os2$obj"; | ||
| 64 | $rc5_enc_src="crypto/rc5/asm/r5-os2.asm"; | ||
| 65 | $md5_asm_obj="crypto/md5/asm/m5-os2$obj"; | ||
| 66 | $md5_asm_src="crypto/md5/asm/m5-os2.asm"; | ||
| 67 | $sha1_asm_obj="crypto/sha/asm/s1-os2$obj"; | ||
| 68 | $sha1_asm_src="crypto/sha/asm/s1-os2.asm"; | ||
| 69 | $rmd160_asm_obj="crypto/ripemd/asm/rm-os2$obj"; | ||
| 70 | $rmd160_asm_src="crypto/ripemd/asm/rm-os2.asm"; | ||
| 71 | $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS"; | ||
| 72 | } | ||
| 73 | |||
| 74 | if ($shlib) | ||
| 75 | { | ||
| 76 | $mlflags.=" $lflags -Zdll"; | ||
| 77 | $lib_cflag=" -D_DLL"; | ||
| 78 | $out_def="out_dll"; | ||
| 79 | $tmp_def="tmp_dll"; | ||
| 80 | } | ||
| 81 | |||
| 82 | sub do_lib_rule | ||
| 83 | { | ||
| 84 | local($obj,$target,$name,$shlib)=@_; | ||
| 85 | local($ret,$_,$Name); | ||
| 86 | |||
| 87 | $target =~ s/\//$o/g if $o ne '/'; | ||
| 88 | $target="$target"; | ||
| 89 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
| 90 | |||
| 91 | $ret.="$target: \$(${Name}OBJ)\n"; | ||
| 92 | if (!$shlib) | ||
| 93 | { | ||
| 94 | $ret.="\t\$(RM) $target\n"; | ||
| 95 | $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; | ||
| 96 | $ret.="\t\$(RANLIB) $target\n\n"; | ||
| 97 | } | ||
| 98 | else | ||
| 99 | { | ||
| 100 | local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':''; | ||
| 101 | $ex.=' -lsocket'; | ||
| 102 | $ret.="\t\$(LINK) \$(SHLIB_CFLAGS) \$(MLFLAGS) $efile$target \$(SHLIB_EX_OBJ) \$(${Name}OBJ) $ex os2/${Name}.def\n"; | ||
| 103 | $ret.="\temximp -o $out_def/$name.a os2/${Name}.def\n"; | ||
| 104 | $ret.="\temximp -o $out_def/$name.lib os2/${Name}.def\n\n"; | ||
| 105 | } | ||
| 106 | } | ||
| 107 | |||
| 108 | sub do_link_rule | ||
| 109 | { | ||
| 110 | local($target,$files,$dep_libs,$libs)=@_; | ||
| 111 | local($ret,$_); | ||
| 112 | |||
| 113 | $file =~ s/\//$o/g if $o ne '/'; | ||
| 114 | $n=&bname($target); | ||
| 115 | $ret.="$target: $files $dep_libs\n"; | ||
| 116 | $ret.="\t\$(LINK) ${efile}$target \$(CFLAG) \$(LFLAGS) $files $libs\n\n"; | ||
| 117 | return($ret); | ||
| 118 | } | ||
| 119 | |||
| 120 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/VC-16.pl b/src/lib/libcrypto/util/pl/VC-16.pl new file mode 100644 index 0000000000..564ba3fd08 --- /dev/null +++ b/src/lib/libcrypto/util/pl/VC-16.pl | |||
| @@ -0,0 +1,177 @@ | |||
| 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 | |||
| 19 | if ($debug) | ||
| 20 | { | ||
| 21 | $op="/Od /Zi /Zd"; | ||
| 22 | $base_lflags="/CO"; | ||
| 23 | } | ||
| 24 | else { | ||
| 25 | $op="/G2 /f- /Ocgnotb2"; | ||
| 26 | } | ||
| 27 | $base_lflags.=" /FARCALL /NOLOGO /NOD /SEG:1024 /ONERROR:NOEXE /NOE /PACKC:60000"; | ||
| 28 | if ($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 | |||
| 34 | if ($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 | } | ||
| 44 | else | ||
| 45 | { | ||
| 46 | $no_sock=1; | ||
| 47 | $cflags.=" -DMSDOS"; | ||
| 48 | $lflags.=" /EXEPACK"; | ||
| 49 | $ex_libs.="oldnames.lib llibce.lib"; | ||
| 50 | } | ||
| 51 | |||
| 52 | if ($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 | } | ||
| 61 | else | ||
| 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 | |||
| 93 | if (!$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 | |||
| 107 | sub 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 | |||
| 148 | sub 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 | |||
| 177 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl b/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl new file mode 100644 index 0000000000..b5bbcac6c2 --- /dev/null +++ b/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl | |||
| @@ -0,0 +1,222 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # VCw32lib.pl - the file for Visual C++ 4.[01] for windows NT, static libraries | ||
| 3 | # | ||
| 4 | |||
| 5 | |||
| 6 | if ($fips && !$shlib) | ||
| 7 | { | ||
| 8 | $crypto="libeayfips32"; | ||
| 9 | $crypto_compat = "libeaycompat32.lib"; | ||
| 10 | } | ||
| 11 | else | ||
| 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 | |||
| 38 | if ($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'; | ||
| 53 | if ($no_sock) | ||
| 54 | { $ex_libs=""; } | ||
| 55 | else { $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"; | ||
| 67 | if ($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 | |||
| 83 | if (!$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 | |||
| 106 | if ($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 | |||
| 117 | sub 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 | |||
| 171 | sub 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 | |||
| 205 | sub 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 | |||
| 222 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/VC-32.pl b/src/lib/libcrypto/util/pl/VC-32.pl new file mode 100644 index 0000000000..1e254119e6 --- /dev/null +++ b/src/lib/libcrypto/util/pl/VC-32.pl | |||
| @@ -0,0 +1,314 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # VC-32.pl - unified script for Microsoft Visual C++, covering Win32, | ||
| 3 | # Win64 and WinCE [follow $FLAVOR variable to trace the differences]. | ||
| 4 | # | ||
| 5 | |||
| 6 | $ssl= "ssleay32"; | ||
| 7 | $crypto="libeay32"; | ||
| 8 | |||
| 9 | $o='\\'; | ||
| 10 | $cp='$(PERL) util/copy.pl'; | ||
| 11 | $mkdir='$(PERL) util/mkdir-p.pl'; | ||
| 12 | $rm='del'; | ||
| 13 | |||
| 14 | $zlib_lib="zlib1.lib"; | ||
| 15 | |||
| 16 | # C compiler stuff | ||
| 17 | $cc='cl'; | ||
| 18 | if ($FLAVOR =~ /WIN64/) | ||
| 19 | { | ||
| 20 | # Note that we currently don't have /WX on Win64! There is a lot of | ||
| 21 | # warnings, but only of two types: | ||
| 22 | # | ||
| 23 | # C4344: conversion from '__int64' to 'int/long', possible loss of data | ||
| 24 | # C4267: conversion from 'size_t' to 'int/long', possible loss of data | ||
| 25 | # | ||
| 26 | # Amount of latter type is minimized by aliasing strlen to function of | ||
| 27 | # own desing and limiting its return value to 2GB-1 (see e_os.h). As | ||
| 28 | # per 0.9.8 release remaining warnings were explicitly examined and | ||
| 29 | # considered safe to ignore. | ||
| 30 | # | ||
| 31 | $base_cflags=' /W3 /Gs0 /GF /Gy /nologo -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DOPENSSL_SYSNAME_WIN32 -DOPENSSL_SYSNAME_WINNT -DUNICODE -D_UNICODE'; | ||
| 32 | $base_cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8 | ||
| 33 | $base_cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8 | ||
| 34 | my $f = $shlib?' /MD':' /MT'; | ||
| 35 | $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib | ||
| 36 | $opt_cflags=$f.' /Ox'; | ||
| 37 | $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; | ||
| 38 | $lflags="/nologo /subsystem:console /opt:ref"; | ||
| 39 | } | ||
| 40 | elsif ($FLAVOR =~ /CE/) | ||
| 41 | { | ||
| 42 | # sanity check | ||
| 43 | die '%OSVERSION% is not defined' if (!defined($ENV{'OSVERSION'})); | ||
| 44 | die '%PLATFORM% is not defined' if (!defined($ENV{'PLATFORM'})); | ||
| 45 | die '%TARGETCPU% is not defined' if (!defined($ENV{'TARGETCPU'})); | ||
| 46 | |||
| 47 | # | ||
| 48 | # Idea behind this is to mimic flags set by eVC++ IDE... | ||
| 49 | # | ||
| 50 | $wcevers = $ENV{'OSVERSION'}; # WCENNN | ||
| 51 | die '%OSVERSION% value is insane' if ($wcevers !~ /^WCE([1-9])([0-9]{2})$/); | ||
| 52 | $wcecdefs = "-D_WIN32_WCE=$1$2 -DUNDER_CE=$1$2"; # -D_WIN32_WCE=NNN | ||
| 53 | $wcelflag = "/subsystem:windowsce,$1.$2"; # ...,N.NN | ||
| 54 | |||
| 55 | $wceplatf = $ENV{'PLATFORM'}; | ||
| 56 | $wceplatf =~ tr/a-z0-9 /A-Z0-9_/d; | ||
| 57 | $wcecdefs .= " -DWCE_PLATFORM_$wceplatf"; | ||
| 58 | |||
| 59 | $wcetgt = $ENV{'TARGETCPU'}; # just shorter name... | ||
| 60 | SWITCH: for($wcetgt) { | ||
| 61 | /^X86/ && do { $wcecdefs.=" -Dx86 -D_X86_ -D_i386_ -Di_386_"; | ||
| 62 | $wcelflag.=" /machine:IX86"; last; }; | ||
| 63 | /^ARMV4[IT]/ && do { $wcecdefs.=" -DARM -D_ARM_ -D$wcetgt"; | ||
| 64 | $wcecdefs.=" -DTHUMB -D_THUMB_" if($wcetgt=~/T$/); | ||
| 65 | $wcecdefs.=" -QRarch4T -QRinterwork-return"; | ||
| 66 | $wcelflag.=" /machine:THUMB"; last; }; | ||
| 67 | /^ARM/ && do { $wcecdefs.=" -DARM -D_ARM_ -D$wcetgt"; | ||
| 68 | $wcelflag.=" /machine:ARM"; last; }; | ||
| 69 | /^MIPSIV/ && do { $wcecdefs.=" -DMIPS -D_MIPS_ -DR4000 -D$wcetgt"; | ||
| 70 | $wcecdefs.=" -D_MIPS64 -QMmips4 -QMn32"; | ||
| 71 | $wcelflag.=" /machine:MIPSFPU"; last; }; | ||
| 72 | /^MIPS16/ && do { $wcecdefs.=" -DMIPS -D_MIPS_ -DR4000 -D$wcetgt"; | ||
| 73 | $wcecdefs.=" -DMIPSII -QMmips16"; | ||
| 74 | $wcelflag.=" /machine:MIPS16"; last; }; | ||
| 75 | /^MIPSII/ && do { $wcecdefs.=" -DMIPS -D_MIPS_ -DR4000 -D$wcetgt"; | ||
| 76 | $wcecdefs.=" -QMmips2"; | ||
| 77 | $wcelflag.=" /machine:MIPS"; last; }; | ||
| 78 | /^R4[0-9]{3}/ && do { $wcecdefs.=" -DMIPS -D_MIPS_ -DR4000"; | ||
| 79 | $wcelflag.=" /machine:MIPS"; last; }; | ||
| 80 | /^SH[0-9]/ && do { $wcecdefs.=" -D$wcetgt -D_$wcetgt_ -DSHx"; | ||
| 81 | $wcecdefs.=" -Qsh4" if ($wcetgt =~ /^SH4/); | ||
| 82 | $wcelflag.=" /machine:$wcetgt"; last; }; | ||
| 83 | { $wcecdefs.=" -D$wcetgt -D_$wcetgt_"; | ||
| 84 | $wcelflag.=" /machine:$wcetgt"; last; }; | ||
| 85 | } | ||
| 86 | |||
| 87 | $cc='$(CC)'; | ||
| 88 | $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'; | ||
| 89 | $base_cflags.=" $wcecdefs"; | ||
| 90 | $opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics... | ||
| 91 | $dbg_clfags=' /MC /Od -DDEBUG -D_DEBUG'; | ||
| 92 | $lflags="/nologo /opt:ref $wcelflag"; | ||
| 93 | } | ||
| 94 | else # Win32 | ||
| 95 | { | ||
| 96 | $base_cflags=' /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32'; | ||
| 97 | $base_cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8 | ||
| 98 | $base_cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8 | ||
| 99 | my $f = $shlib?' /MD':' /MT'; | ||
| 100 | $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib | ||
| 101 | $opt_cflags=$f.' /Ox /O2 /Ob2'; | ||
| 102 | $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; | ||
| 103 | $lflags="/nologo /subsystem:console /opt:ref"; | ||
| 104 | } | ||
| 105 | $mlflags=''; | ||
| 106 | |||
| 107 | $out_def="out32"; $out_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); | ||
| 108 | $tmp_def="tmp32"; $tmp_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); | ||
| 109 | $inc_def="inc32"; | ||
| 110 | |||
| 111 | if ($debug) | ||
| 112 | { | ||
| 113 | $cflags=$dbg_cflags.$base_cflags; | ||
| 114 | $lflags.=" /debug"; | ||
| 115 | $mlflags.=' /debug'; | ||
| 116 | } | ||
| 117 | else | ||
| 118 | { | ||
| 119 | $cflags=$opt_cflags.$base_cflags; | ||
| 120 | } | ||
| 121 | |||
| 122 | $obj='.obj'; | ||
| 123 | $ofile="/Fo"; | ||
| 124 | |||
| 125 | # EXE linking stuff | ||
| 126 | $link="link"; | ||
| 127 | $rsc="rc"; | ||
| 128 | $efile="/out:"; | ||
| 129 | $exep='.exe'; | ||
| 130 | if ($no_sock) { $ex_libs=''; } | ||
| 131 | elsif ($FLAVOR =~ /CE/) { $ex_libs='winsock.lib'; } | ||
| 132 | else { $ex_libs='wsock32.lib'; } | ||
| 133 | |||
| 134 | if ($FLAVOR =~ /CE/) | ||
| 135 | { | ||
| 136 | $ex_libs.=' $(WCECOMPAT)/lib/wcecompatex.lib'; | ||
| 137 | $ex_libs.=' /nodefaultlib:oldnames.lib coredll.lib corelibc.lib' if ($ENV{'TARGETCPU'} eq "X86"); | ||
| 138 | } | ||
| 139 | else | ||
| 140 | { | ||
| 141 | $ex_libs.=' gdi32.lib crypt32.lib advapi32.lib user32.lib'; | ||
| 142 | $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/); | ||
| 143 | } | ||
| 144 | |||
| 145 | # As native NT API is pure UNICODE, our WIN-NT build defaults to UNICODE, | ||
| 146 | # but gets linked with unicows.lib to ensure backward compatibility. | ||
| 147 | if ($FLAVOR =~ /NT/) | ||
| 148 | { | ||
| 149 | $cflags.=" -DOPENSSL_SYSNAME_WINNT -DUNICODE -D_UNICODE"; | ||
| 150 | $ex_libs="unicows.lib $ex_libs"; | ||
| 151 | } | ||
| 152 | # static library stuff | ||
| 153 | $mklib='lib'; | ||
| 154 | $ranlib=''; | ||
| 155 | $plib=""; | ||
| 156 | $libp=".lib"; | ||
| 157 | $shlibp=($shlib)?".dll":".lib"; | ||
| 158 | $lfile='/out:'; | ||
| 159 | |||
| 160 | $shlib_ex_obj=""; | ||
| 161 | $app_ex_obj="setargv.obj" if ($FLAVOR !~ /CE/); | ||
| 162 | if ($nasm) { | ||
| 163 | my $ver=`nasm -v 2>NUL`; | ||
| 164 | my $vew=`nasmw -v 2>NUL`; | ||
| 165 | # pick newest version | ||
| 166 | $asm=($ver gt $vew?"nasm":"nasmw")." -f win32"; | ||
| 167 | $afile='-o '; | ||
| 168 | } else { | ||
| 169 | $asm='ml /Cp /coff /c /Cx'; | ||
| 170 | $asm.=" /Zi" if $debug; | ||
| 171 | $afile='/Fo'; | ||
| 172 | } | ||
| 173 | |||
| 174 | $bn_asm_obj=''; | ||
| 175 | $bn_asm_src=''; | ||
| 176 | $des_enc_obj=''; | ||
| 177 | $des_enc_src=''; | ||
| 178 | $bf_enc_obj=''; | ||
| 179 | $bf_enc_src=''; | ||
| 180 | |||
| 181 | if (!$no_asm) | ||
| 182 | { | ||
| 183 | $aes_asm_obj='crypto\aes\asm\a_win32.obj'; | ||
| 184 | $aes_asm_src='crypto\aes\asm\a_win32.asm'; | ||
| 185 | $bn_asm_obj='crypto\bn\asm\bn_win32.obj'; | ||
| 186 | $bn_asm_src='crypto\bn\asm\bn_win32.asm'; | ||
| 187 | $bnco_asm_obj='crypto\bn\asm\co_win32.obj'; | ||
| 188 | $bnco_asm_src='crypto\bn\asm\co_win32.asm'; | ||
| 189 | $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj'; | ||
| 190 | $des_enc_src='crypto\des\asm\d_win32.asm crypto\des\asm\y_win32.asm'; | ||
| 191 | $bf_enc_obj='crypto\bf\asm\b_win32.obj'; | ||
| 192 | $bf_enc_src='crypto\bf\asm\b_win32.asm'; | ||
| 193 | $cast_enc_obj='crypto\cast\asm\c_win32.obj'; | ||
| 194 | $cast_enc_src='crypto\cast\asm\c_win32.asm'; | ||
| 195 | $rc4_enc_obj='crypto\rc4\asm\r4_win32.obj'; | ||
| 196 | $rc4_enc_src='crypto\rc4\asm\r4_win32.asm'; | ||
| 197 | $rc5_enc_obj='crypto\rc5\asm\r5_win32.obj'; | ||
| 198 | $rc5_enc_src='crypto\rc5\asm\r5_win32.asm'; | ||
| 199 | $md5_asm_obj='crypto\md5\asm\m5_win32.obj'; | ||
| 200 | $md5_asm_src='crypto\md5\asm\m5_win32.asm'; | ||
| 201 | $sha1_asm_obj='crypto\sha\asm\s1_win32.obj crypto\sha\asm\sha512-sse2.obj'; | ||
| 202 | $sha1_asm_src='crypto\sha\asm\s1_win32.asm crypto\sha\asm\sha512-sse2.asm'; | ||
| 203 | $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj'; | ||
| 204 | $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm'; | ||
| 205 | $cpuid_asm_obj='crypto\cpu_win32.obj'; | ||
| 206 | $cpuid_asm_src='crypto\cpu_win32.asm'; | ||
| 207 | $cflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DMD5_ASM -DSHA1_ASM -DRMD160_ASM"; | ||
| 208 | } | ||
| 209 | |||
| 210 | if ($shlib && $FLAVOR !~ /CE/) | ||
| 211 | { | ||
| 212 | $mlflags.=" $lflags /dll"; | ||
| 213 | $lib_cflag=" -D_WINDLL"; | ||
| 214 | $out_def="out32dll"; | ||
| 215 | $tmp_def="tmp32dll"; | ||
| 216 | # | ||
| 217 | # Engage Applink... | ||
| 218 | # | ||
| 219 | $app_ex_obj.=" \$(OBJ_D)\\applink.obj /implib:\$(TMP_D)\\junk.lib"; | ||
| 220 | $cflags.=" -DOPENSSL_USE_APPLINK -I."; | ||
| 221 | # I'm open for better suggestions than overriding $banner... | ||
| 222 | $banner=<<'___'; | ||
| 223 | @echo Building OpenSSL | ||
| 224 | |||
| 225 | $(OBJ_D)\applink.obj: ms\applink.c | ||
| 226 | $(CC) /Fo$(OBJ_D)\applink.obj $(APP_CFLAGS) -c ms\applink.c | ||
| 227 | $(OBJ_D)\uplink.obj: ms\uplink.c ms\applink.c | ||
| 228 | $(CC) /Fo$(OBJ_D)\uplink.obj $(SHLIB_CFLAGS) -c ms\uplink.c | ||
| 229 | $(INCO_D)\applink.c: ms\applink.c | ||
| 230 | $(CP) ms\applink.c $(INCO_D)\applink.c | ||
| 231 | |||
| 232 | EXHEADER= $(EXHEADER) $(INCO_D)\applink.c | ||
| 233 | |||
| 234 | LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj | ||
| 235 | CRYPTOOBJ=$(OBJ_D)\uplink.obj $(CRYPTOOBJ) | ||
| 236 | ___ | ||
| 237 | $banner.=<<'___' if ($FLAVOR =~ /WIN64/); | ||
| 238 | CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ) | ||
| 239 | ___ | ||
| 240 | } | ||
| 241 | elsif ($shlib && $FLAVOR =~ /CE/) | ||
| 242 | { | ||
| 243 | $mlflags.=" $lflags /dll"; | ||
| 244 | $lib_cflag=" -D_WINDLL -D_DLL"; | ||
| 245 | $out_def='out32dll_$(TARGETCPU)'; | ||
| 246 | $tmp_def='tmp32dll_$(TARGETCPU)'; | ||
| 247 | } | ||
| 248 | |||
| 249 | $cflags.=" /Fd$out_def"; | ||
| 250 | |||
| 251 | sub do_lib_rule | ||
| 252 | { | ||
| 253 | local($objs,$target,$name,$shlib)=@_; | ||
| 254 | local($ret); | ||
| 255 | |||
| 256 | $taget =~ s/\//$o/g if $o ne '/'; | ||
| 257 | if ($name ne "") | ||
| 258 | { | ||
| 259 | $name =~ tr/a-z/A-Z/; | ||
| 260 | $name = "/def:ms/${name}.def"; | ||
| 261 | } | ||
| 262 | # $target="\$(LIB_D)$o$target"; | ||
| 263 | $ret.="$target: $objs\n"; | ||
| 264 | if (!$shlib) | ||
| 265 | { | ||
| 266 | # $ret.="\t\$(RM) \$(O_$Name)\n"; | ||
| 267 | $ex =' '; | ||
| 268 | $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs $ex\n<<\n"; | ||
| 269 | } | ||
| 270 | else | ||
| 271 | { | ||
| 272 | local($ex)=($target =~ /O_CRYPTO/)?'':' $(L_CRYPTO)'; | ||
| 273 | if ($name eq "") | ||
| 274 | { | ||
| 275 | $ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/); | ||
| 276 | if ($target =~ /capi/) | ||
| 277 | { | ||
| 278 | $ex.=' crypt32.lib advapi32.lib'; | ||
| 279 | } | ||
| 280 | } | ||
| 281 | elsif ($FLAVOR =~ /CE/) | ||
| 282 | { | ||
| 283 | $ex.=' winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib'; | ||
| 284 | } | ||
| 285 | else | ||
| 286 | { | ||
| 287 | $ex.=' unicows.lib' if ($FLAVOR =~ /NT/); | ||
| 288 | $ex.=' wsock32.lib gdi32.lib advapi32.lib user32.lib'; | ||
| 289 | $ex.=' crypt32.lib'; | ||
| 290 | $ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/); | ||
| 291 | } | ||
| 292 | $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/; | ||
| 293 | $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target $name @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n"; | ||
| 294 | $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;2\n\n"; | ||
| 295 | } | ||
| 296 | $ret.="\n"; | ||
| 297 | return($ret); | ||
| 298 | } | ||
| 299 | |||
| 300 | sub do_link_rule | ||
| 301 | { | ||
| 302 | local($target,$files,$dep_libs,$libs)=@_; | ||
| 303 | local($ret,$_); | ||
| 304 | |||
| 305 | $file =~ s/\//$o/g if $o ne '/'; | ||
| 306 | $n=&bname($targer); | ||
| 307 | $ret.="$target: $files $dep_libs\n"; | ||
| 308 | $ret.="\t\$(LINK) \$(LFLAGS) $efile$target @<<\n"; | ||
| 309 | $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n"; | ||
| 310 | $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;1\n\n"; | ||
| 311 | return($ret); | ||
| 312 | } | ||
| 313 | |||
| 314 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/VC-CE.pl b/src/lib/libcrypto/util/pl/VC-CE.pl new file mode 100644 index 0000000000..2fd0c4dd32 --- /dev/null +++ b/src/lib/libcrypto/util/pl/VC-CE.pl | |||
| @@ -0,0 +1,116 @@ | |||
| 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 | |||
| 23 | if ($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'; | ||
| 37 | if ($no_sock) | ||
| 38 | { $ex_libs=""; } | ||
| 39 | else { $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 | |||
| 60 | if ($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 | |||
| 71 | sub 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 | |||
| 98 | sub 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 | |||
| 116 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/linux.pl b/src/lib/libcrypto/util/pl/linux.pl new file mode 100644 index 0000000000..d24f7b7291 --- /dev/null +++ b/src/lib/libcrypto/util/pl/linux.pl | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # linux.pl - the standard unix makefile stuff. | ||
| 4 | # | ||
| 5 | |||
| 6 | $o='/'; | ||
| 7 | $cp='/bin/cp'; | ||
| 8 | $rm='/bin/rm -f'; | ||
| 9 | |||
| 10 | # C compiler stuff | ||
| 11 | |||
| 12 | $cc='gcc'; | ||
| 13 | if ($debug) | ||
| 14 | { $cflags="-g2 -ggdb -DREF_CHECK -DCRYPTO_MDEBUG"; } | ||
| 15 | elsif ($profile) | ||
| 16 | { $cflags="-pg -O3"; } | ||
| 17 | else | ||
| 18 | { $cflags="-O3 -fomit-frame-pointer"; } | ||
| 19 | |||
| 20 | if (!$no_asm) | ||
| 21 | { | ||
| 22 | $bn_asm_obj='$(OBJ_D)/bn86-elf.o'; | ||
| 23 | $bn_asm_src='crypto/bn/asm/bn86unix.cpp'; | ||
| 24 | $bnco_asm_obj='$(OBJ_D)/co86-elf.o'; | ||
| 25 | $bnco_asm_src='crypto/bn/asm/co86unix.cpp'; | ||
| 26 | $des_enc_obj='$(OBJ_D)/dx86-elf.o $(OBJ_D)/yx86-elf.o'; | ||
| 27 | $des_enc_src='crypto/des/asm/dx86unix.cpp crypto/des/asm/yx86unix.cpp'; | ||
| 28 | $bf_enc_obj='$(OBJ_D)/bx86-elf.o'; | ||
| 29 | $bf_enc_src='crypto/bf/asm/bx86unix.cpp'; | ||
| 30 | $cast_enc_obj='$(OBJ_D)/cx86-elf.o'; | ||
| 31 | $cast_enc_src='crypto/cast/asm/cx86unix.cpp'; | ||
| 32 | $rc4_enc_obj='$(OBJ_D)/rx86-elf.o'; | ||
| 33 | $rc4_enc_src='crypto/rc4/asm/rx86unix.cpp'; | ||
| 34 | $rc5_enc_obj='$(OBJ_D)/r586-elf.o'; | ||
| 35 | $rc5_enc_src='crypto/rc5/asm/r586unix.cpp'; | ||
| 36 | $md5_asm_obj='$(OBJ_D)/mx86-elf.o'; | ||
| 37 | $md5_asm_src='crypto/md5/asm/mx86unix.cpp'; | ||
| 38 | $rmd160_asm_obj='$(OBJ_D)/rm86-elf.o'; | ||
| 39 | $rmd160_asm_src='crypto/ripemd/asm/rm86unix.cpp'; | ||
| 40 | $sha1_asm_obj='$(OBJ_D)/sx86-elf.o'; | ||
| 41 | $sha1_asm_src='crypto/sha/asm/sx86unix.cpp'; | ||
| 42 | $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS"; | ||
| 43 | } | ||
| 44 | |||
| 45 | $cflags.=" -DTERMIO -DL_ENDIAN -m486 -Wall"; | ||
| 46 | |||
| 47 | if ($shlib) | ||
| 48 | { | ||
| 49 | $shl_cflag=" -DPIC -fpic"; | ||
| 50 | $shlibp=".so.$ssl_version"; | ||
| 51 | $so_shlibp=".so"; | ||
| 52 | } | ||
| 53 | |||
| 54 | sub do_shlib_rule | ||
| 55 | { | ||
| 56 | local($obj,$target,$name,$shlib,$so_name)=@_; | ||
| 57 | local($ret,$_,$Name); | ||
| 58 | |||
| 59 | $target =~ s/\//$o/g if $o ne '/'; | ||
| 60 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
| 61 | |||
| 62 | $ret.="$target: \$(${Name}OBJ)\n"; | ||
| 63 | $ret.="\t\$(RM) target\n"; | ||
| 64 | $ret.="\tgcc \${CFLAGS} -shared -Wl,-soname,$target -o $target \$(${Name}OBJ)\n"; | ||
| 65 | ($t=$target) =~ s/(^.*)\/[^\/]*$/$1/; | ||
| 66 | if ($so_name ne "") | ||
| 67 | { | ||
| 68 | $ret.="\t\$(RM) \$(LIB_D)$o$so_name\n"; | ||
| 69 | $ret.="\tln -s $target \$(LIB_D)$o$so_name\n\n"; | ||
| 70 | } | ||
| 71 | } | ||
| 72 | |||
| 73 | sub do_link_rule | ||
| 74 | { | ||
| 75 | local($target,$files,$dep_libs,$libs)=@_; | ||
| 76 | local($ret,$_); | ||
| 77 | |||
| 78 | $file =~ s/\//$o/g if $o ne '/'; | ||
| 79 | $n=&bname($target); | ||
| 80 | $ret.="$target: $files $dep_libs\n"; | ||
| 81 | $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | ||
| 82 | return($ret); | ||
| 83 | } | ||
| 84 | |||
| 85 | sub do_asm_rule | ||
| 86 | { | ||
| 87 | local($target,$src)=@_; | ||
| 88 | local($ret,@s,@t,$i); | ||
| 89 | |||
| 90 | $target =~ s/\//$o/g if $o ne "/"; | ||
| 91 | $src =~ s/\//$o/g if $o ne "/"; | ||
| 92 | |||
| 93 | @s=split(/\s+/,$src); | ||
| 94 | @t=split(/\s+/,$target); | ||
| 95 | |||
| 96 | for ($i=0; $i<=$#s; $i++) | ||
| 97 | { | ||
| 98 | $ret.="$t[$i]: $s[$i]\n"; | ||
| 99 | $ret.="\tgcc -E -DELF \$(SRC_D)$o$s[$i]|\$(AS) $afile$t[$i]\n\n"; | ||
| 100 | } | ||
| 101 | return($ret); | ||
| 102 | } | ||
| 103 | |||
| 104 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/netware.pl b/src/lib/libcrypto/util/pl/netware.pl new file mode 100644 index 0000000000..173c9919f2 --- /dev/null +++ b/src/lib/libcrypto/util/pl/netware.pl | |||
| @@ -0,0 +1,526 @@ | |||
| 1 | # Metrowerks Codewarrior or gcc / nlmconv for NetWare | ||
| 2 | # | ||
| 3 | |||
| 4 | $version_header = "crypto/opensslv.h"; | ||
| 5 | open(IN, "$version_header") or die "Couldn't open $version_header: $!"; | ||
| 6 | while (<IN>) { | ||
| 7 | if (/^#define[\s\t]+OPENSSL_VERSION_NUMBER[\s\t]+0x(\d)(\d{2})(\d{2})(\d{2})/) | ||
| 8 | { | ||
| 9 | # die "OpenSSL version detected: $1.$2.$3.$4\n"; | ||
| 10 | #$nlmvernum = "$1,$2,$3"; | ||
| 11 | $nlmvernum = "$1,".($2*10+$3).",".($4*1); | ||
| 12 | #$nlmverstr = "$1.".($2*1).".".($3*1).($4?(chr(96+$4)):""); | ||
| 13 | break; | ||
| 14 | } | ||
| 15 | } | ||
| 16 | close(IN) or die "Couldn't close $version_header: $!"; | ||
| 17 | |||
| 18 | $readme_file = "README"; | ||
| 19 | open(IN, $readme_file) or die "Couldn't open $readme_file: $!"; | ||
| 20 | while (<IN>) { | ||
| 21 | if (/^[\s\t]+OpenSSL[\s\t]+(\d)\.(\d{1,2})\.(\d{1,2})([a-z])(.*)/) | ||
| 22 | { | ||
| 23 | #$nlmvernum = "$1,$2,$3"; | ||
| 24 | #$nlmvernum = "$1,".($2*10+$3).",".($4*1); | ||
| 25 | $nlmverstr = "$1.$2.$3$4$5"; | ||
| 26 | } | ||
| 27 | elsif (/^[\s\t]+(Copyright \(c\) \d{4}\-\d{4} The OpenSSL Project)$/) | ||
| 28 | { | ||
| 29 | $nlmcpystr = $1; | ||
| 30 | } | ||
| 31 | break if ($nlmvernum && $nlmcpystr); | ||
| 32 | } | ||
| 33 | close(IN) or die "Couldn't close $readme_file: $!"; | ||
| 34 | |||
| 35 | # Define stacksize here | ||
| 36 | $nlmstack = "32768"; | ||
| 37 | |||
| 38 | # some default settings here in case we failed to find them in README | ||
| 39 | $nlmvernum = "1,0,0" if (!$nlmvernum); | ||
| 40 | $nlmverstr = "OpenSSL" if (!$nlmverstr); | ||
| 41 | $nlmcpystr = "Copyright (c) 1998-now The OpenSSL Project" if (!$nlmcpystr); | ||
| 42 | |||
| 43 | # die "OpenSSL copyright: $nlmcpystr\nOpenSSL verstring: $nlmverstr\nOpenSSL vernumber: $nlmvernum\n"; | ||
| 44 | |||
| 45 | # The import files and other misc imports needed to link | ||
| 46 | @misc_imports = ("GetProcessSwitchCount", "RunningProcess", | ||
| 47 | "GetSuperHighResolutionTimer"); | ||
| 48 | if ($LIBC) | ||
| 49 | { | ||
| 50 | @import_files = ("libc.imp"); | ||
| 51 | @module_files = ("libc"); | ||
| 52 | $libarch = "LIBC"; | ||
| 53 | } | ||
| 54 | else | ||
| 55 | { | ||
| 56 | # clib build | ||
| 57 | @import_files = ("clib.imp"); | ||
| 58 | push(@import_files, "socklib.imp") if ($BSDSOCK); | ||
| 59 | @module_files = ("clib"); | ||
| 60 | # push(@misc_imports, "_rt_modu64%16", "_rt_divu64%16"); | ||
| 61 | $libarch = "CLIB"; | ||
| 62 | } | ||
| 63 | if ($BSDSOCK) | ||
| 64 | { | ||
| 65 | $libarch .= "-BSD"; | ||
| 66 | } | ||
| 67 | else | ||
| 68 | { | ||
| 69 | $libarch .= "-WS2"; | ||
| 70 | push(@import_files, "ws2nlm.imp"); | ||
| 71 | } | ||
| 72 | |||
| 73 | # The "IMPORTS" environment variable must be set and point to the location | ||
| 74 | # where import files (*.imp) can be found. | ||
| 75 | # Example: set IMPORTS=c:\ndk\nwsdk\imports | ||
| 76 | $import_path = $ENV{"IMPORTS"} || die ("IMPORTS environment variable not set\n"); | ||
| 77 | |||
| 78 | |||
| 79 | # The "PRELUDE" environment variable must be set and point to the location | ||
| 80 | # and name of the prelude source to link with ( nwpre.obj is recommended ). | ||
| 81 | # Example: set PRELUDE=c:\codewar\novell support\metrowerks support\libraries\runtime\nwpre.obj | ||
| 82 | $prelude = $ENV{"PRELUDE"} || die ("PRELUDE environment variable not set\n"); | ||
| 83 | |||
| 84 | # The "INCLUDES" environment variable must be set and point to the location | ||
| 85 | # where import files (*.imp) can be found. | ||
| 86 | $include_path = $ENV{"INCLUDE"} || die ("INCLUDES environment variable not set\n"); | ||
| 87 | $include_path =~ s/\\/\//g; | ||
| 88 | $include_path = join(" -I", split(/;/, $include_path)); | ||
| 89 | |||
| 90 | # check for gcc compiler | ||
| 91 | $gnuc = $ENV{"GNUC"}; | ||
| 92 | |||
| 93 | #$ssl= "ssleay32"; | ||
| 94 | #$crypto="libeay32"; | ||
| 95 | |||
| 96 | if ($gnuc) | ||
| 97 | { | ||
| 98 | # C compiler | ||
| 99 | $cc='gcc'; | ||
| 100 | # Linker | ||
| 101 | $link='nlmconv'; | ||
| 102 | # librarian | ||
| 103 | $mklib='ar'; | ||
| 104 | $o='/'; | ||
| 105 | # cp command | ||
| 106 | $cp='cp -af'; | ||
| 107 | # rm command | ||
| 108 | $rm='rm -f'; | ||
| 109 | # mv command | ||
| 110 | $mv='mv -f'; | ||
| 111 | # mkdir command | ||
| 112 | $mkdir='gmkdir'; | ||
| 113 | #$ranlib='ranlib'; | ||
| 114 | } | ||
| 115 | else | ||
| 116 | { | ||
| 117 | # C compiler | ||
| 118 | $cc='mwccnlm'; | ||
| 119 | # Linker | ||
| 120 | $link='mwldnlm'; | ||
| 121 | # librarian | ||
| 122 | $mklib='mwldnlm'; | ||
| 123 | # Path separator | ||
| 124 | $o='\\'; | ||
| 125 | # cp command | ||
| 126 | $cp='copy >nul:'; | ||
| 127 | # rm command | ||
| 128 | $rm='del /f /q'; | ||
| 129 | } | ||
| 130 | |||
| 131 | # assembler | ||
| 132 | if ($nw_nasm) | ||
| 133 | { | ||
| 134 | if ($gnuc) | ||
| 135 | { | ||
| 136 | $asm="nasmw -s -f elf"; | ||
| 137 | } | ||
| 138 | else | ||
| 139 | { | ||
| 140 | $asm="nasmw -s -f coff"; | ||
| 141 | } | ||
| 142 | $afile="-o "; | ||
| 143 | $asm.=" -g" if $debug; | ||
| 144 | } | ||
| 145 | elsif ($nw_mwasm) | ||
| 146 | { | ||
| 147 | $asm="mwasmnlm -maxerrors 20"; | ||
| 148 | $afile="-o "; | ||
| 149 | $asm.=" -g" if $debug; | ||
| 150 | } | ||
| 151 | elsif ($nw_masm) | ||
| 152 | { | ||
| 153 | # masm assembly settings - it should be possible to use masm but haven't | ||
| 154 | # got it working. | ||
| 155 | # $asm='ml /Cp /coff /c /Cx'; | ||
| 156 | # $asm.=" /Zi" if $debug; | ||
| 157 | # $afile='/Fo'; | ||
| 158 | die("Support for masm assembler not yet functional\n"); | ||
| 159 | } | ||
| 160 | else | ||
| 161 | { | ||
| 162 | $asm=""; | ||
| 163 | $afile=""; | ||
| 164 | } | ||
| 165 | |||
| 166 | |||
| 167 | |||
| 168 | if ($gnuc) | ||
| 169 | { | ||
| 170 | # compile flags for GNUC | ||
| 171 | # additional flags based upon debug | non-debug | ||
| 172 | if ($debug) | ||
| 173 | { | ||
| 174 | $cflags="-g -DDEBUG"; | ||
| 175 | } | ||
| 176 | else | ||
| 177 | { | ||
| 178 | $cflags="-O2"; | ||
| 179 | } | ||
| 180 | $cflags.=" -nostdinc -I$include_path \\ | ||
| 181 | -fno-builtin -fpcc-struct-return -fno-strict-aliasing \\ | ||
| 182 | -funsigned-char -Wall -Wno-unused -Wno-uninitialized"; | ||
| 183 | |||
| 184 | # link flags | ||
| 185 | $lflags="-T"; | ||
| 186 | } | ||
| 187 | else | ||
| 188 | { | ||
| 189 | # compile flags for CodeWarrior | ||
| 190 | # additional flags based upon debug | non-debug | ||
| 191 | if ($debug) | ||
| 192 | { | ||
| 193 | $cflags="-opt off -g -sym internal -DDEBUG"; | ||
| 194 | } | ||
| 195 | else | ||
| 196 | { | ||
| 197 | # CodeWarrior compiler has a problem with optimizations for floating | ||
| 198 | # points - no optimizations until further investigation | ||
| 199 | # $cflags="-opt all"; | ||
| 200 | } | ||
| 201 | |||
| 202 | # NOTES: Several c files in the crypto subdirectory include headers from | ||
| 203 | # their local directories. Metrowerks wouldn't find these h files | ||
| 204 | # without adding individual include directives as compile flags | ||
| 205 | # or modifying the c files. Instead of adding individual include | ||
| 206 | # paths for each subdirectory a recursive include directive | ||
| 207 | # is used ( -ir crypto ). | ||
| 208 | # | ||
| 209 | # A similar issue exists for the engines and apps subdirectories. | ||
| 210 | # | ||
| 211 | # Turned off the "possible" warnings ( -w nopossible ). Metrowerks | ||
| 212 | # complained a lot about various stuff. May want to turn back | ||
| 213 | # on for further development. | ||
| 214 | $cflags.=" -nostdinc -ir crypto -ir engines -ir apps -I$include_path \\ | ||
| 215 | -msgstyle gcc -align 4 -processor pentium -char unsigned \\ | ||
| 216 | -w on -w nolargeargs -w nopossible -w nounusedarg -w nounusedexpr \\ | ||
| 217 | -w noimplicitconv -relax_pointers -nosyspath -maxerrors 20"; | ||
| 218 | |||
| 219 | # link flags | ||
| 220 | $lflags="-msgstyle gcc -zerobss -nostdlib -sym internal -commandfile"; | ||
| 221 | } | ||
| 222 | |||
| 223 | # common defines | ||
| 224 | $cflags.=" -DL_ENDIAN -DOPENSSL_SYSNAME_NETWARE -U_WIN32"; | ||
| 225 | |||
| 226 | # If LibC build add in NKS_LIBC define and set the entry/exit | ||
| 227 | # routines - The default entry/exit routines are for CLib and don't exist | ||
| 228 | # in LibC | ||
| 229 | if ($LIBC) | ||
| 230 | { | ||
| 231 | $cflags.=" -DNETWARE_LIBC"; | ||
| 232 | $nlmstart = "_LibCPrelude"; | ||
| 233 | $nlmexit = "_LibCPostlude"; | ||
| 234 | @nlm_flags = ("pseudopreemption", "flag_on 64"); | ||
| 235 | } | ||
| 236 | else | ||
| 237 | { | ||
| 238 | $cflags.=" -DNETWARE_CLIB"; | ||
| 239 | $nlmstart = "_Prelude"; | ||
| 240 | $nlmexit = "_Stop"; | ||
| 241 | } | ||
| 242 | |||
| 243 | # If BSD Socket support is requested, set a define for the compiler | ||
| 244 | if ($BSDSOCK) | ||
| 245 | { | ||
| 246 | $cflags.=" -DNETWARE_BSDSOCK"; | ||
| 247 | if (!$LIBC) | ||
| 248 | { | ||
| 249 | $cflags.=" -DNETDB_USE_INTERNET"; | ||
| 250 | } | ||
| 251 | } | ||
| 252 | |||
| 253 | |||
| 254 | # linking stuff | ||
| 255 | # for the output directories use the mk1mf.pl values with "_nw" appended | ||
| 256 | if ($shlib) | ||
| 257 | { | ||
| 258 | if ($LIBC) | ||
| 259 | { | ||
| 260 | $out_def.="_nw_libc_nlm"; | ||
| 261 | $tmp_def.="_nw_libc_nlm"; | ||
| 262 | $inc_def.="_nw_libc_nlm"; | ||
| 263 | } | ||
| 264 | else # NETWARE_CLIB | ||
| 265 | { | ||
| 266 | $out_def.="_nw_clib_nlm"; | ||
| 267 | $tmp_def.="_nw_clib_nlm"; | ||
| 268 | $inc_def.="_nw_clib_nlm"; | ||
| 269 | } | ||
| 270 | } | ||
| 271 | else | ||
| 272 | { | ||
| 273 | if ($gnuc) # GNUC Tools | ||
| 274 | { | ||
| 275 | $libp=".a"; | ||
| 276 | $shlibp=".a"; | ||
| 277 | $lib_flags="-cr"; | ||
| 278 | } | ||
| 279 | else # CodeWarrior | ||
| 280 | { | ||
| 281 | $libp=".lib"; | ||
| 282 | $shlibp=".lib"; | ||
| 283 | $lib_flags="-nodefaults -type library -o"; | ||
| 284 | } | ||
| 285 | if ($LIBC) | ||
| 286 | { | ||
| 287 | $out_def.="_nw_libc"; | ||
| 288 | $tmp_def.="_nw_libc"; | ||
| 289 | $inc_def.="_nw_libc"; | ||
| 290 | } | ||
| 291 | else # NETWARE_CLIB | ||
| 292 | { | ||
| 293 | $out_def.="_nw_clib"; | ||
| 294 | $tmp_def.="_nw_clib"; | ||
| 295 | $inc_def.="_nw_clib"; | ||
| 296 | } | ||
| 297 | } | ||
| 298 | |||
| 299 | # used by mk1mf.pl | ||
| 300 | $obj='.o'; | ||
| 301 | $ofile='-o '; | ||
| 302 | $efile=''; | ||
| 303 | $exep='.nlm'; | ||
| 304 | $ex_libs=''; | ||
| 305 | |||
| 306 | if (!$no_asm) | ||
| 307 | { | ||
| 308 | $bn_asm_obj="\$(OBJ_D)${o}bn-nw${obj}"; | ||
| 309 | $bn_asm_src="crypto${o}bn${o}asm${o}bn-nw.asm"; | ||
| 310 | $bnco_asm_obj="\$(OBJ_D)${o}co-nw${obj}"; | ||
| 311 | $bnco_asm_src="crypto${o}bn${o}asm${o}co-nw.asm"; | ||
| 312 | $aes_asm_obj="\$(OBJ_D)${o}a-nw${obj}"; | ||
| 313 | $aes_asm_src="crypto${o}aes${o}asm${o}a-nw.asm"; | ||
| 314 | $des_enc_obj="\$(OBJ_D)${o}d-nw${obj} \$(OBJ_D)${o}y-nw${obj}"; | ||
| 315 | $des_enc_src="crypto${o}des${o}asm${o}d-nw.asm crypto${o}des${o}asm${o}y-nw.asm"; | ||
| 316 | $bf_enc_obj="\$(OBJ_D)${o}b-nw${obj}"; | ||
| 317 | $bf_enc_src="crypto${o}bf${o}asm${o}b-nw.asm"; | ||
| 318 | $cast_enc_obj="\$(OBJ_D)${o}c-nw${obj}"; | ||
| 319 | $cast_enc_src="crypto${o}cast${o}asm${o}c-nw.asm"; | ||
| 320 | $rc4_enc_obj="\$(OBJ_D)${o}r4-nw${obj}"; | ||
| 321 | $rc4_enc_src="crypto${o}rc4${o}asm${o}r4-nw.asm"; | ||
| 322 | $rc5_enc_obj="\$(OBJ_D)${o}r5-nw${obj}"; | ||
| 323 | $rc5_enc_src="crypto${o}rc5${o}asm${o}r5-nw.asm"; | ||
| 324 | $md5_asm_obj="\$(OBJ_D)${o}m5-nw${obj}"; | ||
| 325 | $md5_asm_src="crypto${o}md5${o}asm${o}m5-nw.asm"; | ||
| 326 | $sha1_asm_obj="\$(OBJ_D)${o}s1-nw${obj}"; | ||
| 327 | $sha1_asm_src="crypto${o}sha${o}asm${o}s1-nw.asm"; | ||
| 328 | $rmd160_asm_obj="\$(OBJ_D)${o}rm-nw${obj}"; | ||
| 329 | $rmd160_asm_src="crypto${o}ripemd${o}asm${o}rm-nw.asm"; | ||
| 330 | $cpuid_asm_obj="\$(OBJ_D)${o}x86cpuid-nw${obj}"; | ||
| 331 | $cpuid_asm_src="crypto${o}x86cpuid-nw.asm"; | ||
| 332 | $cflags.=" -DOPENSSL_CPUID_OBJ -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DMD5_ASM -DSHA1_ASM"; | ||
| 333 | $cflags.=" -DAES_ASM -DRMD160_ASM"; | ||
| 334 | } | ||
| 335 | else | ||
| 336 | { | ||
| 337 | $bn_asm_obj=''; | ||
| 338 | $bn_asm_src=''; | ||
| 339 | $bnco_asm_obj=''; | ||
| 340 | $bnco_asm_src=''; | ||
| 341 | $aes_asm_obj=''; | ||
| 342 | $aes_asm_src=''; | ||
| 343 | $des_enc_obj=''; | ||
| 344 | $des_enc_src=''; | ||
| 345 | $bf_enc_obj=''; | ||
| 346 | $bf_enc_src=''; | ||
| 347 | $cast_enc_obj=''; | ||
| 348 | $cast_enc_src=''; | ||
| 349 | $rc4_enc_obj=''; | ||
| 350 | $rc4_enc_src=''; | ||
| 351 | $rc5_enc_obj=''; | ||
| 352 | $rc5_enc_src=''; | ||
| 353 | $md5_asm_obj=''; | ||
| 354 | $md5_asm_src=''; | ||
| 355 | $sha1_asm_obj=''; | ||
| 356 | $sha1_asm_src=''; | ||
| 357 | $rmd160_asm_obj=''; | ||
| 358 | $rmd160_asm_src=''; | ||
| 359 | $cpuid_asm_obj=''; | ||
| 360 | $cpuid_asm_src=''; | ||
| 361 | } | ||
| 362 | |||
| 363 | # create the *.def linker command files in \openssl\netware\ directory | ||
| 364 | sub do_def_file | ||
| 365 | { | ||
| 366 | # strip off the leading path | ||
| 367 | my($target) = bname(shift); | ||
| 368 | my($i); | ||
| 369 | |||
| 370 | if ($target =~ /(.*).nlm/) | ||
| 371 | { | ||
| 372 | $target = $1; | ||
| 373 | } | ||
| 374 | |||
| 375 | # special case for openssl - the mk1mf.pl defines E_EXE = openssl | ||
| 376 | if ($target =~ /E_EXE/) | ||
| 377 | { | ||
| 378 | $target =~ s/\$\(E_EXE\)/openssl/; | ||
| 379 | } | ||
| 380 | |||
| 381 | # Note: originally tried to use full path ( \openssl\netware\$target.def ) | ||
| 382 | # Metrowerks linker choked on this with an assertion failure. bug??? | ||
| 383 | # | ||
| 384 | my($def_file) = "netware${o}$target.def"; | ||
| 385 | |||
| 386 | open(DEF_OUT, ">$def_file") || die("unable to open file $def_file\n"); | ||
| 387 | |||
| 388 | print( DEF_OUT "# command file generated by netware.pl for NLM target.\n" ); | ||
| 389 | print( DEF_OUT "# do not edit this file - all your changes will be lost!!\n" ); | ||
| 390 | print( DEF_OUT "#\n"); | ||
| 391 | print( DEF_OUT "DESCRIPTION \"$target ($libarch) - OpenSSL $nlmverstr\"\n"); | ||
| 392 | print( DEF_OUT "COPYRIGHT \"$nlmcpystr\"\n"); | ||
| 393 | print( DEF_OUT "VERSION $nlmvernum\n"); | ||
| 394 | print( DEF_OUT "STACK $nlmstack\n"); | ||
| 395 | print( DEF_OUT "START $nlmstart\n"); | ||
| 396 | print( DEF_OUT "EXIT $nlmexit\n"); | ||
| 397 | |||
| 398 | # special case for openssl | ||
| 399 | if ($target eq "openssl") | ||
| 400 | { | ||
| 401 | print( DEF_OUT "SCREENNAME \"OpenSSL $nlmverstr\"\n"); | ||
| 402 | } | ||
| 403 | else | ||
| 404 | { | ||
| 405 | print( DEF_OUT "SCREENNAME \"DEFAULT\"\n"); | ||
| 406 | } | ||
| 407 | |||
| 408 | foreach $i (@misc_imports) | ||
| 409 | { | ||
| 410 | print( DEF_OUT "IMPORT $i\n"); | ||
| 411 | } | ||
| 412 | |||
| 413 | foreach $i (@import_files) | ||
| 414 | { | ||
| 415 | print( DEF_OUT "IMPORT \@$import_path${o}$i\n"); | ||
| 416 | } | ||
| 417 | |||
| 418 | foreach $i (@module_files) | ||
| 419 | { | ||
| 420 | print( DEF_OUT "MODULE $i\n"); | ||
| 421 | } | ||
| 422 | |||
| 423 | foreach $i (@nlm_flags) | ||
| 424 | { | ||
| 425 | print( DEF_OUT "$i\n"); | ||
| 426 | } | ||
| 427 | |||
| 428 | if ($gnuc) | ||
| 429 | { | ||
| 430 | if ($target =~ /openssl/) | ||
| 431 | { | ||
| 432 | print( DEF_OUT "INPUT ${tmp_def}${o}openssl${obj}\n"); | ||
| 433 | print( DEF_OUT "INPUT ${tmp_def}${o}openssl${libp}\n"); | ||
| 434 | } | ||
| 435 | else | ||
| 436 | { | ||
| 437 | print( DEF_OUT "INPUT ${tmp_def}${o}${target}${obj}\n"); | ||
| 438 | } | ||
| 439 | print( DEF_OUT "INPUT $prelude\n"); | ||
| 440 | print( DEF_OUT "INPUT ${out_def}${o}${ssl}${libp} ${out_def}${o}${crypto}${libp}\n"); | ||
| 441 | print( DEF_OUT "OUTPUT $target.nlm\n"); | ||
| 442 | } | ||
| 443 | |||
| 444 | close(DEF_OUT); | ||
| 445 | return($def_file); | ||
| 446 | } | ||
| 447 | |||
| 448 | sub do_lib_rule | ||
| 449 | { | ||
| 450 | my($objs,$target,$name,$shlib)=@_; | ||
| 451 | my($ret); | ||
| 452 | |||
| 453 | $ret.="$target: $objs\n"; | ||
| 454 | if (!$shlib) | ||
| 455 | { | ||
| 456 | $ret.="\t\@echo Building Lib: $name\n"; | ||
| 457 | $ret.="\t\$(MKLIB) $lib_flags $target $objs\n"; | ||
| 458 | $ret.="\t\@echo .\n" | ||
| 459 | } | ||
| 460 | else | ||
| 461 | { | ||
| 462 | die( "Building as NLM not currently supported!" ); | ||
| 463 | } | ||
| 464 | |||
| 465 | $ret.="\n"; | ||
| 466 | return($ret); | ||
| 467 | } | ||
| 468 | |||
| 469 | sub do_link_rule | ||
| 470 | { | ||
| 471 | my($target,$files,$dep_libs,$libs)=@_; | ||
| 472 | my($ret); | ||
| 473 | my($def_file) = do_def_file($target); | ||
| 474 | |||
| 475 | $ret.="$target: $files $dep_libs\n"; | ||
| 476 | |||
| 477 | # NOTE: When building the test nlms no screen name is given | ||
| 478 | # which causes the console screen to be used. By using the console | ||
| 479 | # screen there is no "<press any key to continue>" message which | ||
| 480 | # requires user interaction. The test script ( do_tests.pl ) needs | ||
| 481 | # to be able to run the tests without requiring user interaction. | ||
| 482 | # | ||
| 483 | # However, the sample program "openssl.nlm" is used by the tests and is | ||
| 484 | # a interactive sample so a screen is desired when not be run by the | ||
| 485 | # tests. To solve the problem, two versions of the program are built: | ||
| 486 | # openssl2 - no screen used by tests | ||
| 487 | # openssl - default screen - use for normal interactive modes | ||
| 488 | # | ||
| 489 | |||
| 490 | # special case for openssl - the mk1mf.pl defines E_EXE = openssl | ||
| 491 | if ($target =~ /E_EXE/) | ||
| 492 | { | ||
| 493 | my($target2) = $target; | ||
| 494 | |||
| 495 | $target2 =~ s/\(E_EXE\)/\(E_EXE\)2/; | ||
| 496 | |||
| 497 | # openssl2 | ||
| 498 | my($def_file2) = do_def_file($target2); | ||
| 499 | |||
| 500 | if ($gnuc) | ||
| 501 | { | ||
| 502 | $ret.="\t\$(MKLIB) $lib_flags \$(TMP_D)${o}\$(E_EXE).a \$(filter-out \$(TMP_D)${o}\$(E_EXE)${obj},$files)\n"; | ||
| 503 | $ret.="\t\$(LINK) \$(LFLAGS) $def_file2\n"; | ||
| 504 | $ret.="\t\@$mv \$(E_EXE)2.nlm \$(TEST_D)\n"; | ||
| 505 | } | ||
| 506 | else | ||
| 507 | { | ||
| 508 | $ret.="\t\$(LINK) \$(LFLAGS) $def_file2 $files \"$prelude\" $libs -o $target2\n"; | ||
| 509 | } | ||
| 510 | } | ||
| 511 | if ($gnuc) | ||
| 512 | { | ||
| 513 | $ret.="\t\$(LINK) \$(LFLAGS) $def_file\n"; | ||
| 514 | $ret.="\t\@$mv \$(\@F) \$(TEST_D)\n"; | ||
| 515 | } | ||
| 516 | else | ||
| 517 | { | ||
| 518 | $ret.="\t\$(LINK) \$(LFLAGS) $def_file $files \"$prelude\" $libs -o $target\n"; | ||
| 519 | } | ||
| 520 | |||
| 521 | $ret.="\n"; | ||
| 522 | return($ret); | ||
| 523 | |||
| 524 | } | ||
| 525 | |||
| 526 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/ultrix.pl b/src/lib/libcrypto/util/pl/ultrix.pl new file mode 100644 index 0000000000..ea370c71f9 --- /dev/null +++ b/src/lib/libcrypto/util/pl/ultrix.pl | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # linux.pl - the standard unix makefile stuff. | ||
| 4 | # | ||
| 5 | |||
| 6 | $o='/'; | ||
| 7 | $cp='/bin/cp'; | ||
| 8 | $rm='/bin/rm -f'; | ||
| 9 | |||
| 10 | # C compiler stuff | ||
| 11 | |||
| 12 | $cc='cc'; | ||
| 13 | if ($debug) | ||
| 14 | { $cflags="-g -DREF_CHECK -DCRYPTO_MDEBUG"; } | ||
| 15 | else | ||
| 16 | { $cflags="-O2"; } | ||
| 17 | |||
| 18 | $cflags.=" -std1 -DL_ENDIAN"; | ||
| 19 | |||
| 20 | if (!$no_asm) | ||
| 21 | { | ||
| 22 | $bn_asm_obj='$(OBJ_D)/mips1.o'; | ||
| 23 | $bn_asm_src='crypto/bn/asm/mips1.s'; | ||
| 24 | } | ||
| 25 | |||
| 26 | sub do_link_rule | ||
| 27 | { | ||
| 28 | local($target,$files,$dep_libs,$libs)=@_; | ||
| 29 | local($ret,$_); | ||
| 30 | |||
| 31 | $file =~ s/\//$o/g if $o ne '/'; | ||
| 32 | $n=&bname($target); | ||
| 33 | $ret.="$target: $files $dep_libs\n"; | ||
| 34 | $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | ||
| 35 | return($ret); | ||
| 36 | } | ||
| 37 | |||
| 38 | 1; | ||
diff --git a/src/lib/libcrypto/util/pl/unix.pl b/src/lib/libcrypto/util/pl/unix.pl new file mode 100644 index 0000000000..146611ad99 --- /dev/null +++ b/src/lib/libcrypto/util/pl/unix.pl | |||
| @@ -0,0 +1,96 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # unix.pl - the standard unix makefile stuff. | ||
| 4 | # | ||
| 5 | |||
| 6 | $o='/'; | ||
| 7 | $cp='/bin/cp'; | ||
| 8 | $rm='/bin/rm -f'; | ||
| 9 | |||
| 10 | # C compiler stuff | ||
| 11 | |||
| 12 | if ($gcc) | ||
| 13 | { | ||
| 14 | $cc='gcc'; | ||
| 15 | if ($debug) | ||
| 16 | { $cflags="-g2 -ggdb"; } | ||
| 17 | else | ||
| 18 | { $cflags="-O3 -fomit-frame-pointer"; } | ||
| 19 | } | ||
| 20 | else | ||
| 21 | { | ||
| 22 | $cc='cc'; | ||
| 23 | if ($debug) | ||
| 24 | { $cflags="-g"; } | ||
| 25 | else | ||
| 26 | { $cflags="-O"; } | ||
| 27 | } | ||
| 28 | $obj='.o'; | ||
| 29 | $ofile='-o '; | ||
| 30 | |||
| 31 | # EXE linking stuff | ||
| 32 | $link='${CC}'; | ||
| 33 | $lflags='${CFLAGS}'; | ||
| 34 | $efile='-o '; | ||
| 35 | $exep=''; | ||
| 36 | $ex_libs=""; | ||
| 37 | |||
| 38 | # static library stuff | ||
| 39 | $mklib='ar r'; | ||
| 40 | $mlflags=''; | ||
| 41 | $ranlib=&which("ranlib") or $ranlib="true"; | ||
| 42 | $plib='lib'; | ||
| 43 | $libp=".a"; | ||
| 44 | $shlibp=".a"; | ||
| 45 | $lfile=''; | ||
| 46 | |||
| 47 | $asm='as'; | ||
| 48 | $afile='-o '; | ||
| 49 | $bn_asm_obj=""; | ||
| 50 | $bn_asm_src=""; | ||
| 51 | $des_enc_obj=""; | ||
| 52 | $des_enc_src=""; | ||
| 53 | $bf_enc_obj=""; | ||
| 54 | $bf_enc_src=""; | ||
| 55 | |||
| 56 | sub do_lib_rule | ||
| 57 | { | ||
| 58 | local($obj,$target,$name,$shlib)=@_; | ||
| 59 | local($ret,$_,$Name); | ||
| 60 | |||
| 61 | $target =~ s/\//$o/g if $o ne '/'; | ||
| 62 | $target="$target"; | ||
| 63 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
| 64 | |||
| 65 | $ret.="$target: \$(${Name}OBJ)\n"; | ||
| 66 | $ret.="\t\$(RM) $target\n"; | ||
| 67 | $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; | ||
| 68 | $ret.="\t\$(RANLIB) $target\n\n"; | ||
| 69 | } | ||
| 70 | |||
| 71 | sub do_link_rule | ||
| 72 | { | ||
| 73 | local($target,$files,$dep_libs,$libs)=@_; | ||
| 74 | local($ret,$_); | ||
| 75 | |||
| 76 | $file =~ s/\//$o/g if $o ne '/'; | ||
| 77 | $n=&bname($target); | ||
| 78 | $ret.="$target: $files $dep_libs\n"; | ||
| 79 | $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | ||
| 80 | return($ret); | ||
| 81 | } | ||
| 82 | |||
| 83 | sub which | ||
| 84 | { | ||
| 85 | my ($name)=@_; | ||
| 86 | my $path; | ||
| 87 | foreach $path (split /:/, $ENV{PATH}) | ||
| 88 | { | ||
| 89 | if (-x "$path/$name") | ||
| 90 | { | ||
| 91 | return "$path/$name"; | ||
| 92 | } | ||
| 93 | } | ||
| 94 | } | ||
| 95 | |||
| 96 | 1; | ||
diff --git a/src/lib/libcrypto/util/pod2man.pl b/src/lib/libcrypto/util/pod2man.pl new file mode 100644 index 0000000000..546d1ec186 --- /dev/null +++ b/src/lib/libcrypto/util/pod2man.pl | |||
| @@ -0,0 +1,1184 @@ | |||
| 1 | : #!/usr/bin/perl-5.005 | ||
| 2 | eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' | ||
| 3 | if $running_under_some_shell; | ||
| 4 | |||
| 5 | $DEF_PM_SECTION = '3pm' || '3'; | ||
| 6 | |||
| 7 | =head1 NAME | ||
| 8 | |||
| 9 | pod2man - translate embedded Perl pod directives into man pages | ||
| 10 | |||
| 11 | =head1 SYNOPSIS | ||
| 12 | |||
| 13 | B<pod2man> | ||
| 14 | [ B<--section=>I<manext> ] | ||
| 15 | [ B<--release=>I<relpatch> ] | ||
| 16 | [ B<--center=>I<string> ] | ||
| 17 | [ B<--date=>I<string> ] | ||
| 18 | [ B<--fixed=>I<font> ] | ||
| 19 | [ B<--official> ] | ||
| 20 | [ B<--lax> ] | ||
| 21 | I<inputfile> | ||
| 22 | |||
| 23 | =head1 DESCRIPTION | ||
| 24 | |||
| 25 | B<pod2man> converts its input file containing embedded pod directives (see | ||
| 26 | L<perlpod>) into nroff source suitable for viewing with nroff(1) or | ||
| 27 | troff(1) using the man(7) macro set. | ||
| 28 | |||
| 29 | Besides the obvious pod conversions, B<pod2man> also takes care of | ||
| 30 | func(), func(n), and simple variable references like $foo or @bar so | ||
| 31 | you don't have to use code escapes for them; complex expressions like | ||
| 32 | C<$fred{'stuff'}> will still need to be escaped, though. Other nagging | ||
| 33 | little roffish things that it catches include translating the minus in | ||
| 34 | something like foo-bar, making a long dash--like this--into a real em | ||
| 35 | dash, fixing up "paired quotes", putting a little space after the | ||
| 36 | parens in something like func(), making C++ and PI look right, making | ||
| 37 | double underbars have a little tiny space between them, making ALLCAPS | ||
| 38 | a teeny bit smaller in troff(1), and escaping backslashes so you don't | ||
| 39 | have to. | ||
| 40 | |||
| 41 | =head1 OPTIONS | ||
| 42 | |||
| 43 | =over 8 | ||
| 44 | |||
| 45 | =item center | ||
| 46 | |||
| 47 | Set the centered header to a specific string. The default is | ||
| 48 | "User Contributed Perl Documentation", unless the C<--official> flag is | ||
| 49 | given, in which case the default is "Perl Programmers Reference Guide". | ||
| 50 | |||
| 51 | =item date | ||
| 52 | |||
| 53 | Set the left-hand footer string to this value. By default, | ||
| 54 | the modification date of the input file will be used. | ||
| 55 | |||
| 56 | =item fixed | ||
| 57 | |||
| 58 | The fixed font to use for code refs. Defaults to CW. | ||
| 59 | |||
| 60 | =item official | ||
| 61 | |||
| 62 | Set the default header to indicate that this page is of | ||
| 63 | the standard release in case C<--center> is not given. | ||
| 64 | |||
| 65 | =item release | ||
| 66 | |||
| 67 | Set the centered footer. By default, this is the current | ||
| 68 | perl release. | ||
| 69 | |||
| 70 | =item section | ||
| 71 | |||
| 72 | Set the section for the C<.TH> macro. The standard conventions on | ||
| 73 | sections are to use 1 for user commands, 2 for system calls, 3 for | ||
| 74 | functions, 4 for devices, 5 for file formats, 6 for games, 7 for | ||
| 75 | miscellaneous information, and 8 for administrator commands. This works | ||
| 76 | best if you put your Perl man pages in a separate tree, like | ||
| 77 | F</usr/local/perl/man/>. By default, section 1 will be used | ||
| 78 | unless the file ends in F<.pm> in which case section 3 will be selected. | ||
| 79 | |||
| 80 | =item lax | ||
| 81 | |||
| 82 | Don't complain when required sections aren't present. | ||
| 83 | |||
| 84 | =back | ||
| 85 | |||
| 86 | =head1 Anatomy of a Proper Man Page | ||
| 87 | |||
| 88 | For those not sure of the proper layout of a man page, here's | ||
| 89 | an example of the skeleton of a proper man page. Head of the | ||
| 90 | major headers should be setout as a C<=head1> directive, and | ||
| 91 | are historically written in the rather startling ALL UPPER CASE | ||
| 92 | format, although this is not mandatory. | ||
| 93 | Minor headers may be included using C<=head2>, and are | ||
| 94 | typically in mixed case. | ||
| 95 | |||
| 96 | =over 10 | ||
| 97 | |||
| 98 | =item NAME | ||
| 99 | |||
| 100 | Mandatory section; should be a comma-separated list of programs or | ||
| 101 | functions documented by this podpage, such as: | ||
| 102 | |||
| 103 | foo, bar - programs to do something | ||
| 104 | |||
| 105 | =item SYNOPSIS | ||
| 106 | |||
| 107 | A short usage summary for programs and functions, which | ||
| 108 | may someday be deemed mandatory. | ||
| 109 | |||
| 110 | =item DESCRIPTION | ||
| 111 | |||
| 112 | Long drawn out discussion of the program. It's a good idea to break this | ||
| 113 | up into subsections using the C<=head2> directives, like | ||
| 114 | |||
| 115 | =head2 A Sample Subection | ||
| 116 | |||
| 117 | =head2 Yet Another Sample Subection | ||
| 118 | |||
| 119 | =item OPTIONS | ||
| 120 | |||
| 121 | Some people make this separate from the description. | ||
| 122 | |||
| 123 | =item RETURN VALUE | ||
| 124 | |||
| 125 | What the program or function returns if successful. | ||
| 126 | |||
| 127 | =item ERRORS | ||
| 128 | |||
| 129 | Exceptions, return codes, exit stati, and errno settings. | ||
| 130 | |||
| 131 | =item EXAMPLES | ||
| 132 | |||
| 133 | Give some example uses of the program. | ||
| 134 | |||
| 135 | =item ENVIRONMENT | ||
| 136 | |||
| 137 | Envariables this program might care about. | ||
| 138 | |||
| 139 | =item FILES | ||
| 140 | |||
| 141 | All files used by the program. You should probably use the FE<lt>E<gt> | ||
| 142 | for these. | ||
| 143 | |||
| 144 | =item SEE ALSO | ||
| 145 | |||
| 146 | Other man pages to check out, like man(1), man(7), makewhatis(8), or catman(8). | ||
| 147 | |||
| 148 | =item NOTES | ||
| 149 | |||
| 150 | Miscellaneous commentary. | ||
| 151 | |||
| 152 | =item CAVEATS | ||
| 153 | |||
| 154 | Things to take special care with; sometimes called WARNINGS. | ||
| 155 | |||
| 156 | =item DIAGNOSTICS | ||
| 157 | |||
| 158 | All possible messages the program can print out--and | ||
| 159 | what they mean. | ||
| 160 | |||
| 161 | =item BUGS | ||
| 162 | |||
| 163 | Things that are broken or just don't work quite right. | ||
| 164 | |||
| 165 | =item RESTRICTIONS | ||
| 166 | |||
| 167 | Bugs you don't plan to fix :-) | ||
| 168 | |||
| 169 | =item AUTHOR | ||
| 170 | |||
| 171 | Who wrote it (or AUTHORS if multiple). | ||
| 172 | |||
| 173 | =item HISTORY | ||
| 174 | |||
| 175 | Programs derived from other sources sometimes have this, or | ||
| 176 | you might keep a modification log here. | ||
| 177 | |||
| 178 | =back | ||
| 179 | |||
| 180 | =head1 EXAMPLES | ||
| 181 | |||
| 182 | pod2man program > program.1 | ||
| 183 | pod2man some_module.pm > /usr/perl/man/man3/some_module.3 | ||
| 184 | pod2man --section=7 note.pod > note.7 | ||
| 185 | |||
| 186 | =head1 DIAGNOSTICS | ||
| 187 | |||
| 188 | The following diagnostics are generated by B<pod2man>. Items | ||
| 189 | marked "(W)" are non-fatal, whereas the "(F)" errors will cause | ||
| 190 | B<pod2man> to immediately exit with a non-zero status. | ||
| 191 | |||
| 192 | =over 4 | ||
| 193 | |||
| 194 | =item bad option in paragraph %d of %s: ``%s'' should be [%s]<%s> | ||
| 195 | |||
| 196 | (W) If you start include an option, you should set it off | ||
| 197 | as bold, italic, or code. | ||
| 198 | |||
| 199 | =item can't open %s: %s | ||
| 200 | |||
| 201 | (F) The input file wasn't available for the given reason. | ||
| 202 | |||
| 203 | =item Improper man page - no dash in NAME header in paragraph %d of %s | ||
| 204 | |||
| 205 | (W) The NAME header did not have an isolated dash in it. This is | ||
| 206 | considered important. | ||
| 207 | |||
| 208 | =item Invalid man page - no NAME line in %s | ||
| 209 | |||
| 210 | (F) You did not include a NAME header, which is essential. | ||
| 211 | |||
| 212 | =item roff font should be 1 or 2 chars, not `%s' (F) | ||
| 213 | |||
| 214 | (F) The font specified with the C<--fixed> option was not | ||
| 215 | a one- or two-digit roff font. | ||
| 216 | |||
| 217 | =item %s is missing required section: %s | ||
| 218 | |||
| 219 | (W) Required sections include NAME, DESCRIPTION, and if you're | ||
| 220 | using a section starting with a 3, also a SYNOPSIS. Actually, | ||
| 221 | not having a NAME is a fatal. | ||
| 222 | |||
| 223 | =item Unknown escape: %s in %s | ||
| 224 | |||
| 225 | (W) An unknown HTML entity (probably for an 8-bit character) was given via | ||
| 226 | a C<EE<lt>E<gt>> directive. Besides amp, lt, gt, and quot, recognized | ||
| 227 | entities are Aacute, aacute, Acirc, acirc, AElig, aelig, Agrave, agrave, | ||
| 228 | Aring, aring, Atilde, atilde, Auml, auml, Ccedil, ccedil, Eacute, eacute, | ||
| 229 | Ecirc, ecirc, Egrave, egrave, ETH, eth, Euml, euml, Iacute, iacute, Icirc, | ||
| 230 | icirc, Igrave, igrave, Iuml, iuml, Ntilde, ntilde, Oacute, oacute, Ocirc, | ||
| 231 | ocirc, Ograve, ograve, Oslash, oslash, Otilde, otilde, Ouml, ouml, szlig, | ||
| 232 | THORN, thorn, Uacute, uacute, Ucirc, ucirc, Ugrave, ugrave, Uuml, uuml, | ||
| 233 | Yacute, yacute, and yuml. | ||
| 234 | |||
| 235 | =item Unmatched =back | ||
| 236 | |||
| 237 | (W) You have a C<=back> without a corresponding C<=over>. | ||
| 238 | |||
| 239 | =item Unrecognized pod directive: %s | ||
| 240 | |||
| 241 | (W) You specified a pod directive that isn't in the known list of | ||
| 242 | C<=head1>, C<=head2>, C<=item>, C<=over>, C<=back>, or C<=cut>. | ||
| 243 | |||
| 244 | |||
| 245 | =back | ||
| 246 | |||
| 247 | =head1 NOTES | ||
| 248 | |||
| 249 | If you would like to print out a lot of man page continuously, you | ||
| 250 | probably want to set the C and D registers to set contiguous page | ||
| 251 | numbering and even/odd paging, at least on some versions of man(7). | ||
| 252 | Settting the F register will get you some additional experimental | ||
| 253 | indexing: | ||
| 254 | |||
| 255 | troff -man -rC1 -rD1 -rF1 perl.1 perldata.1 perlsyn.1 ... | ||
| 256 | |||
| 257 | The indexing merely outputs messages via C<.tm> for each | ||
| 258 | major page, section, subsection, item, and any C<XE<lt>E<gt>> | ||
| 259 | directives. | ||
| 260 | |||
| 261 | |||
| 262 | =head1 RESTRICTIONS | ||
| 263 | |||
| 264 | None at this time. | ||
| 265 | |||
| 266 | =head1 BUGS | ||
| 267 | |||
| 268 | The =over and =back directives don't really work right. They | ||
| 269 | take absolute positions instead of offsets, don't nest well, and | ||
| 270 | making people count is suboptimal in any event. | ||
| 271 | |||
| 272 | =head1 AUTHORS | ||
| 273 | |||
| 274 | Original prototype by Larry Wall, but so massively hacked over by | ||
| 275 | Tom Christiansen such that Larry probably doesn't recognize it anymore. | ||
| 276 | |||
| 277 | =cut | ||
| 278 | |||
| 279 | $/ = ""; | ||
| 280 | $cutting = 1; | ||
| 281 | @Indices = (); | ||
| 282 | |||
| 283 | # We try first to get the version number from a local binary, in case we're | ||
| 284 | # running an installed version of Perl to produce documentation from an | ||
| 285 | # uninstalled newer version's pod files. | ||
| 286 | if ($^O ne 'plan9' and $^O ne 'dos' and $^O ne 'os2' and $^O ne 'MSWin32') { | ||
| 287 | my $perl = (-x './perl' && -f './perl' ) ? | ||
| 288 | './perl' : | ||
| 289 | ((-x '../perl' && -f '../perl') ? | ||
| 290 | '../perl' : | ||
| 291 | ''); | ||
| 292 | ($version,$patch) = `$perl -e 'print $]'` =~ /^(\d\.\d{3})(\d{2})?/ if $perl; | ||
| 293 | } | ||
| 294 | # No luck; we'll just go with the running Perl's version | ||
| 295 | ($version,$patch) = $] =~ /^(.{5})(\d{2})?/ unless $version; | ||
| 296 | $DEF_RELEASE = "perl $version"; | ||
| 297 | $DEF_RELEASE .= ", patch $patch" if $patch; | ||
| 298 | |||
| 299 | |||
| 300 | sub makedate { | ||
| 301 | my $secs = shift; | ||
| 302 | my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secs); | ||
| 303 | my $mname = (qw{Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec})[$mon]; | ||
| 304 | $year += 1900; | ||
| 305 | return "$mday/$mname/$year"; | ||
| 306 | } | ||
| 307 | |||
| 308 | use Getopt::Long; | ||
| 309 | |||
| 310 | $DEF_SECTION = 1; | ||
| 311 | $DEF_CENTER = "User Contributed Perl Documentation"; | ||
| 312 | $STD_CENTER = "Perl Programmers Reference Guide"; | ||
| 313 | $DEF_FIXED = 'CW'; | ||
| 314 | $DEF_LAX = 0; | ||
| 315 | |||
| 316 | sub usage { | ||
| 317 | warn "$0: @_\n" if @_; | ||
| 318 | die <<EOF; | ||
| 319 | usage: $0 [options] podpage | ||
| 320 | Options are: | ||
| 321 | --section=manext (default "$DEF_SECTION") | ||
| 322 | --release=relpatch (default "$DEF_RELEASE") | ||
| 323 | --center=string (default "$DEF_CENTER") | ||
| 324 | --date=string (default "$DEF_DATE") | ||
| 325 | --fixed=font (default "$DEF_FIXED") | ||
| 326 | --official (default NOT) | ||
| 327 | --lax (default NOT) | ||
| 328 | EOF | ||
| 329 | } | ||
| 330 | |||
| 331 | $uok = GetOptions( qw( | ||
| 332 | section=s | ||
| 333 | release=s | ||
| 334 | center=s | ||
| 335 | date=s | ||
| 336 | fixed=s | ||
| 337 | official | ||
| 338 | lax | ||
| 339 | help)); | ||
| 340 | |||
| 341 | $DEF_DATE = makedate((stat($ARGV[0]))[9] || time()); | ||
| 342 | |||
| 343 | usage("Usage error!") unless $uok; | ||
| 344 | usage() if $opt_help; | ||
| 345 | usage("Need one and only one podpage argument") unless @ARGV == 1; | ||
| 346 | |||
| 347 | $section = $opt_section || ($ARGV[0] =~ /\.pm$/ | ||
| 348 | ? $DEF_PM_SECTION : $DEF_SECTION); | ||
| 349 | $RP = $opt_release || $DEF_RELEASE; | ||
| 350 | $center = $opt_center || ($opt_official ? $STD_CENTER : $DEF_CENTER); | ||
| 351 | $lax = $opt_lax || $DEF_LAX; | ||
| 352 | |||
| 353 | $CFont = $opt_fixed || $DEF_FIXED; | ||
| 354 | |||
| 355 | if (length($CFont) == 2) { | ||
| 356 | $CFont_embed = "\\f($CFont"; | ||
| 357 | } | ||
| 358 | elsif (length($CFont) == 1) { | ||
| 359 | $CFont_embed = "\\f$CFont"; | ||
| 360 | } | ||
| 361 | else { | ||
| 362 | die "roff font should be 1 or 2 chars, not `$CFont_embed'"; | ||
| 363 | } | ||
| 364 | |||
| 365 | $date = $opt_date || $DEF_DATE; | ||
| 366 | |||
| 367 | for (qw{NAME DESCRIPTION}) { | ||
| 368 | # for (qw{NAME DESCRIPTION AUTHOR}) { | ||
| 369 | $wanna_see{$_}++; | ||
| 370 | } | ||
| 371 | $wanna_see{SYNOPSIS}++ if $section =~ /^3/; | ||
| 372 | |||
| 373 | |||
| 374 | $name = @ARGV ? $ARGV[0] : "<STDIN>"; | ||
| 375 | $Filename = $name; | ||
| 376 | if ($section =~ /^1/) { | ||
| 377 | require File::Basename; | ||
| 378 | $name = uc File::Basename::basename($name); | ||
| 379 | } | ||
| 380 | $name =~ s/\.(pod|p[lm])$//i; | ||
| 381 | |||
| 382 | # Lose everything up to the first of | ||
| 383 | # */lib/*perl* standard or site_perl module | ||
| 384 | # */*perl*/lib from -D prefix=/opt/perl | ||
| 385 | # */*perl*/ random module hierarchy | ||
| 386 | # which works. | ||
| 387 | $name =~ s-//+-/-g; | ||
| 388 | if ($name =~ s-^.*?/lib/[^/]*perl[^/]*/--i | ||
| 389 | or $name =~ s-^.*?/[^/]*perl[^/]*/lib/--i | ||
| 390 | or $name =~ s-^.*?/[^/]*perl[^/]*/--i) { | ||
| 391 | # Lose ^site(_perl)?/. | ||
| 392 | $name =~ s-^site(_perl)?/--; | ||
| 393 | # Lose ^arch/. (XXX should we use Config? Just for archname?) | ||
| 394 | $name =~ s~^(.*-$^O|$^O-.*)/~~o; | ||
| 395 | # Lose ^version/. | ||
| 396 | $name =~ s-^\d+\.\d+/--; | ||
| 397 | } | ||
| 398 | |||
| 399 | # Translate Getopt/Long to Getopt::Long, etc. | ||
| 400 | $name =~ s(/)(::)g; | ||
| 401 | |||
| 402 | if ($name ne 'something') { | ||
| 403 | FCHECK: { | ||
| 404 | open(F, "< $ARGV[0]") || die "can't open $ARGV[0]: $!"; | ||
| 405 | while (<F>) { | ||
| 406 | next unless /^=\b/; | ||
| 407 | if (/^=head1\s+NAME\s*$/) { # an /m would forgive mistakes | ||
| 408 | $_ = <F>; | ||
| 409 | unless (/\s*-+\s+/) { | ||
| 410 | $oops++; | ||
| 411 | warn "$0: Improper man page - no dash in NAME header in paragraph $. of $ARGV[0]\n" | ||
| 412 | } else { | ||
| 413 | my @n = split /\s+-+\s+/; | ||
| 414 | if (@n != 2) { | ||
| 415 | $oops++; | ||
| 416 | warn "$0: Improper man page - malformed NAME header in paragraph $. of $ARGV[0]\n" | ||
| 417 | } | ||
| 418 | else { | ||
| 419 | $n[0] =~ s/\n/ /g; | ||
| 420 | $n[1] =~ s/\n/ /g; | ||
| 421 | %namedesc = @n; | ||
| 422 | } | ||
| 423 | } | ||
| 424 | last FCHECK; | ||
| 425 | } | ||
| 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 | ||
| 428 | next if /^=for\s+comment\b/; # It is OK to have =for comment before NAME | ||
| 429 | die "$0: Invalid man page - 1st pod line is not NAME in $ARGV[0]\n" unless $lax; | ||
| 430 | } | ||
| 431 | die "$0: Invalid man page - no documentation in $ARGV[0]\n" unless $lax; | ||
| 432 | } | ||
| 433 | close F; | ||
| 434 | } | ||
| 435 | |||
| 436 | print <<"END"; | ||
| 437 | .rn '' }` | ||
| 438 | ''' \$RCSfile\$\$Revision\$\$Date\$ | ||
| 439 | ''' | ||
| 440 | ''' \$Log\$ | ||
| 441 | ''' | ||
| 442 | .de Sh | ||
| 443 | .br | ||
| 444 | .if t .Sp | ||
| 445 | .ne 5 | ||
| 446 | .PP | ||
| 447 | \\fB\\\\\$1\\fR | ||
| 448 | .PP | ||
| 449 | .. | ||
| 450 | .de Sp | ||
| 451 | .if t .sp .5v | ||
| 452 | .if n .sp | ||
| 453 | .. | ||
| 454 | .de Ip | ||
| 455 | .br | ||
| 456 | .ie \\\\n(.\$>=3 .ne \\\\\$3 | ||
| 457 | .el .ne 3 | ||
| 458 | .IP "\\\\\$1" \\\\\$2 | ||
| 459 | .. | ||
| 460 | .de Vb | ||
| 461 | .ft $CFont | ||
| 462 | .nf | ||
| 463 | .ne \\\\\$1 | ||
| 464 | .. | ||
| 465 | .de Ve | ||
| 466 | .ft R | ||
| 467 | |||
| 468 | .fi | ||
| 469 | .. | ||
| 470 | ''' | ||
| 471 | ''' | ||
| 472 | ''' Set up \\*(-- to give an unbreakable dash; | ||
| 473 | ''' string Tr holds user defined translation string. | ||
| 474 | ''' Bell System Logo is used as a dummy character. | ||
| 475 | ''' | ||
| 476 | .tr \\(*W-|\\(bv\\*(Tr | ||
| 477 | .ie n \\{\\ | ||
| 478 | .ds -- \\(*W- | ||
| 479 | .ds PI pi | ||
| 480 | .if (\\n(.H=4u)&(1m=24u) .ds -- \\(*W\\h'-12u'\\(*W\\h'-12u'-\\" diablo 10 pitch | ||
| 481 | .if (\\n(.H=4u)&(1m=20u) .ds -- \\(*W\\h'-12u'\\(*W\\h'-8u'-\\" diablo 12 pitch | ||
| 482 | .ds L" "" | ||
| 483 | .ds R" "" | ||
| 484 | ''' \\*(M", \\*(S", \\*(N" and \\*(T" are the equivalent of | ||
| 485 | ''' \\*(L" and \\*(R", except that they are used on ".xx" lines, | ||
| 486 | ''' such as .IP and .SH, which do another additional levels of | ||
| 487 | ''' double-quote interpretation | ||
| 488 | .ds M" """ | ||
| 489 | .ds S" """ | ||
| 490 | .ds N" """"" | ||
| 491 | .ds T" """"" | ||
| 492 | .ds L' ' | ||
| 493 | .ds R' ' | ||
| 494 | .ds M' ' | ||
| 495 | .ds S' ' | ||
| 496 | .ds N' ' | ||
| 497 | .ds T' ' | ||
| 498 | 'br\\} | ||
| 499 | .el\\{\\ | ||
| 500 | .ds -- \\(em\\| | ||
| 501 | .tr \\*(Tr | ||
| 502 | .ds L" `` | ||
| 503 | .ds R" '' | ||
| 504 | .ds M" `` | ||
| 505 | .ds S" '' | ||
| 506 | .ds N" `` | ||
| 507 | .ds T" '' | ||
| 508 | .ds L' ` | ||
| 509 | .ds R' ' | ||
| 510 | .ds M' ` | ||
| 511 | .ds S' ' | ||
| 512 | .ds N' ` | ||
| 513 | .ds T' ' | ||
| 514 | .ds PI \\(*p | ||
| 515 | 'br\\} | ||
| 516 | END | ||
| 517 | |||
| 518 | print <<'END'; | ||
| 519 | .\" If the F register is turned on, we'll generate | ||
| 520 | .\" index entries out stderr for the following things: | ||
| 521 | .\" TH Title | ||
| 522 | .\" SH Header | ||
| 523 | .\" Sh Subsection | ||
| 524 | .\" Ip Item | ||
| 525 | .\" X<> Xref (embedded | ||
| 526 | .\" Of course, you have to process the output yourself | ||
| 527 | .\" in some meaninful fashion. | ||
| 528 | .if \nF \{ | ||
| 529 | .de IX | ||
| 530 | .tm Index:\\$1\t\\n%\t"\\$2" | ||
| 531 | .. | ||
| 532 | .nr % 0 | ||
| 533 | .rr F | ||
| 534 | .\} | ||
| 535 | END | ||
| 536 | |||
| 537 | print <<"END"; | ||
| 538 | .TH $name $section "$RP" "$date" "$center" | ||
| 539 | .UC | ||
| 540 | END | ||
| 541 | |||
| 542 | push(@Indices, qq{.IX Title "$name $section"}); | ||
| 543 | |||
| 544 | while (($name, $desc) = each %namedesc) { | ||
| 545 | for ($name, $desc) { s/^\s+//; s/\s+$//; } | ||
| 546 | push(@Indices, qq(.IX Name "$name - $desc"\n)); | ||
| 547 | } | ||
| 548 | |||
| 549 | print <<'END'; | ||
| 550 | .if n .hy 0 | ||
| 551 | .if n .na | ||
| 552 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' | ||
| 553 | .de CQ \" put $1 in typewriter font | ||
| 554 | END | ||
| 555 | print ".ft $CFont\n"; | ||
| 556 | print <<'END'; | ||
| 557 | 'if n "\c | ||
| 558 | 'if t \\&\\$1\c | ||
| 559 | 'if n \\&\\$1\c | ||
| 560 | 'if n \&" | ||
| 561 | \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 | ||
| 562 | '.ft R | ||
| 563 | .. | ||
| 564 | .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 | ||
| 565 | . \" AM - accent mark definitions | ||
| 566 | .bd B 3 | ||
| 567 | . \" fudge factors for nroff and troff | ||
| 568 | .if n \{\ | ||
| 569 | . ds #H 0 | ||
| 570 | . ds #V .8m | ||
| 571 | . ds #F .3m | ||
| 572 | . ds #[ \f1 | ||
| 573 | . ds #] \fP | ||
| 574 | .\} | ||
| 575 | .if t \{\ | ||
| 576 | . ds #H ((1u-(\\\\n(.fu%2u))*.13m) | ||
| 577 | . ds #V .6m | ||
| 578 | . ds #F 0 | ||
| 579 | . ds #[ \& | ||
| 580 | . ds #] \& | ||
| 581 | .\} | ||
| 582 | . \" simple accents for nroff and troff | ||
| 583 | .if n \{\ | ||
| 584 | . ds ' \& | ||
| 585 | . ds ` \& | ||
| 586 | . ds ^ \& | ||
| 587 | . ds , \& | ||
| 588 | . ds ~ ~ | ||
| 589 | . ds ? ? | ||
| 590 | . ds ! ! | ||
| 591 | . ds / | ||
| 592 | . ds q | ||
| 593 | .\} | ||
| 594 | .if t \{\ | ||
| 595 | . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" | ||
| 596 | . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' | ||
| 597 | . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' | ||
| 598 | . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' | ||
| 599 | . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' | ||
| 600 | . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' | ||
| 601 | . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' | ||
| 602 | . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' | ||
| 603 | . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' | ||
| 604 | .\} | ||
| 605 | . \" troff and (daisy-wheel) nroff accents | ||
| 606 | .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' | ||
| 607 | .ds 8 \h'\*(#H'\(*b\h'-\*(#H' | ||
| 608 | .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] | ||
| 609 | .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' | ||
| 610 | .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' | ||
| 611 | .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] | ||
| 612 | .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] | ||
| 613 | .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' | ||
| 614 | .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' | ||
| 615 | .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] | ||
| 616 | .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] | ||
| 617 | .ds ae a\h'-(\w'a'u*4/10)'e | ||
| 618 | .ds Ae A\h'-(\w'A'u*4/10)'E | ||
| 619 | .ds oe o\h'-(\w'o'u*4/10)'e | ||
| 620 | .ds Oe O\h'-(\w'O'u*4/10)'E | ||
| 621 | . \" corrections for vroff | ||
| 622 | .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' | ||
| 623 | .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' | ||
| 624 | . \" for low resolution devices (crt and lpr) | ||
| 625 | .if \n(.H>23 .if \n(.V>19 \ | ||
| 626 | \{\ | ||
| 627 | . ds : e | ||
| 628 | . ds 8 ss | ||
| 629 | . ds v \h'-1'\o'\(aa\(ga' | ||
| 630 | . ds _ \h'-1'^ | ||
| 631 | . ds . \h'-1'. | ||
| 632 | . ds 3 3 | ||
| 633 | . ds o a | ||
| 634 | . ds d- d\h'-1'\(ga | ||
| 635 | . ds D- D\h'-1'\(hy | ||
| 636 | . ds th \o'bp' | ||
| 637 | . ds Th \o'LP' | ||
| 638 | . ds ae ae | ||
| 639 | . ds Ae AE | ||
| 640 | . ds oe oe | ||
| 641 | . ds Oe OE | ||
| 642 | .\} | ||
| 643 | .rm #[ #] #H #V #F C | ||
| 644 | END | ||
| 645 | |||
| 646 | $indent = 0; | ||
| 647 | |||
| 648 | $begun = ""; | ||
| 649 | |||
| 650 | # Unrolling [^A-Z>]|[A-Z](?!<) gives: // MRE pp 165. | ||
| 651 | my $nonest = '(?:[^A-Z>]*(?:[A-Z](?!<)[^A-Z>]*)*)'; | ||
| 652 | |||
| 653 | while (<>) { | ||
| 654 | if ($cutting) { | ||
| 655 | next unless /^=/; | ||
| 656 | $cutting = 0; | ||
| 657 | } | ||
| 658 | if ($begun) { | ||
| 659 | if (/^=end\s+$begun/) { | ||
| 660 | $begun = ""; | ||
| 661 | } | ||
| 662 | elsif ($begun =~ /^(roff|man)$/) { | ||
| 663 | print STDOUT $_; | ||
| 664 | } | ||
| 665 | next; | ||
| 666 | } | ||
| 667 | chomp; | ||
| 668 | |||
| 669 | # Translate verbatim paragraph | ||
| 670 | |||
| 671 | if (/^\s/) { | ||
| 672 | @lines = split(/\n/); | ||
| 673 | for (@lines) { | ||
| 674 | 1 while s | ||
| 675 | {^( [^\t]* ) \t ( \t* ) } | ||
| 676 | { $1 . ' ' x (8 - (length($1)%8) + 8 * (length($2))) }ex; | ||
| 677 | s/\\/\\e/g; | ||
| 678 | s/\A/\\&/s; | ||
| 679 | } | ||
| 680 | $lines = @lines; | ||
| 681 | makespace() unless $verbatim++; | ||
| 682 | print ".Vb $lines\n"; | ||
| 683 | print join("\n", @lines), "\n"; | ||
| 684 | print ".Ve\n"; | ||
| 685 | $needspace = 0; | ||
| 686 | next; | ||
| 687 | } | ||
| 688 | |||
| 689 | $verbatim = 0; | ||
| 690 | |||
| 691 | if (/^=for\s+(\S+)\s*/s) { | ||
| 692 | if ($1 eq "man" or $1 eq "roff") { | ||
| 693 | print STDOUT $',"\n\n"; | ||
| 694 | } else { | ||
| 695 | # ignore unknown for | ||
| 696 | } | ||
| 697 | next; | ||
| 698 | } | ||
| 699 | elsif (/^=begin\s+(\S+)\s*/s) { | ||
| 700 | $begun = $1; | ||
| 701 | if ($1 eq "man" or $1 eq "roff") { | ||
| 702 | print STDOUT $'."\n\n"; | ||
| 703 | } | ||
| 704 | next; | ||
| 705 | } | ||
| 706 | |||
| 707 | # check for things that'll hosed our noremap scheme; affects $_ | ||
| 708 | init_noremap(); | ||
| 709 | |||
| 710 | if (!/^=item/) { | ||
| 711 | |||
| 712 | # trofficate backslashes; must do it before what happens below | ||
| 713 | s/\\/noremap('\\e')/ge; | ||
| 714 | |||
| 715 | # protect leading periods and quotes against *roff | ||
| 716 | # mistaking them for directives | ||
| 717 | s/^(?:[A-Z]<)?[.']/\\&$&/gm; | ||
| 718 | |||
| 719 | # first hide the escapes in case we need to | ||
| 720 | # intuit something and get it wrong due to fmting | ||
| 721 | |||
| 722 | 1 while s/([A-Z]<$nonest>)/noremap($1)/ge; | ||
| 723 | |||
| 724 | # func() is a reference to a perl function | ||
| 725 | s{ | ||
| 726 | \b | ||
| 727 | ( | ||
| 728 | [:\w]+ \(\) | ||
| 729 | ) | ||
| 730 | } {I<$1>}gx; | ||
| 731 | |||
| 732 | # func(n) is a reference to a perl function or a man page | ||
| 733 | s{ | ||
| 734 | ([:\w]+) | ||
| 735 | ( | ||
| 736 | \( [^\051]+ \) | ||
| 737 | ) | ||
| 738 | } {I<$1>\\|$2}gx; | ||
| 739 | |||
| 740 | # convert simple variable references | ||
| 741 | s/(\s+)([\$\@%][\w:]+)(?!\()/${1}C<$2>/g; | ||
| 742 | |||
| 743 | if (m{ ( | ||
| 744 | [\-\w]+ | ||
| 745 | \( | ||
| 746 | [^\051]*? | ||
| 747 | [\@\$,] | ||
| 748 | [^\051]*? | ||
| 749 | \) | ||
| 750 | ) | ||
| 751 | }x && $` !~ /([LCI]<[^<>]*|-)$/ && !/^=\w/) | ||
| 752 | { | ||
| 753 | warn "$0: bad option in paragraph $. of $ARGV: ``$1'' should be [LCI]<$1>\n"; | ||
| 754 | $oops++; | ||
| 755 | } | ||
| 756 | |||
| 757 | while (/(-[a-zA-Z])\b/g && $` !~ /[\w\-]$/) { | ||
| 758 | warn "$0: bad option in paragraph $. of $ARGV: ``$1'' should be [CB]<$1>\n"; | ||
| 759 | $oops++; | ||
| 760 | } | ||
| 761 | |||
| 762 | # put it back so we get the <> processed again; | ||
| 763 | clear_noremap(0); # 0 means leave the E's | ||
| 764 | |||
| 765 | } else { | ||
| 766 | # trofficate backslashes | ||
| 767 | s/\\/noremap('\\e')/ge; | ||
| 768 | |||
| 769 | } | ||
| 770 | |||
| 771 | # need to hide E<> first; they're processed in clear_noremap | ||
| 772 | s/(E<[^<>]+>)/noremap($1)/ge; | ||
| 773 | |||
| 774 | |||
| 775 | $maxnest = 10; | ||
| 776 | while ($maxnest-- && /[A-Z]</) { | ||
| 777 | |||
| 778 | # can't do C font here | ||
| 779 | s/([BI])<($nonest)>/font($1) . $2 . font('R')/eg; | ||
| 780 | |||
| 781 | # files and filelike refs in italics | ||
| 782 | s/F<($nonest)>/I<$1>/g; | ||
| 783 | |||
| 784 | # no break -- usually we want C<> for this | ||
| 785 | s/S<($nonest)>/nobreak($1)/eg; | ||
| 786 | |||
| 787 | # LREF: a la HREF L<show this text|man/section> | ||
| 788 | s:L<([^|>]+)\|[^>]+>:$1:g; | ||
| 789 | |||
| 790 | # LREF: a manpage(3f) | ||
| 791 | s:L<([a-zA-Z][^\s\/]+)(\([^\)]+\))?>:the I<$1>$2 manpage:g; | ||
| 792 | |||
| 793 | # LREF: an =item on another manpage | ||
| 794 | s{ | ||
| 795 | L< | ||
| 796 | ([^/]+) | ||
| 797 | / | ||
| 798 | ( | ||
| 799 | [:\w]+ | ||
| 800 | (\(\))? | ||
| 801 | ) | ||
| 802 | > | ||
| 803 | } {the C<$2> entry in the I<$1> manpage}gx; | ||
| 804 | |||
| 805 | # LREF: an =item on this manpage | ||
| 806 | s{ | ||
| 807 | ((?: | ||
| 808 | L< | ||
| 809 | / | ||
| 810 | ( | ||
| 811 | [:\w]+ | ||
| 812 | (\(\))? | ||
| 813 | ) | ||
| 814 | > | ||
| 815 | (,?\s+(and\s+)?)? | ||
| 816 | )+) | ||
| 817 | } { internal_lrefs($1) }gex; | ||
| 818 | |||
| 819 | # LREF: a =head2 (head1?), maybe on a manpage, maybe right here | ||
| 820 | # the "func" can disambiguate | ||
| 821 | s{ | ||
| 822 | L< | ||
| 823 | (?: | ||
| 824 | ([a-zA-Z]\S+?) / | ||
| 825 | )? | ||
| 826 | "?(.*?)"? | ||
| 827 | > | ||
| 828 | }{ | ||
| 829 | do { | ||
| 830 | $1 # if no $1, assume it means on this page. | ||
| 831 | ? "the section on I<$2> in the I<$1> manpage" | ||
| 832 | : "the section on I<$2>" | ||
| 833 | } | ||
| 834 | }gesx; # s in case it goes over multiple lines, so . matches \n | ||
| 835 | |||
| 836 | s/Z<>/\\&/g; | ||
| 837 | |||
| 838 | # comes last because not subject to reprocessing | ||
| 839 | s/C<($nonest)>/noremap("${CFont_embed}${1}\\fR")/eg; | ||
| 840 | } | ||
| 841 | |||
| 842 | if (s/^=//) { | ||
| 843 | $needspace = 0; # Assume this. | ||
| 844 | |||
| 845 | s/\n/ /g; | ||
| 846 | |||
| 847 | ($Cmd, $_) = split(' ', $_, 2); | ||
| 848 | |||
| 849 | $dotlevel = 1; | ||
| 850 | if ($Cmd eq 'head1') { | ||
| 851 | $dotlevel = 1; | ||
| 852 | } | ||
| 853 | elsif ($Cmd eq 'head2') { | ||
| 854 | $dotlevel = 1; | ||
| 855 | } | ||
| 856 | elsif ($Cmd eq 'item') { | ||
| 857 | $dotlevel = 2; | ||
| 858 | } | ||
| 859 | |||
| 860 | if (defined $_) { | ||
| 861 | &escapes($dotlevel); | ||
| 862 | s/"/""/g; | ||
| 863 | } | ||
| 864 | |||
| 865 | clear_noremap(1); | ||
| 866 | |||
| 867 | if ($Cmd eq 'cut') { | ||
| 868 | $cutting = 1; | ||
| 869 | } | ||
| 870 | elsif ($Cmd eq 'head1') { | ||
| 871 | s/\s+$//; | ||
| 872 | delete $wanna_see{$_} if exists $wanna_see{$_}; | ||
| 873 | print qq{.SH "$_"\n}; | ||
| 874 | push(@Indices, qq{.IX Header "$_"\n}); | ||
| 875 | } | ||
| 876 | elsif ($Cmd eq 'head2') { | ||
| 877 | print qq{.Sh "$_"\n}; | ||
| 878 | push(@Indices, qq{.IX Subsection "$_"\n}); | ||
| 879 | } | ||
| 880 | elsif ($Cmd eq 'over') { | ||
| 881 | push(@indent,$indent); | ||
| 882 | $indent += ($_ + 0) || 5; | ||
| 883 | } | ||
| 884 | elsif ($Cmd eq 'back') { | ||
| 885 | $indent = pop(@indent); | ||
| 886 | warn "$0: Unmatched =back in paragraph $. of $ARGV\n" unless defined $indent; | ||
| 887 | $needspace = 1; | ||
| 888 | } | ||
| 889 | elsif ($Cmd eq 'item') { | ||
| 890 | s/^\*( |$)/\\(bu$1/g; | ||
| 891 | # if you know how to get ":s please do | ||
| 892 | s/\\\*\(L"([^"]+?)\\\*\(R"/'$1'/g; | ||
| 893 | s/\\\*\(L"([^"]+?)""/'$1'/g; | ||
| 894 | s/[^"]""([^"]+?)""[^"]/'$1'/g; | ||
| 895 | # here do something about the $" in perlvar? | ||
| 896 | print STDOUT qq{.Ip "$_" $indent\n}; | ||
| 897 | push(@Indices, qq{.IX Item "$_"\n}); | ||
| 898 | } | ||
| 899 | elsif ($Cmd eq 'pod') { | ||
| 900 | # this is just a comment | ||
| 901 | } | ||
| 902 | else { | ||
| 903 | warn "$0: Unrecognized pod directive in paragraph $. of $ARGV: $Cmd\n"; | ||
| 904 | } | ||
| 905 | } | ||
| 906 | else { | ||
| 907 | if ($needspace) { | ||
| 908 | &makespace; | ||
| 909 | } | ||
| 910 | &escapes(0); | ||
| 911 | clear_noremap(1); | ||
| 912 | print $_, "\n"; | ||
| 913 | $needspace = 1; | ||
| 914 | } | ||
| 915 | } | ||
| 916 | |||
| 917 | print <<"END"; | ||
| 918 | |||
| 919 | .rn }` '' | ||
| 920 | END | ||
| 921 | |||
| 922 | if (%wanna_see && !$lax) { | ||
| 923 | @missing = keys %wanna_see; | ||
| 924 | warn "$0: $Filename is missing required section" | ||
| 925 | . (@missing > 1 && "s") | ||
| 926 | . ": @missing\n"; | ||
| 927 | $oops++; | ||
| 928 | } | ||
| 929 | |||
| 930 | foreach (@Indices) { print "$_\n"; } | ||
| 931 | |||
| 932 | exit; | ||
| 933 | #exit ($oops != 0); | ||
| 934 | |||
| 935 | ######################################################################### | ||
| 936 | |||
| 937 | sub nobreak { | ||
| 938 | my $string = shift; | ||
| 939 | $string =~ s/ /\\ /g; | ||
| 940 | $string; | ||
| 941 | } | ||
| 942 | |||
| 943 | sub escapes { | ||
| 944 | my $indot = shift; | ||
| 945 | |||
| 946 | s/X<(.*?)>/mkindex($1)/ge; | ||
| 947 | |||
| 948 | # translate the minus in foo-bar into foo\-bar for roff | ||
| 949 | s/([^0-9a-z-])-([^-])/$1\\-$2/g; | ||
| 950 | |||
| 951 | # make -- into the string version \*(-- (defined above) | ||
| 952 | s/\b--\b/\\*(--/g; | ||
| 953 | s/"--([^"])/"\\*(--$1/g; # should be a better way | ||
| 954 | s/([^"])--"/$1\\*(--"/g; | ||
| 955 | |||
| 956 | # fix up quotes; this is somewhat tricky | ||
| 957 | my $dotmacroL = 'L'; | ||
| 958 | my $dotmacroR = 'R'; | ||
| 959 | if ( $indot == 1 ) { | ||
| 960 | $dotmacroL = 'M'; | ||
| 961 | $dotmacroR = 'S'; | ||
| 962 | } | ||
| 963 | elsif ( $indot >= 2 ) { | ||
| 964 | $dotmacroL = 'N'; | ||
| 965 | $dotmacroR = 'T'; | ||
| 966 | } | ||
| 967 | if (!/""/) { | ||
| 968 | s/(^|\s)(['"])/noremap("$1\\*($dotmacroL$2")/ge; | ||
| 969 | s/(['"])($|[\-\s,;\\!?.])/noremap("\\*($dotmacroR$1$2")/ge; | ||
| 970 | } | ||
| 971 | |||
| 972 | #s/(?!")(?:.)--(?!")(?:.)/\\*(--/g; | ||
| 973 | #s/(?:(?!")(?:.)--(?:"))|(?:(?:")--(?!")(?:.))/\\*(--/g; | ||
| 974 | |||
| 975 | |||
| 976 | # make sure that func() keeps a bit a space tween the parens | ||
| 977 | ### s/\b\(\)/\\|()/g; | ||
| 978 | ### s/\b\(\)/(\\|)/g; | ||
| 979 | |||
| 980 | # make C++ into \*C+, which is a squinched version (defined above) | ||
| 981 | s/\bC\+\+/\\*(C+/g; | ||
| 982 | |||
| 983 | # make double underbars have a little tiny space between them | ||
| 984 | s/__/_\\|_/g; | ||
| 985 | |||
| 986 | # PI goes to \*(PI (defined above) | ||
| 987 | s/\bPI\b/noremap('\\*(PI')/ge; | ||
| 988 | |||
| 989 | # make all caps a teeny bit smaller, but don't muck with embedded code literals | ||
| 990 | my $hidCFont = font('C'); | ||
| 991 | if ($Cmd !~ /^head1/) { # SH already makes smaller | ||
| 992 | # /g isn't enough; 1 while or we'll be off | ||
| 993 | |||
| 994 | # 1 while s{ | ||
| 995 | # (?!$hidCFont)(..|^.|^) | ||
| 996 | # \b | ||
| 997 | # ( | ||
| 998 | # [A-Z][\/A-Z+:\-\d_$.]+ | ||
| 999 | # ) | ||
| 1000 | # (s?) | ||
| 1001 | # \b | ||
| 1002 | # } {$1\\s-1$2\\s0}gmox; | ||
| 1003 | |||
| 1004 | 1 while s{ | ||
| 1005 | (?!$hidCFont)(..|^.|^) | ||
| 1006 | ( | ||
| 1007 | \b[A-Z]{2,}[\/A-Z+:\-\d_\$]*\b | ||
| 1008 | ) | ||
| 1009 | } { | ||
| 1010 | $1 . noremap( '\\s-1' . $2 . '\\s0' ) | ||
| 1011 | }egmox; | ||
| 1012 | |||
| 1013 | } | ||
| 1014 | } | ||
| 1015 | |||
| 1016 | # make troff just be normal, but make small nroff get quoted | ||
| 1017 | # decided to just put the quotes in the text; sigh; | ||
| 1018 | sub ccvt { | ||
| 1019 | local($_,$prev) = @_; | ||
| 1020 | noremap(qq{.CQ "$_" \n\\&}); | ||
| 1021 | } | ||
| 1022 | |||
| 1023 | sub makespace { | ||
| 1024 | if ($indent) { | ||
| 1025 | print ".Sp\n"; | ||
| 1026 | } | ||
| 1027 | else { | ||
| 1028 | print ".PP\n"; | ||
| 1029 | } | ||
| 1030 | } | ||
| 1031 | |||
| 1032 | sub mkindex { | ||
| 1033 | my ($entry) = @_; | ||
| 1034 | my @entries = split m:\s*/\s*:, $entry; | ||
| 1035 | push @Indices, ".IX Xref " . join ' ', map {qq("$_")} @entries; | ||
| 1036 | return ''; | ||
| 1037 | } | ||
| 1038 | |||
| 1039 | sub font { | ||
| 1040 | local($font) = shift; | ||
| 1041 | return '\\f' . noremap($font); | ||
| 1042 | } | ||
| 1043 | |||
| 1044 | sub noremap { | ||
| 1045 | local($thing_to_hide) = shift; | ||
| 1046 | $thing_to_hide =~ tr/\000-\177/\200-\377/; | ||
| 1047 | return $thing_to_hide; | ||
| 1048 | } | ||
| 1049 | |||
| 1050 | sub init_noremap { | ||
| 1051 | # escape high bit characters in input stream | ||
| 1052 | s/([\200-\377])/"E<".ord($1).">"/ge; | ||
| 1053 | } | ||
| 1054 | |||
| 1055 | sub clear_noremap { | ||
| 1056 | my $ready_to_print = $_[0]; | ||
| 1057 | |||
| 1058 | tr/\200-\377/\000-\177/; | ||
| 1059 | |||
| 1060 | # trofficate backslashes | ||
| 1061 | # s/(?!\\e)(?:..|^.|^)\\/\\e/g; | ||
| 1062 | |||
| 1063 | # now for the E<>s, which have been hidden until now | ||
| 1064 | # otherwise the interative \w<> processing would have | ||
| 1065 | # been hosed by the E<gt> | ||
| 1066 | s { | ||
| 1067 | E< | ||
| 1068 | ( | ||
| 1069 | ( \d + ) | ||
| 1070 | | ( [A-Za-z]+ ) | ||
| 1071 | ) | ||
| 1072 | > | ||
| 1073 | } { | ||
| 1074 | do { | ||
| 1075 | defined $2 | ||
| 1076 | ? chr($2) | ||
| 1077 | : | ||
| 1078 | exists $HTML_Escapes{$3} | ||
| 1079 | ? do { $HTML_Escapes{$3} } | ||
| 1080 | : do { | ||
| 1081 | warn "$0: Unknown escape in paragraph $. of $ARGV: ``$&''\n"; | ||
| 1082 | "E<$1>"; | ||
| 1083 | } | ||
| 1084 | } | ||
| 1085 | }egx if $ready_to_print; | ||
| 1086 | } | ||
| 1087 | |||
| 1088 | sub internal_lrefs { | ||
| 1089 | local($_) = shift; | ||
| 1090 | local $trailing_and = s/and\s+$// ? "and " : ""; | ||
| 1091 | |||
| 1092 | s{L</([^>]+)>}{$1}g; | ||
| 1093 | my(@items) = split( /(?:,?\s+(?:and\s+)?)/ ); | ||
| 1094 | my $retstr = "the "; | ||
| 1095 | my $i; | ||
| 1096 | for ($i = 0; $i <= $#items; $i++) { | ||
| 1097 | $retstr .= "C<$items[$i]>"; | ||
| 1098 | $retstr .= ", " if @items > 2 && $i != $#items; | ||
| 1099 | $retstr .= " and " if $i+2 == @items; | ||
| 1100 | } | ||
| 1101 | |||
| 1102 | $retstr .= " entr" . ( @items > 1 ? "ies" : "y" ) | ||
| 1103 | . " elsewhere in this document"; | ||
| 1104 | # terminal space to avoid words running together (pattern used | ||
| 1105 | # strips terminal spaces) | ||
| 1106 | $retstr .= " " if length $trailing_and; | ||
| 1107 | $retstr .= $trailing_and; | ||
| 1108 | |||
| 1109 | return $retstr; | ||
| 1110 | |||
| 1111 | } | ||
| 1112 | |||
| 1113 | BEGIN { | ||
| 1114 | %HTML_Escapes = ( | ||
| 1115 | 'amp' => '&', # ampersand | ||
| 1116 | 'lt' => '<', # left chevron, less-than | ||
| 1117 | 'gt' => '>', # right chevron, greater-than | ||
| 1118 | 'quot' => '"', # double quote | ||
| 1119 | |||
| 1120 | "Aacute" => "A\\*'", # capital A, acute accent | ||
| 1121 | "aacute" => "a\\*'", # small a, acute accent | ||
| 1122 | "Acirc" => "A\\*^", # capital A, circumflex accent | ||
| 1123 | "acirc" => "a\\*^", # small a, circumflex accent | ||
| 1124 | "AElig" => '\*(AE', # capital AE diphthong (ligature) | ||
| 1125 | "aelig" => '\*(ae', # small ae diphthong (ligature) | ||
| 1126 | "Agrave" => "A\\*`", # capital A, grave accent | ||
| 1127 | "agrave" => "A\\*`", # small a, grave accent | ||
| 1128 | "Aring" => 'A\\*o', # capital A, ring | ||
| 1129 | "aring" => 'a\\*o', # small a, ring | ||
| 1130 | "Atilde" => 'A\\*~', # capital A, tilde | ||
| 1131 | "atilde" => 'a\\*~', # small a, tilde | ||
| 1132 | "Auml" => 'A\\*:', # capital A, dieresis or umlaut mark | ||
| 1133 | "auml" => 'a\\*:', # small a, dieresis or umlaut mark | ||
| 1134 | "Ccedil" => 'C\\*,', # capital C, cedilla | ||
| 1135 | "ccedil" => 'c\\*,', # small c, cedilla | ||
| 1136 | "Eacute" => "E\\*'", # capital E, acute accent | ||
| 1137 | "eacute" => "e\\*'", # small e, acute accent | ||
| 1138 | "Ecirc" => "E\\*^", # capital E, circumflex accent | ||
| 1139 | "ecirc" => "e\\*^", # small e, circumflex accent | ||
| 1140 | "Egrave" => "E\\*`", # capital E, grave accent | ||
| 1141 | "egrave" => "e\\*`", # small e, grave accent | ||
| 1142 | "ETH" => '\\*(D-', # capital Eth, Icelandic | ||
| 1143 | "eth" => '\\*(d-', # small eth, Icelandic | ||
| 1144 | "Euml" => "E\\*:", # capital E, dieresis or umlaut mark | ||
| 1145 | "euml" => "e\\*:", # small e, dieresis or umlaut mark | ||
| 1146 | "Iacute" => "I\\*'", # capital I, acute accent | ||
| 1147 | "iacute" => "i\\*'", # small i, acute accent | ||
| 1148 | "Icirc" => "I\\*^", # capital I, circumflex accent | ||
| 1149 | "icirc" => "i\\*^", # small i, circumflex accent | ||
| 1150 | "Igrave" => "I\\*`", # capital I, grave accent | ||
| 1151 | "igrave" => "i\\*`", # small i, grave accent | ||
| 1152 | "Iuml" => "I\\*:", # capital I, dieresis or umlaut mark | ||
| 1153 | "iuml" => "i\\*:", # small i, dieresis or umlaut mark | ||
| 1154 | "Ntilde" => 'N\*~', # capital N, tilde | ||
| 1155 | "ntilde" => 'n\*~', # small n, tilde | ||
| 1156 | "Oacute" => "O\\*'", # capital O, acute accent | ||
| 1157 | "oacute" => "o\\*'", # small o, acute accent | ||
| 1158 | "Ocirc" => "O\\*^", # capital O, circumflex accent | ||
| 1159 | "ocirc" => "o\\*^", # small o, circumflex accent | ||
| 1160 | "Ograve" => "O\\*`", # capital O, grave accent | ||
| 1161 | "ograve" => "o\\*`", # small o, grave accent | ||
| 1162 | "Oslash" => "O\\*/", # capital O, slash | ||
| 1163 | "oslash" => "o\\*/", # small o, slash | ||
| 1164 | "Otilde" => "O\\*~", # capital O, tilde | ||
| 1165 | "otilde" => "o\\*~", # small o, tilde | ||
| 1166 | "Ouml" => "O\\*:", # capital O, dieresis or umlaut mark | ||
| 1167 | "ouml" => "o\\*:", # small o, dieresis or umlaut mark | ||
| 1168 | "szlig" => '\*8', # small sharp s, German (sz ligature) | ||
| 1169 | "THORN" => '\\*(Th', # capital THORN, Icelandic | ||
| 1170 | "thorn" => '\\*(th',, # small thorn, Icelandic | ||
| 1171 | "Uacute" => "U\\*'", # capital U, acute accent | ||
| 1172 | "uacute" => "u\\*'", # small u, acute accent | ||
| 1173 | "Ucirc" => "U\\*^", # capital U, circumflex accent | ||
| 1174 | "ucirc" => "u\\*^", # small u, circumflex accent | ||
| 1175 | "Ugrave" => "U\\*`", # capital U, grave accent | ||
| 1176 | "ugrave" => "u\\*`", # small u, grave accent | ||
| 1177 | "Uuml" => "U\\*:", # capital U, dieresis or umlaut mark | ||
| 1178 | "uuml" => "u\\*:", # small u, dieresis or umlaut mark | ||
| 1179 | "Yacute" => "Y\\*'", # capital Y, acute accent | ||
| 1180 | "yacute" => "y\\*'", # small y, acute accent | ||
| 1181 | "yuml" => "y\\*:", # small y, dieresis or umlaut mark | ||
| 1182 | ); | ||
| 1183 | } | ||
| 1184 | |||
diff --git a/src/lib/libcrypto/util/pod2mantest b/src/lib/libcrypto/util/pod2mantest new file mode 100644 index 0000000000..384e683df4 --- /dev/null +++ b/src/lib/libcrypto/util/pod2mantest | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # This script is used by test/Makefile to check whether a sane 'pod2man' | ||
| 4 | # is installed. | ||
| 5 | # ('make install' should not try to run 'pod2man' if it does not exist or if | ||
| 6 | # it is a broken 'pod2man' version that is known to cause trouble. if we find | ||
| 7 | # the system 'pod2man' to be broken, we use our own copy instead) | ||
| 8 | # | ||
| 9 | # In any case, output an appropriate command line for running (or not | ||
| 10 | # running) pod2man. | ||
| 11 | |||
| 12 | |||
| 13 | IFS=: | ||
| 14 | if test "$OSTYPE" = "msdosdjgpp"; then IFS=";"; fi | ||
| 15 | |||
| 16 | try_without_dir=true | ||
| 17 | # First we try "pod2man", then "$dir/pod2man" for each item in $PATH. | ||
| 18 | for dir in dummy${IFS}$PATH; do | ||
| 19 | if [ "$try_without_dir" = true ]; then | ||
| 20 | # first iteration | ||
| 21 | pod2man=pod2man | ||
| 22 | try_without_dir=false | ||
| 23 | else | ||
| 24 | # second and later iterations | ||
| 25 | pod2man="$dir/pod2man" | ||
| 26 | if [ ! -f "$pod2man" ]; then # '-x' is not available on Ultrix | ||
| 27 | pod2man='' | ||
| 28 | fi | ||
| 29 | fi | ||
| 30 | |||
| 31 | if [ ! "$pod2man" = '' ]; then | ||
| 32 | failure=none | ||
| 33 | |||
| 34 | if "$pod2man" --section=1 --center=OpenSSL --release=dev pod2mantest.pod | fgrep OpenSSL >/dev/null; then | ||
| 35 | : | ||
| 36 | else | ||
| 37 | failure=BasicTest | ||
| 38 | fi | ||
| 39 | |||
| 40 | if [ "$failure" = none ]; then | ||
| 41 | if "$pod2man" --section=1 --center=OpenSSL --release=dev pod2mantest.pod | grep '^MARKER - ' >/dev/null; then | ||
| 42 | failure=MultilineTest | ||
| 43 | fi | ||
| 44 | fi | ||
| 45 | |||
| 46 | |||
| 47 | if [ "$failure" = none ]; then | ||
| 48 | echo "$pod2man" | ||
| 49 | exit 0 | ||
| 50 | fi | ||
| 51 | |||
| 52 | echo "$pod2man does not work properly ('$failure' failed). Looking for another pod2man ..." >&2 | ||
| 53 | fi | ||
| 54 | done | ||
| 55 | |||
| 56 | echo "No working pod2man found. Consider installing a new version." >&2 | ||
| 57 | echo "As a workaround, we'll use a bundled old copy of pod2man.pl." >&2 | ||
| 58 | echo "$1 ../../util/pod2man.pl" | ||
diff --git a/src/lib/libcrypto/util/pod2mantest.pod b/src/lib/libcrypto/util/pod2mantest.pod new file mode 100644 index 0000000000..5d2539a17f --- /dev/null +++ b/src/lib/libcrypto/util/pod2mantest.pod | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | foo, bar, | ||
| 6 | MARKER - test of multiline name section | ||
| 7 | |||
| 8 | =head1 DESCRIPTION | ||
| 9 | |||
| 10 | This is a test .pod file to see if we have a buggy pod2man or not. | ||
| 11 | If we have a buggy implementation, we will get a line matching the | ||
| 12 | regular expression "^ +MARKER - test of multiline name section *$" | ||
| 13 | at the end of the resulting document. | ||
| 14 | |||
| 15 | =cut | ||
diff --git a/src/lib/libcrypto/util/point.sh b/src/lib/libcrypto/util/point.sh new file mode 100644 index 0000000000..4790e08f8a --- /dev/null +++ b/src/lib/libcrypto/util/point.sh | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | rm -f "$2" | ||
| 4 | if test "$OSTYPE" = msdosdjgpp; then | ||
| 5 | cp "$1" "$2" | ||
| 6 | else | ||
| 7 | ln -s "$1" "$2" | ||
| 8 | fi | ||
| 9 | echo "$2 => $1" | ||
| 10 | |||
diff --git a/src/lib/libcrypto/util/selftest.pl b/src/lib/libcrypto/util/selftest.pl new file mode 100644 index 0000000000..4778c5ab01 --- /dev/null +++ b/src/lib/libcrypto/util/selftest.pl | |||
| @@ -0,0 +1,201 @@ | |||
| 1 | #!/usr/local/bin/perl -w | ||
| 2 | # | ||
| 3 | # Run the test suite and generate a report | ||
| 4 | # | ||
| 5 | |||
| 6 | if (! -f "Configure") { | ||
| 7 | print "Please run perl util/selftest.pl in the OpenSSL directory.\n"; | ||
| 8 | exit 1; | ||
| 9 | } | ||
| 10 | |||
| 11 | my $report="testlog"; | ||
| 12 | my $os="??"; | ||
| 13 | my $version="??"; | ||
| 14 | my $platform0="??"; | ||
| 15 | my $platform="??"; | ||
| 16 | my $options="??"; | ||
| 17 | my $last="??"; | ||
| 18 | my $ok=0; | ||
| 19 | my $cc="cc"; | ||
| 20 | my $cversion="??"; | ||
| 21 | my $sep="-----------------------------------------------------------------------------\n"; | ||
| 22 | my $not_our_fault="\nPlease ask your system administrator/vendor for more information.\n[Problems with your operating system setup should not be reported\nto the OpenSSL project.]\n"; | ||
| 23 | |||
| 24 | open(OUT,">$report") or die; | ||
| 25 | |||
| 26 | print OUT "OpenSSL self-test report:\n\n"; | ||
| 27 | |||
| 28 | $uname=`uname -a`; | ||
| 29 | $uname="??\n" if $uname eq ""; | ||
| 30 | |||
| 31 | $c=`sh config -t`; | ||
| 32 | foreach $_ (split("\n",$c)) { | ||
| 33 | $os=$1 if (/Operating system: (.*)$/); | ||
| 34 | $platform0=$1 if (/Configuring for (.*)$/); | ||
| 35 | } | ||
| 36 | |||
| 37 | system "sh config" if (! -f "Makefile"); | ||
| 38 | |||
| 39 | if (open(IN,"<Makefile")) { | ||
| 40 | while (<IN>) { | ||
| 41 | $version=$1 if (/^VERSION=(.*)$/); | ||
| 42 | $platform=$1 if (/^PLATFORM=(.*)$/); | ||
| 43 | $options=$1 if (/^OPTIONS=(.*)$/); | ||
| 44 | $cc=$1 if (/^CC= *(.*)$/); | ||
| 45 | } | ||
| 46 | close(IN); | ||
| 47 | } else { | ||
| 48 | print OUT "Error running config!\n"; | ||
| 49 | } | ||
| 50 | |||
| 51 | $cversion=`$cc -v 2>&1`; | ||
| 52 | $cversion=`$cc -V 2>&1` if $cversion =~ "[Uu]sage"; | ||
| 53 | $cversion=`$cc -V |head -1` if $cversion =~ "Error"; | ||
| 54 | $cversion=`$cc --version` if $cversion eq ""; | ||
| 55 | $cversion =~ s/Reading specs.*\n//; | ||
| 56 | $cversion =~ s/usage.*\n//; | ||
| 57 | chomp $cversion; | ||
| 58 | |||
| 59 | if (open(IN,"<CHANGES")) { | ||
| 60 | while(<IN>) { | ||
| 61 | if (/\*\) (.{0,55})/ && !/applies to/) { | ||
| 62 | $last=$1; | ||
| 63 | last; | ||
| 64 | } | ||
| 65 | } | ||
| 66 | close(IN); | ||
| 67 | } | ||
| 68 | |||
| 69 | print OUT "OpenSSL version: $version\n"; | ||
| 70 | print OUT "Last change: $last...\n"; | ||
| 71 | print OUT "Options: $options\n" if $options ne ""; | ||
| 72 | print OUT "OS (uname): $uname"; | ||
| 73 | print OUT "OS (config): $os\n"; | ||
| 74 | print OUT "Target (default): $platform0\n"; | ||
| 75 | print OUT "Target: $platform\n"; | ||
| 76 | print OUT "Compiler: $cversion\n"; | ||
| 77 | print OUT "\n"; | ||
| 78 | |||
| 79 | print "Checking compiler...\n"; | ||
| 80 | if (open(TEST,">cctest.c")) { | ||
| 81 | print TEST "#include <stdio.h>\n#include <errno.h>\nmain(){printf(\"Hello world\\n\");}\n"; | ||
| 82 | close(TEST); | ||
| 83 | system("$cc -o cctest cctest.c"); | ||
| 84 | if (`./cctest` !~ /Hello world/) { | ||
| 85 | print OUT "Compiler doesn't work.\n"; | ||
| 86 | print OUT $not_our_fault; | ||
| 87 | goto err; | ||
| 88 | } | ||
| 89 | system("ar r cctest.a /dev/null"); | ||
| 90 | if (not -f "cctest.a") { | ||
| 91 | print OUT "Check your archive tool (ar).\n"; | ||
| 92 | print OUT $not_our_fault; | ||
| 93 | goto err; | ||
| 94 | } | ||
| 95 | } else { | ||
| 96 | print OUT "Can't create cctest.c\n"; | ||
| 97 | } | ||
| 98 | if (open(TEST,">cctest.c")) { | ||
| 99 | print TEST "#include <openssl/opensslv.h>\nmain(){printf(OPENSSL_VERSION_TEXT);}\n"; | ||
| 100 | close(TEST); | ||
| 101 | system("$cc -o cctest -Iinclude cctest.c"); | ||
| 102 | $cctest = `./cctest`; | ||
| 103 | if ($cctest !~ /OpenSSL $version/) { | ||
| 104 | if ($cctest =~ /OpenSSL/) { | ||
| 105 | print OUT "#include uses headers from different OpenSSL version!\n"; | ||
| 106 | } else { | ||
| 107 | print OUT "Can't compile test program!\n"; | ||
| 108 | } | ||
| 109 | print OUT $not_our_fault; | ||
| 110 | goto err; | ||
| 111 | } | ||
| 112 | } else { | ||
| 113 | print OUT "Can't create cctest.c\n"; | ||
| 114 | } | ||
| 115 | |||
| 116 | print "Running make...\n"; | ||
| 117 | if (system("make 2>&1 | tee make.log") > 255) { | ||
| 118 | |||
| 119 | print OUT "make failed!\n"; | ||
| 120 | if (open(IN,"<make.log")) { | ||
| 121 | print OUT $sep; | ||
| 122 | while (<IN>) { | ||
| 123 | print OUT; | ||
| 124 | } | ||
| 125 | close(IN); | ||
| 126 | print OUT $sep; | ||
| 127 | } else { | ||
| 128 | print OUT "make.log not found!\n"; | ||
| 129 | } | ||
| 130 | goto err; | ||
| 131 | } | ||
| 132 | |||
| 133 | # Not sure why this is here. The tests themselves can detect if their | ||
| 134 | # particular feature isn't included, and should therefore skip themselves. | ||
| 135 | # To skip *all* tests just because one algorithm isn't included is like | ||
| 136 | # shooting mosquito with an elephant gun... | ||
| 137 | # -- Richard Levitte, inspired by problem report 1089 | ||
| 138 | # | ||
| 139 | #$_=$options; | ||
| 140 | #s/no-asm//; | ||
| 141 | #s/no-shared//; | ||
| 142 | #s/no-krb5//; | ||
| 143 | #if (/no-/) | ||
| 144 | #{ | ||
| 145 | # print OUT "Test skipped.\n"; | ||
| 146 | # goto err; | ||
| 147 | #} | ||
| 148 | |||
| 149 | print "Running make test...\n"; | ||
| 150 | if (system("make test 2>&1 | tee maketest.log") > 255) | ||
| 151 | { | ||
| 152 | print OUT "make test failed!\n"; | ||
| 153 | } else { | ||
| 154 | $ok=1; | ||
| 155 | } | ||
| 156 | |||
| 157 | if ($ok and open(IN,"<maketest.log")) { | ||
| 158 | while (<IN>) { | ||
| 159 | $ok=2 if /^platform: $platform/; | ||
| 160 | } | ||
| 161 | close(IN); | ||
| 162 | } | ||
| 163 | |||
| 164 | if ($ok != 2) { | ||
| 165 | print OUT "Failure!\n"; | ||
| 166 | if (open(IN,"<make.log")) { | ||
| 167 | print OUT $sep; | ||
| 168 | while (<IN>) { | ||
| 169 | print OUT; | ||
| 170 | } | ||
| 171 | close(IN); | ||
| 172 | print OUT $sep; | ||
| 173 | } else { | ||
| 174 | print OUT "make.log not found!\n"; | ||
| 175 | } | ||
| 176 | if (open(IN,"<maketest.log")) { | ||
| 177 | while (<IN>) { | ||
| 178 | print OUT; | ||
| 179 | } | ||
| 180 | close(IN); | ||
| 181 | print OUT $sep; | ||
| 182 | } else { | ||
| 183 | print OUT "maketest.log not found!\n"; | ||
| 184 | } | ||
| 185 | } else { | ||
| 186 | print OUT "Test passed.\n"; | ||
| 187 | } | ||
| 188 | err: | ||
| 189 | close(OUT); | ||
| 190 | |||
| 191 | print "\n"; | ||
| 192 | open(IN,"<$report") or die; | ||
| 193 | while (<IN>) { | ||
| 194 | if (/$sep/) { | ||
| 195 | print "[...]\n"; | ||
| 196 | last; | ||
| 197 | } | ||
| 198 | print; | ||
| 199 | } | ||
| 200 | print "\nTest report in file $report\n"; | ||
| 201 | |||
diff --git a/src/lib/libcrypto/util/shlib_wrap.sh b/src/lib/libcrypto/util/shlib_wrap.sh new file mode 100755 index 0000000000..a2f62d696f --- /dev/null +++ b/src/lib/libcrypto/util/shlib_wrap.sh | |||
| @@ -0,0 +1,91 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | [ $# -ne 0 ] || set -x # debug mode without arguments:-) | ||
| 4 | |||
| 5 | THERE="`echo $0 | sed -e 's|[^/]*$||' 2>/dev/null`.." | ||
| 6 | [ -d "${THERE}" ] || exec "$@" # should never happen... | ||
| 7 | |||
| 8 | # Alternative to this is to parse ${THERE}/Makefile... | ||
| 9 | LIBCRYPTOSO="${THERE}/libcrypto.so" | ||
| 10 | if [ -f "$LIBCRYPTOSO" ]; then | ||
| 11 | while [ -h "$LIBCRYPTOSO" ]; do | ||
| 12 | LIBCRYPTOSO="${THERE}/`ls -l "$LIBCRYPTOSO" | sed -e 's|.*\-> ||'`" | ||
| 13 | done | ||
| 14 | SOSUFFIX=`echo ${LIBCRYPTOSO} | sed -e 's|.*\.so||' 2>/dev/null` | ||
| 15 | LIBSSLSO="${THERE}/libssl.so${SOSUFFIX}" | ||
| 16 | fi | ||
| 17 | |||
| 18 | SYSNAME=`(uname -s) 2>/dev/null`; | ||
| 19 | case "$SYSNAME" in | ||
| 20 | SunOS|IRIX*) | ||
| 21 | # SunOS and IRIX run-time linkers evaluate alternative | ||
| 22 | # variables depending on target ABI... | ||
| 23 | rld_var=LD_LIBRARY_PATH | ||
| 24 | case "`(/usr/bin/file "$LIBCRYPTOSO") 2>/dev/null`" in | ||
| 25 | *ELF\ 64*SPARC*|*ELF\ 64*AMD64*) | ||
| 26 | [ -n "$LD_LIBRARY_PATH_64" ] && rld_var=LD_LIBRARY_PATH_64 | ||
| 27 | LD_PRELOAD_64="$LIBCRYPTOSO $LIBSSLSO"; export LD_PRELOAD_64 | ||
| 28 | preload_var=LD_PRELOAD_64 | ||
| 29 | ;; | ||
| 30 | # Why are newly built .so's preloaded anyway? Because run-time | ||
| 31 | # .so lookup path embedded into application takes precedence | ||
| 32 | # over LD_LIBRARY_PATH and as result application ends up linking | ||
| 33 | # to previously installed .so's. On IRIX instead of preloading | ||
| 34 | # newly built .so's we trick run-time linker to fail to find | ||
| 35 | # the installed .so by setting _RLD_ROOT variable. | ||
| 36 | *ELF\ 32*MIPS*) | ||
| 37 | #_RLD_LIST="$LIBCRYPTOSO:$LIBSSLSO:DEFAULT"; export _RLD_LIST | ||
| 38 | _RLD_ROOT=/no/such/dir; export _RLD_ROOT | ||
| 39 | eval $rld_var=\"/usr/lib'${'$rld_var':+:$'$rld_var'}'\" | ||
| 40 | preload_var=_RLD_LIST | ||
| 41 | ;; | ||
| 42 | *ELF\ N32*MIPS*) | ||
| 43 | [ -n "$LD_LIBRARYN32_PATH" ] && rld_var=LD_LIBRARYN32_PATH | ||
| 44 | #_RLDN32_LIST="$LIBCRYPTOSO:$LIBSSLSO:DEFAULT"; export _RLDN32_LIST | ||
| 45 | _RLDN32_ROOT=/no/such/dir; export _RLDN32_ROOT | ||
| 46 | eval $rld_var=\"/usr/lib32'${'$rld_var':+:$'$rld_var'}'\" | ||
| 47 | preload_var=_RLDN32_LIST | ||
| 48 | ;; | ||
| 49 | *ELF\ 64*MIPS*) | ||
| 50 | [ -n "$LD_LIBRARY64_PATH" ] && rld_var=LD_LIBRARY64_PATH | ||
| 51 | #_RLD64_LIST="$LIBCRYPTOSO:$LIBSSLSO:DEFAULT"; export _RLD64_LIST | ||
| 52 | _RLD64_ROOT=/no/such/dir; export _RLD64_ROOT | ||
| 53 | eval $rld_var=\"/usr/lib64'${'$rld_var':+:$'$rld_var'}'\" | ||
| 54 | preload_var=_RLD64_LIST | ||
| 55 | ;; | ||
| 56 | esac | ||
| 57 | eval $rld_var=\"${THERE}'${'$rld_var':+:$'$rld_var'}'\"; export $rld_var | ||
| 58 | unset rld_var | ||
| 59 | ;; | ||
| 60 | *) LD_LIBRARY_PATH="${THERE}:$LD_LIBRARY_PATH" # Linux, ELF HP-UX | ||
| 61 | DYLD_LIBRARY_PATH="${THERE}:$DYLD_LIBRARY_PATH" # MacOS X | ||
| 62 | SHLIB_PATH="${THERE}:$SHLIB_PATH" # legacy HP-UX | ||
| 63 | LIBPATH="${THERE}:$LIBPATH" # AIX, OS/2 | ||
| 64 | export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH | ||
| 65 | # Even though $PATH is adjusted [for Windows sake], it doesn't | ||
| 66 | # necessarily does the trick. Trouble is that with introduction | ||
| 67 | # of SafeDllSearchMode in XP/2003 it's more appropriate to copy | ||
| 68 | # .DLLs in vicinity of executable, which is done elsewhere... | ||
| 69 | if [ "$OSTYPE" != msdosdjgpp ]; then | ||
| 70 | PATH="${THERE}:$PATH"; export PATH | ||
| 71 | fi | ||
| 72 | ;; | ||
| 73 | esac | ||
| 74 | |||
| 75 | if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then | ||
| 76 | # Following three lines are major excuse for isolating them into | ||
| 77 | # this wrapper script. Original reason for setting LD_PRELOAD | ||
| 78 | # was to make it possible to pass 'make test' when user linked | ||
| 79 | # with -rpath pointing to previous version installation. Wrapping | ||
| 80 | # it into a script makes it possible to do so on multi-ABI | ||
| 81 | # platforms. | ||
| 82 | case "$SYSNAME" in | ||
| 83 | *BSD) LD_PRELOAD="$LIBCRYPTOSO:$LIBSSLSO" ;; # *BSD | ||
| 84 | *) LD_PRELOAD="$LIBCRYPTOSO $LIBSSLSO" ;; # SunOS, Linux, ELF HP-UX | ||
| 85 | esac | ||
| 86 | _RLD_LIST="$LIBCRYPTOSO:$LIBSSLSO:DEFAULT" # Tru64, o32 IRIX | ||
| 87 | DYLD_INSERT_LIBRARIES="$LIBCRYPTOSO:$LIBSSLSO" # MacOS X | ||
| 88 | export LD_PRELOAD _RLD_LIST DYLD_INSERT_LIBRARIES | ||
| 89 | fi | ||
| 90 | |||
| 91 | exec "$@" | ||
diff --git a/src/lib/libcrypto/util/sp-diff.pl b/src/lib/libcrypto/util/sp-diff.pl new file mode 100644 index 0000000000..9d6c60387f --- /dev/null +++ b/src/lib/libcrypto/util/sp-diff.pl | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # This file takes as input, the files that have been output from | ||
| 4 | # ssleay speed. | ||
| 5 | # It prints a table of the relative differences with %100 being 'no difference' | ||
| 6 | # | ||
| 7 | |||
| 8 | ($#ARGV == 1) || die "$0 speedout1 speedout2\n"; | ||
| 9 | |||
| 10 | %one=&loadfile($ARGV[0]); | ||
| 11 | %two=&loadfile($ARGV[1]); | ||
| 12 | |||
| 13 | $line=0; | ||
| 14 | foreach $a ("md2","md4","md5","sha","sha1","rc4","des cfb","des cbc","des ede3", | ||
| 15 | "idea cfb","idea cbc","rc2 cfb","rc2 cbc","blowfish cbc","cast cbc") | ||
| 16 | { | ||
| 17 | if (defined($one{$a,8}) && defined($two{$a,8})) | ||
| 18 | { | ||
| 19 | print "type 8 byte% 64 byte% 256 byte% 1024 byte% 8192 byte%\n" | ||
| 20 | unless $line; | ||
| 21 | $line++; | ||
| 22 | printf "%-12s ",$a; | ||
| 23 | foreach $b (8,64,256,1024,8192) | ||
| 24 | { | ||
| 25 | $r=$two{$a,$b}/$one{$a,$b}*100; | ||
| 26 | printf "%12.2f",$r; | ||
| 27 | } | ||
| 28 | print "\n"; | ||
| 29 | } | ||
| 30 | } | ||
| 31 | |||
| 32 | foreach $a ( | ||
| 33 | "rsa 512","rsa 1024","rsa 2048","rsa 4096", | ||
| 34 | "dsa 512","dsa 1024","dsa 2048", | ||
| 35 | ) | ||
| 36 | { | ||
| 37 | if (defined($one{$a,1}) && defined($two{$a,1})) | ||
| 38 | { | ||
| 39 | $r1=($one{$a,1}/$two{$a,1})*100; | ||
| 40 | $r2=($one{$a,2}/$two{$a,2})*100; | ||
| 41 | printf "$a bits %% %6.2f %% %6.2f\n",$r1,$r2; | ||
| 42 | } | ||
| 43 | } | ||
| 44 | |||
| 45 | sub loadfile | ||
| 46 | { | ||
| 47 | local($file)=@_; | ||
| 48 | local($_,%ret); | ||
| 49 | |||
| 50 | open(IN,"<$file") || die "unable to open '$file' for input\n"; | ||
| 51 | $header=1; | ||
| 52 | while (<IN>) | ||
| 53 | { | ||
| 54 | $header=0 if /^[dr]sa/; | ||
| 55 | if (/^type/) { $header=0; next; } | ||
| 56 | next if $header; | ||
| 57 | chop; | ||
| 58 | @a=split; | ||
| 59 | if ($a[0] =~ /^[dr]sa$/) | ||
| 60 | { | ||
| 61 | ($n,$t1,$t2)=($_ =~ /^([dr]sa\s+\d+)\s+bits\s+([.\d]+)s\s+([.\d]+)/); | ||
| 62 | $ret{$n,1}=$t1; | ||
| 63 | $ret{$n,2}=$t2; | ||
| 64 | } | ||
| 65 | else | ||
| 66 | { | ||
| 67 | $n=join(' ',grep(/[^k]$/,@a)); | ||
| 68 | @k=grep(s/k$//,@a); | ||
| 69 | |||
| 70 | $ret{$n, 8}=$k[0]; | ||
| 71 | $ret{$n, 64}=$k[1]; | ||
| 72 | $ret{$n, 256}=$k[2]; | ||
| 73 | $ret{$n,1024}=$k[3]; | ||
| 74 | $ret{$n,8192}=$k[4]; | ||
| 75 | } | ||
| 76 | } | ||
| 77 | close(IN); | ||
| 78 | return(%ret); | ||
| 79 | } | ||
| 80 | |||
diff --git a/src/lib/libcrypto/util/speed.sh b/src/lib/libcrypto/util/speed.sh new file mode 100644 index 0000000000..f489706197 --- /dev/null +++ b/src/lib/libcrypto/util/speed.sh | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # | ||
| 4 | # This is a ugly script use, in conjuction with editing the 'b' | ||
| 5 | # configuration in the $(TOP)/Configure script which will | ||
| 6 | # output when finished a file called speed.log which is the | ||
| 7 | # timings of SSLeay with various options turned on or off. | ||
| 8 | # | ||
| 9 | # from the $(TOP) directory | ||
| 10 | # Edit Configure, modifying things to do with the b/bl-4c-2c etc | ||
| 11 | # configurations. | ||
| 12 | # | ||
| 13 | |||
| 14 | make clean | ||
| 15 | perl Configure b | ||
| 16 | make | ||
| 17 | apps/ssleay version -v -b -f >speed.1 | ||
| 18 | apps/ssleay speed >speed.1l | ||
| 19 | |||
| 20 | perl Configure bl-4c-2c | ||
| 21 | /bin/rm -f crypto/rc4/*.o crypto/bn/bn*.o crypto/md2/md2_dgst.o | ||
| 22 | make | ||
| 23 | apps/ssleay speed rc4 rsa md2 >speed.2l | ||
| 24 | |||
| 25 | perl Configure bl-4c-ri | ||
| 26 | /bin/rm -f crypto/rc4/rc4*.o | ||
| 27 | make | ||
| 28 | apps/ssleay speed rc4 >speed.3l | ||
| 29 | |||
| 30 | perl Configure b2-is-ri-dp | ||
| 31 | /bin/rm -f crypto/idea/i_*.o crypto/rc4/*.o crypto/des/ecb_enc.o crypto/bn/bn*.o | ||
| 32 | apps/ssleay speed rsa rc4 idea des >speed.4l | ||
| 33 | |||
| 34 | cat speed.1 >speed.log | ||
| 35 | cat speed.1l >>speed.log | ||
| 36 | perl util/sp-diff.pl speed.1l speed.2l >>speed.log | ||
| 37 | perl util/sp-diff.pl speed.1l speed.3l >>speed.log | ||
| 38 | perl util/sp-diff.pl speed.1l speed.4l >>speed.log | ||
| 39 | |||
diff --git a/src/lib/libcrypto/util/src-dep.pl b/src/lib/libcrypto/util/src-dep.pl new file mode 100644 index 0000000000..ad997e4746 --- /dev/null +++ b/src/lib/libcrypto/util/src-dep.pl | |||
| @@ -0,0 +1,147 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | |||
| 3 | # we make up an array of | ||
| 4 | # $file{function_name}=filename; | ||
| 5 | # $unres{filename}="func1 func2 ...." | ||
| 6 | $debug=1; | ||
| 7 | #$nm_func="parse_linux"; | ||
| 8 | $nm_func="parse_solaris"; | ||
| 9 | |||
| 10 | foreach (@ARGV) | ||
| 11 | { | ||
| 12 | &$nm_func($_); | ||
| 13 | } | ||
| 14 | |||
| 15 | foreach $file (sort keys %unres) | ||
| 16 | { | ||
| 17 | @a=split(/\s+/,$unres{$file}); | ||
| 18 | %ff=(); | ||
| 19 | foreach $func (@a) | ||
| 20 | { | ||
| 21 | $f=$file{$func}; | ||
| 22 | $ff{$f}=1 if $f ne ""; | ||
| 23 | } | ||
| 24 | |||
| 25 | foreach $a (keys %ff) | ||
| 26 | { $we_need{$file}.="$a "; } | ||
| 27 | } | ||
| 28 | |||
| 29 | foreach $file (sort keys %we_need) | ||
| 30 | { | ||
| 31 | # print " $file $we_need{$file}\n"; | ||
| 32 | foreach $bit (split(/\s+/,$we_need{$file})) | ||
| 33 | { push(@final,&walk($bit)); } | ||
| 34 | |||
| 35 | foreach (@final) { $fin{$_}=1; } | ||
| 36 | @final=""; | ||
| 37 | foreach (sort keys %fin) | ||
| 38 | { push(@final,$_); } | ||
| 39 | |||
| 40 | print "$file: @final\n"; | ||
| 41 | } | ||
| 42 | |||
| 43 | sub walk | ||
| 44 | { | ||
| 45 | local($f)=@_; | ||
| 46 | local(@a,%seen,@ret,$r); | ||
| 47 | |||
| 48 | @ret=""; | ||
| 49 | $f =~ s/^\s+//; | ||
| 50 | $f =~ s/\s+$//; | ||
| 51 | return "" if ($f =~ "^\s*$"); | ||
| 52 | |||
| 53 | return(split(/\s/,$done{$f})) if defined ($done{$f}); | ||
| 54 | |||
| 55 | return if $in{$f} > 0; | ||
| 56 | $in{$f}++; | ||
| 57 | push(@ret,$f); | ||
| 58 | foreach $r (split(/\s+/,$we_need{$f})) | ||
| 59 | { | ||
| 60 | push(@ret,&walk($r)); | ||
| 61 | } | ||
| 62 | $in{$f}--; | ||
| 63 | $done{$f}=join(" ",@ret); | ||
| 64 | return(@ret); | ||
| 65 | } | ||
| 66 | |||
| 67 | sub parse_linux | ||
| 68 | { | ||
| 69 | local($name)=@_; | ||
| 70 | |||
| 71 | open(IN,"nm $name|") || die "unable to run 'nn $name':$!\n"; | ||
| 72 | while (<IN>) | ||
| 73 | { | ||
| 74 | chop; | ||
| 75 | next if /^\s*$/; | ||
| 76 | if (/^[^[](.*):$/) | ||
| 77 | { | ||
| 78 | $file=$1; | ||
| 79 | $file="$1.c" if /\[(.*).o\]/; | ||
| 80 | print STDERR "$file\n"; | ||
| 81 | $we_need{$file}=" "; | ||
| 82 | next; | ||
| 83 | } | ||
| 84 | |||
| 85 | @a=split(/\s*\|\s*/); | ||
| 86 | next unless $#a == 7; | ||
| 87 | next unless $a[4] eq "GLOB"; | ||
| 88 | if ($a[6] eq "UNDEF") | ||
| 89 | { | ||
| 90 | $unres{$file}.=$a[7]." "; | ||
| 91 | } | ||
| 92 | else | ||
| 93 | { | ||
| 94 | if ($file{$a[7]} ne "") | ||
| 95 | { | ||
| 96 | print STDERR "duplicate definition of $a[7],\n$file{$a[7]} and $file \n"; | ||
| 97 | } | ||
| 98 | else | ||
| 99 | { | ||
| 100 | $file{$a[7]}=$file; | ||
| 101 | } | ||
| 102 | } | ||
| 103 | } | ||
| 104 | close(IN); | ||
| 105 | } | ||
| 106 | |||
| 107 | sub parse_solaris | ||
| 108 | { | ||
| 109 | local($name)=@_; | ||
| 110 | |||
| 111 | open(IN,"nm $name|") || die "unable to run 'nn $name':$!\n"; | ||
| 112 | while (<IN>) | ||
| 113 | { | ||
| 114 | chop; | ||
| 115 | next if /^\s*$/; | ||
| 116 | if (/^(\S+):$/) | ||
| 117 | { | ||
| 118 | $file=$1; | ||
| 119 | #$file="$1.c" if $file =~ /^(.*).o$/; | ||
| 120 | print STDERR "$file\n"; | ||
| 121 | $we_need{$file}=" "; | ||
| 122 | next; | ||
| 123 | } | ||
| 124 | @a=split(/\s*\|\s*/); | ||
| 125 | next unless $#a == 7; | ||
| 126 | next unless $a[4] eq "GLOB"; | ||
| 127 | if ($a[6] eq "UNDEF") | ||
| 128 | { | ||
| 129 | $unres{$file}.=$a[7]." "; | ||
| 130 | print STDERR "$file needs $a[7]\n" if $debug; | ||
| 131 | } | ||
| 132 | else | ||
| 133 | { | ||
| 134 | if ($file{$a[7]} ne "") | ||
| 135 | { | ||
| 136 | print STDERR "duplicate definition of $a[7],\n$file{$a[7]} and $file \n"; | ||
| 137 | } | ||
| 138 | else | ||
| 139 | { | ||
| 140 | $file{$a[7]}=$file; | ||
| 141 | print STDERR "$file has $a[7]\n" if $debug; | ||
| 142 | } | ||
| 143 | } | ||
| 144 | } | ||
| 145 | close(IN); | ||
| 146 | } | ||
| 147 | |||
diff --git a/src/lib/libcrypto/util/ssleay.num b/src/lib/libcrypto/util/ssleay.num new file mode 100644 index 0000000000..2055cc1597 --- /dev/null +++ b/src/lib/libcrypto/util/ssleay.num | |||
| @@ -0,0 +1,244 @@ | |||
| 1 | ERR_load_SSL_strings 1 EXIST::FUNCTION: | ||
| 2 | SSL_CIPHER_description 2 EXIST::FUNCTION: | ||
| 3 | SSL_CTX_add_client_CA 3 EXIST::FUNCTION: | ||
| 4 | SSL_CTX_add_session 4 EXIST::FUNCTION: | ||
| 5 | SSL_CTX_check_private_key 5 EXIST::FUNCTION: | ||
| 6 | SSL_CTX_ctrl 6 EXIST::FUNCTION: | ||
| 7 | SSL_CTX_flush_sessions 7 EXIST::FUNCTION: | ||
| 8 | SSL_CTX_free 8 EXIST::FUNCTION: | ||
| 9 | SSL_CTX_get_client_CA_list 9 EXIST::FUNCTION: | ||
| 10 | SSL_CTX_get_verify_callback 10 EXIST::FUNCTION: | ||
| 11 | SSL_CTX_get_verify_mode 11 EXIST::FUNCTION: | ||
| 12 | SSL_CTX_new 12 EXIST::FUNCTION: | ||
| 13 | SSL_CTX_remove_session 13 EXIST::FUNCTION: | ||
| 14 | SSL_CTX_set_cipher_list 15 EXIST::FUNCTION: | ||
| 15 | SSL_CTX_set_client_CA_list 16 EXIST::FUNCTION: | ||
| 16 | SSL_CTX_set_default_passwd_cb 17 EXIST::FUNCTION: | ||
| 17 | SSL_CTX_set_ssl_version 19 EXIST::FUNCTION: | ||
| 18 | SSL_CTX_set_verify 21 EXIST::FUNCTION: | ||
| 19 | SSL_CTX_use_PrivateKey 22 EXIST::FUNCTION: | ||
| 20 | SSL_CTX_use_PrivateKey_ASN1 23 EXIST::FUNCTION: | ||
| 21 | SSL_CTX_use_PrivateKey_file 24 EXIST::FUNCTION:STDIO | ||
| 22 | SSL_CTX_use_RSAPrivateKey 25 EXIST::FUNCTION:RSA | ||
| 23 | SSL_CTX_use_RSAPrivateKey_ASN1 26 EXIST::FUNCTION:RSA | ||
| 24 | SSL_CTX_use_RSAPrivateKey_file 27 EXIST::FUNCTION:RSA,STDIO | ||
| 25 | SSL_CTX_use_certificate 28 EXIST::FUNCTION: | ||
| 26 | SSL_CTX_use_certificate_ASN1 29 EXIST::FUNCTION: | ||
| 27 | SSL_CTX_use_certificate_file 30 EXIST::FUNCTION:STDIO | ||
| 28 | SSL_SESSION_free 31 EXIST::FUNCTION: | ||
| 29 | SSL_SESSION_new 32 EXIST::FUNCTION: | ||
| 30 | SSL_SESSION_print 33 EXIST::FUNCTION:BIO | ||
| 31 | SSL_SESSION_print_fp 34 EXIST::FUNCTION:FP_API | ||
| 32 | SSL_accept 35 EXIST::FUNCTION: | ||
| 33 | SSL_add_client_CA 36 EXIST::FUNCTION: | ||
| 34 | SSL_alert_desc_string 37 EXIST::FUNCTION: | ||
| 35 | SSL_alert_desc_string_long 38 EXIST::FUNCTION: | ||
| 36 | SSL_alert_type_string 39 EXIST::FUNCTION: | ||
| 37 | SSL_alert_type_string_long 40 EXIST::FUNCTION: | ||
| 38 | SSL_check_private_key 41 EXIST::FUNCTION: | ||
| 39 | SSL_clear 42 EXIST::FUNCTION: | ||
| 40 | SSL_connect 43 EXIST::FUNCTION: | ||
| 41 | SSL_copy_session_id 44 EXIST::FUNCTION: | ||
| 42 | SSL_ctrl 45 EXIST::FUNCTION: | ||
| 43 | SSL_dup 46 EXIST::FUNCTION: | ||
| 44 | SSL_dup_CA_list 47 EXIST::FUNCTION: | ||
| 45 | SSL_free 48 EXIST::FUNCTION: | ||
| 46 | SSL_get_certificate 49 EXIST::FUNCTION: | ||
| 47 | SSL_get_cipher_list 52 EXIST::FUNCTION: | ||
| 48 | SSL_get_ciphers 55 EXIST::FUNCTION: | ||
| 49 | SSL_get_client_CA_list 56 EXIST::FUNCTION: | ||
| 50 | SSL_get_default_timeout 57 EXIST::FUNCTION: | ||
| 51 | SSL_get_error 58 EXIST::FUNCTION: | ||
| 52 | SSL_get_fd 59 EXIST::FUNCTION: | ||
| 53 | SSL_get_peer_cert_chain 60 EXIST::FUNCTION: | ||
| 54 | SSL_get_peer_certificate 61 EXIST::FUNCTION: | ||
| 55 | SSL_get_rbio 63 EXIST::FUNCTION:BIO | ||
| 56 | SSL_get_read_ahead 64 EXIST::FUNCTION: | ||
| 57 | SSL_get_shared_ciphers 65 EXIST::FUNCTION: | ||
| 58 | SSL_get_ssl_method 66 EXIST::FUNCTION: | ||
| 59 | SSL_get_verify_callback 69 EXIST::FUNCTION: | ||
| 60 | SSL_get_verify_mode 70 EXIST::FUNCTION: | ||
| 61 | SSL_get_version 71 EXIST::FUNCTION: | ||
| 62 | SSL_get_wbio 72 EXIST::FUNCTION:BIO | ||
| 63 | SSL_load_client_CA_file 73 EXIST::FUNCTION:STDIO | ||
| 64 | SSL_load_error_strings 74 EXIST::FUNCTION: | ||
| 65 | SSL_new 75 EXIST::FUNCTION: | ||
| 66 | SSL_peek 76 EXIST::FUNCTION: | ||
| 67 | SSL_pending 77 EXIST::FUNCTION: | ||
| 68 | SSL_read 78 EXIST::FUNCTION: | ||
| 69 | SSL_renegotiate 79 EXIST::FUNCTION: | ||
| 70 | SSL_rstate_string 80 EXIST::FUNCTION: | ||
| 71 | SSL_rstate_string_long 81 EXIST::FUNCTION: | ||
| 72 | SSL_set_accept_state 82 EXIST::FUNCTION: | ||
| 73 | SSL_set_bio 83 EXIST::FUNCTION:BIO | ||
| 74 | SSL_set_cipher_list 84 EXIST::FUNCTION: | ||
| 75 | SSL_set_client_CA_list 85 EXIST::FUNCTION: | ||
| 76 | SSL_set_connect_state 86 EXIST::FUNCTION: | ||
| 77 | SSL_set_fd 87 EXIST::FUNCTION:SOCK | ||
| 78 | SSL_set_read_ahead 88 EXIST::FUNCTION: | ||
| 79 | SSL_set_rfd 89 EXIST::FUNCTION:SOCK | ||
| 80 | SSL_set_session 90 EXIST::FUNCTION: | ||
| 81 | SSL_set_ssl_method 91 EXIST::FUNCTION: | ||
| 82 | SSL_set_verify 94 EXIST::FUNCTION: | ||
| 83 | SSL_set_wfd 95 EXIST::FUNCTION:SOCK | ||
| 84 | SSL_shutdown 96 EXIST::FUNCTION: | ||
| 85 | SSL_state_string 97 EXIST::FUNCTION: | ||
| 86 | SSL_state_string_long 98 EXIST::FUNCTION: | ||
| 87 | SSL_use_PrivateKey 99 EXIST::FUNCTION: | ||
| 88 | SSL_use_PrivateKey_ASN1 100 EXIST::FUNCTION: | ||
| 89 | SSL_use_PrivateKey_file 101 EXIST::FUNCTION:STDIO | ||
| 90 | SSL_use_RSAPrivateKey 102 EXIST::FUNCTION:RSA | ||
| 91 | SSL_use_RSAPrivateKey_ASN1 103 EXIST::FUNCTION:RSA | ||
| 92 | SSL_use_RSAPrivateKey_file 104 EXIST::FUNCTION:RSA,STDIO | ||
| 93 | SSL_use_certificate 105 EXIST::FUNCTION: | ||
| 94 | SSL_use_certificate_ASN1 106 EXIST::FUNCTION: | ||
| 95 | SSL_use_certificate_file 107 EXIST::FUNCTION:STDIO | ||
| 96 | SSL_write 108 EXIST::FUNCTION: | ||
| 97 | SSLeay_add_ssl_algorithms 109 NOEXIST::FUNCTION: | ||
| 98 | SSLv23_client_method 110 EXIST::FUNCTION:RSA | ||
| 99 | SSLv23_method 111 EXIST::FUNCTION:RSA | ||
| 100 | SSLv23_server_method 112 EXIST::FUNCTION:RSA | ||
| 101 | SSLv2_client_method 113 EXIST::FUNCTION:RSA | ||
| 102 | SSLv2_method 114 EXIST::FUNCTION:RSA | ||
| 103 | SSLv2_server_method 115 EXIST::FUNCTION:RSA | ||
| 104 | SSLv3_client_method 116 EXIST::FUNCTION: | ||
| 105 | SSLv3_method 117 EXIST::FUNCTION: | ||
| 106 | SSLv3_server_method 118 EXIST::FUNCTION: | ||
| 107 | d2i_SSL_SESSION 119 EXIST::FUNCTION: | ||
| 108 | i2d_SSL_SESSION 120 EXIST::FUNCTION: | ||
| 109 | BIO_f_ssl 121 EXIST::FUNCTION:BIO | ||
| 110 | BIO_new_ssl 122 EXIST::FUNCTION:BIO | ||
| 111 | BIO_proxy_ssl_copy_session_id 123 NOEXIST::FUNCTION: | ||
| 112 | BIO_ssl_copy_session_id 124 EXIST::FUNCTION:BIO | ||
| 113 | SSL_do_handshake 125 EXIST::FUNCTION: | ||
| 114 | SSL_get_privatekey 126 EXIST::FUNCTION: | ||
| 115 | SSL_get_current_cipher 127 EXIST::FUNCTION: | ||
| 116 | SSL_CIPHER_get_bits 128 EXIST::FUNCTION: | ||
| 117 | SSL_CIPHER_get_version 129 EXIST::FUNCTION: | ||
| 118 | SSL_CIPHER_get_name 130 EXIST::FUNCTION: | ||
| 119 | BIO_ssl_shutdown 131 EXIST::FUNCTION:BIO | ||
| 120 | SSL_SESSION_cmp 132 EXIST::FUNCTION: | ||
| 121 | SSL_SESSION_hash 133 EXIST::FUNCTION: | ||
| 122 | SSL_SESSION_get_time 134 EXIST::FUNCTION: | ||
| 123 | SSL_SESSION_set_time 135 EXIST::FUNCTION: | ||
| 124 | SSL_SESSION_get_timeout 136 EXIST::FUNCTION: | ||
| 125 | SSL_SESSION_set_timeout 137 EXIST::FUNCTION: | ||
| 126 | SSL_CTX_get_ex_data 138 EXIST::FUNCTION: | ||
| 127 | SSL_CTX_get_quiet_shutdown 140 EXIST::FUNCTION: | ||
| 128 | SSL_CTX_load_verify_locations 141 EXIST::FUNCTION: | ||
| 129 | SSL_CTX_set_default_verify_paths 142 EXIST:!VMS:FUNCTION: | ||
| 130 | SSL_CTX_set_def_verify_paths 142 EXIST:VMS:FUNCTION: | ||
| 131 | SSL_CTX_set_ex_data 143 EXIST::FUNCTION: | ||
| 132 | SSL_CTX_set_quiet_shutdown 145 EXIST::FUNCTION: | ||
| 133 | SSL_SESSION_get_ex_data 146 EXIST::FUNCTION: | ||
| 134 | SSL_SESSION_set_ex_data 148 EXIST::FUNCTION: | ||
| 135 | SSL_get_SSL_CTX 150 EXIST::FUNCTION: | ||
| 136 | SSL_get_ex_data 151 EXIST::FUNCTION: | ||
| 137 | SSL_get_quiet_shutdown 153 EXIST::FUNCTION: | ||
| 138 | SSL_get_session 154 EXIST::FUNCTION: | ||
| 139 | SSL_get_shutdown 155 EXIST::FUNCTION: | ||
| 140 | SSL_get_verify_result 157 EXIST::FUNCTION: | ||
| 141 | SSL_set_ex_data 158 EXIST::FUNCTION: | ||
| 142 | SSL_set_info_callback 160 EXIST::FUNCTION: | ||
| 143 | SSL_set_quiet_shutdown 161 EXIST::FUNCTION: | ||
| 144 | SSL_set_shutdown 162 EXIST::FUNCTION: | ||
| 145 | SSL_set_verify_result 163 EXIST::FUNCTION: | ||
| 146 | SSL_version 164 EXIST::FUNCTION: | ||
| 147 | SSL_get_info_callback 165 EXIST::FUNCTION: | ||
| 148 | SSL_state 166 EXIST::FUNCTION: | ||
| 149 | SSL_CTX_get_ex_new_index 167 EXIST::FUNCTION: | ||
| 150 | SSL_SESSION_get_ex_new_index 168 EXIST::FUNCTION: | ||
| 151 | SSL_get_ex_new_index 169 EXIST::FUNCTION: | ||
| 152 | TLSv1_method 170 EXIST::FUNCTION: | ||
| 153 | TLSv1_server_method 171 EXIST::FUNCTION: | ||
| 154 | TLSv1_client_method 172 EXIST::FUNCTION: | ||
| 155 | BIO_new_buffer_ssl_connect 173 EXIST::FUNCTION:BIO | ||
| 156 | BIO_new_ssl_connect 174 EXIST::FUNCTION:BIO | ||
| 157 | SSL_get_ex_data_X509_STORE_CTX_idx 175 EXIST:!VMS:FUNCTION: | ||
| 158 | SSL_get_ex_d_X509_STORE_CTX_idx 175 EXIST:VMS:FUNCTION: | ||
| 159 | SSL_CTX_set_tmp_dh_callback 176 EXIST::FUNCTION:DH | ||
| 160 | SSL_CTX_set_tmp_rsa_callback 177 EXIST::FUNCTION:RSA | ||
| 161 | SSL_CTX_set_timeout 178 EXIST::FUNCTION: | ||
| 162 | SSL_CTX_get_timeout 179 EXIST::FUNCTION: | ||
| 163 | SSL_CTX_get_cert_store 180 EXIST::FUNCTION: | ||
| 164 | SSL_CTX_set_cert_store 181 EXIST::FUNCTION: | ||
| 165 | SSL_want 182 EXIST::FUNCTION: | ||
| 166 | SSL_library_init 183 EXIST::FUNCTION: | ||
| 167 | SSL_COMP_add_compression_method 184 EXIST::FUNCTION:COMP | ||
| 168 | SSL_add_file_cert_subjects_to_stack 185 EXIST:!VMS:FUNCTION:STDIO | ||
| 169 | SSL_add_file_cert_subjs_to_stk 185 EXIST:VMS:FUNCTION:STDIO | ||
| 170 | SSL_set_tmp_rsa_callback 186 EXIST::FUNCTION:RSA | ||
| 171 | SSL_set_tmp_dh_callback 187 EXIST::FUNCTION:DH | ||
| 172 | SSL_add_dir_cert_subjects_to_stack 188 EXIST:!VMS:FUNCTION:STDIO | ||
| 173 | SSL_add_dir_cert_subjs_to_stk 188 EXIST:VMS:FUNCTION:STDIO | ||
| 174 | SSL_set_session_id_context 189 EXIST::FUNCTION: | ||
| 175 | SSL_CTX_use_certificate_chain_file 222 EXIST:!VMS:FUNCTION:STDIO | ||
| 176 | SSL_CTX_use_cert_chain_file 222 EXIST:VMS:FUNCTION:STDIO | ||
| 177 | SSL_CTX_set_verify_depth 225 EXIST::FUNCTION: | ||
| 178 | SSL_set_verify_depth 226 EXIST::FUNCTION: | ||
| 179 | SSL_CTX_get_verify_depth 228 EXIST::FUNCTION: | ||
| 180 | SSL_get_verify_depth 229 EXIST::FUNCTION: | ||
| 181 | SSL_CTX_set_session_id_context 231 EXIST::FUNCTION: | ||
| 182 | SSL_CTX_set_cert_verify_callback 232 EXIST:!VMS:FUNCTION: | ||
| 183 | SSL_CTX_set_cert_verify_cb 232 EXIST:VMS:FUNCTION: | ||
| 184 | SSL_CTX_set_default_passwd_cb_userdata 235 EXIST:!VMS:FUNCTION: | ||
| 185 | SSL_CTX_set_def_passwd_cb_ud 235 EXIST:VMS:FUNCTION: | ||
| 186 | SSL_set_purpose 236 EXIST::FUNCTION: | ||
| 187 | SSL_CTX_set_trust 237 EXIST::FUNCTION: | ||
| 188 | SSL_CTX_set_purpose 238 EXIST::FUNCTION: | ||
| 189 | SSL_set_trust 239 EXIST::FUNCTION: | ||
| 190 | SSL_get_finished 240 EXIST::FUNCTION: | ||
| 191 | SSL_get_peer_finished 241 EXIST::FUNCTION: | ||
| 192 | SSL_get1_session 242 EXIST::FUNCTION: | ||
| 193 | SSL_CTX_callback_ctrl 243 EXIST::FUNCTION: | ||
| 194 | SSL_callback_ctrl 244 EXIST::FUNCTION: | ||
| 195 | SSL_CTX_sessions 245 EXIST::FUNCTION: | ||
| 196 | SSL_get_rfd 246 EXIST::FUNCTION: | ||
| 197 | SSL_get_wfd 247 EXIST::FUNCTION: | ||
| 198 | kssl_cget_tkt 248 EXIST::FUNCTION:KRB5 | ||
| 199 | SSL_has_matching_session_id 249 EXIST::FUNCTION: | ||
| 200 | kssl_err_set 250 EXIST::FUNCTION:KRB5 | ||
| 201 | kssl_ctx_show 251 EXIST::FUNCTION:KRB5 | ||
| 202 | kssl_validate_times 252 EXIST::FUNCTION:KRB5 | ||
| 203 | kssl_check_authent 253 EXIST::FUNCTION:KRB5 | ||
| 204 | kssl_ctx_new 254 EXIST::FUNCTION:KRB5 | ||
| 205 | kssl_build_principal_2 255 EXIST::FUNCTION:KRB5 | ||
| 206 | kssl_skip_confound 256 EXIST::FUNCTION:KRB5 | ||
| 207 | kssl_sget_tkt 257 EXIST::FUNCTION:KRB5 | ||
| 208 | SSL_set_generate_session_id 258 EXIST::FUNCTION: | ||
| 209 | kssl_ctx_setkey 259 EXIST::FUNCTION:KRB5 | ||
| 210 | kssl_ctx_setprinc 260 EXIST::FUNCTION:KRB5 | ||
| 211 | kssl_ctx_free 261 EXIST::FUNCTION:KRB5 | ||
| 212 | kssl_krb5_free_data_contents 262 EXIST::FUNCTION:KRB5 | ||
| 213 | kssl_ctx_setstring 263 EXIST::FUNCTION:KRB5 | ||
| 214 | SSL_CTX_set_generate_session_id 264 EXIST::FUNCTION: | ||
| 215 | SSL_renegotiate_pending 265 EXIST::FUNCTION: | ||
| 216 | SSL_CTX_set_msg_callback 266 EXIST::FUNCTION: | ||
| 217 | SSL_set_msg_callback 267 EXIST::FUNCTION: | ||
| 218 | DTLSv1_client_method 268 EXIST::FUNCTION: | ||
| 219 | SSL_CTX_set_tmp_ecdh_callback 269 EXIST::FUNCTION:ECDH | ||
| 220 | SSL_set_tmp_ecdh_callback 270 EXIST::FUNCTION:ECDH | ||
| 221 | SSL_COMP_get_name 271 EXIST::FUNCTION:COMP | ||
| 222 | SSL_get_current_compression 272 EXIST::FUNCTION:COMP | ||
| 223 | DTLSv1_method 273 EXIST::FUNCTION: | ||
| 224 | SSL_get_current_expansion 274 EXIST::FUNCTION:COMP | ||
| 225 | DTLSv1_server_method 275 EXIST::FUNCTION: | ||
| 226 | SSL_COMP_get_compression_methods 276 EXIST:!VMS:FUNCTION:COMP | ||
| 227 | SSL_COMP_get_compress_methods 276 EXIST:VMS:FUNCTION:COMP | ||
| 228 | SSL_SESSION_get_id 277 EXIST::FUNCTION: | ||
| 229 | SSL_CTX_sess_set_new_cb 278 EXIST::FUNCTION: | ||
| 230 | SSL_CTX_sess_get_get_cb 279 EXIST::FUNCTION: | ||
| 231 | SSL_CTX_sess_set_get_cb 280 EXIST::FUNCTION: | ||
| 232 | SSL_CTX_set_cookie_verify_cb 281 EXIST::FUNCTION: | ||
| 233 | SSL_CTX_get_info_callback 282 EXIST::FUNCTION: | ||
| 234 | SSL_CTX_set_cookie_generate_cb 283 EXIST::FUNCTION: | ||
| 235 | SSL_CTX_set_client_cert_cb 284 EXIST::FUNCTION: | ||
| 236 | SSL_CTX_sess_set_remove_cb 285 EXIST::FUNCTION: | ||
| 237 | SSL_CTX_set_info_callback 286 EXIST::FUNCTION: | ||
| 238 | SSL_CTX_sess_get_new_cb 287 EXIST::FUNCTION: | ||
| 239 | SSL_CTX_get_client_cert_cb 288 EXIST::FUNCTION: | ||
| 240 | SSL_CTX_sess_get_remove_cb 289 EXIST::FUNCTION: | ||
| 241 | SSL_set_SSL_CTX 290 EXIST::FUNCTION: | ||
| 242 | SSL_get_servername 291 EXIST::FUNCTION:TLSEXT | ||
| 243 | SSL_get_servername_type 292 EXIST::FUNCTION:TLSEXT | ||
| 244 | SSL_CTX_set_client_cert_engine 293 EXIST::FUNCTION:ENGINE | ||
diff --git a/src/lib/libcrypto/util/tab_num.pl b/src/lib/libcrypto/util/tab_num.pl new file mode 100644 index 0000000000..a81ed0edc2 --- /dev/null +++ b/src/lib/libcrypto/util/tab_num.pl | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | |||
| 3 | $num=1; | ||
| 4 | $width=40; | ||
| 5 | |||
| 6 | while (<>) | ||
| 7 | { | ||
| 8 | chop; | ||
| 9 | |||
| 10 | $i=length($_); | ||
| 11 | |||
| 12 | $n=$width-$i; | ||
| 13 | $i=int(($n+7)/8); | ||
| 14 | print $_.("\t" x $i).$num."\n"; | ||
| 15 | $num++; | ||
| 16 | } | ||
| 17 | |||
diff --git a/src/lib/libcrypto/util/x86asm.sh b/src/lib/libcrypto/util/x86asm.sh new file mode 100644 index 0000000000..d2090a9849 --- /dev/null +++ b/src/lib/libcrypto/util/x86asm.sh | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | echo Generating x86 assember | ||
| 4 | echo Bignum | ||
| 5 | (cd crypto/bn/asm; perl x86.pl cpp > bn86unix.cpp) | ||
| 6 | (cd crypto/bn/asm; perl x86.pl win32 > bn-win32.asm) | ||
| 7 | |||
| 8 | echo DES | ||
| 9 | (cd crypto/des/asm; perl des-586.pl cpp > dx86unix.cpp) | ||
| 10 | (cd crypto/des/asm; perl des-586.pl win32 > d-win32.asm) | ||
| 11 | |||
| 12 | echo "crypt(3)" | ||
| 13 | (cd crypto/des/asm; perl crypt586.pl cpp > yx86unix.cpp) | ||
| 14 | (cd crypto/des/asm; perl crypt586.pl win32 > y-win32.asm) | ||
| 15 | |||
| 16 | echo Blowfish | ||
| 17 | (cd crypto/bf/asm; perl bf-586.pl cpp > bx86unix.cpp) | ||
| 18 | (cd crypto/bf/asm; perl bf-586.pl win32 > b-win32.asm) | ||
| 19 | |||
| 20 | echo CAST5 | ||
| 21 | (cd crypto/cast/asm; perl cast-586.pl cpp > cx86unix.cpp) | ||
| 22 | (cd crypto/cast/asm; perl cast-586.pl win32 > c-win32.asm) | ||
| 23 | |||
| 24 | echo RC4 | ||
| 25 | (cd crypto/rc4/asm; perl rc4-586.pl cpp > rx86unix.cpp) | ||
| 26 | (cd crypto/rc4/asm; perl rc4-586.pl win32 > r4-win32.asm) | ||
| 27 | |||
| 28 | echo MD5 | ||
| 29 | (cd crypto/md5/asm; perl md5-586.pl cpp > mx86unix.cpp) | ||
| 30 | (cd crypto/md5/asm; perl md5-586.pl win32 > m5-win32.asm) | ||
| 31 | |||
| 32 | echo SHA1 | ||
| 33 | (cd crypto/sha/asm; perl sha1-586.pl cpp > sx86unix.cpp) | ||
| 34 | (cd crypto/sha/asm; perl sha1-586.pl win32 > s1-win32.asm) | ||
| 35 | |||
| 36 | echo RIPEMD160 | ||
| 37 | (cd crypto/ripemd/asm; perl rmd-586.pl cpp > rm86unix.cpp) | ||
| 38 | (cd crypto/ripemd/asm; perl rmd-586.pl win32 > rm-win32.asm) | ||
| 39 | |||
| 40 | echo RC5/32 | ||
| 41 | (cd crypto/rc5/asm; perl rc5-586.pl cpp > r586unix.cpp) | ||
| 42 | (cd crypto/rc5/asm; perl rc5-586.pl win32 > r5-win32.asm) | ||
