Import of old SSLeay release: SSLeay 0.8.1b
This commit is contained in:
6
util/FreeBSD.sh
Executable file
6
util/FreeBSD.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
perl util/perlpath.pl /usr/bin
|
||||
perl util/ssldir.pl /usr/local
|
||||
perl util/mk1mf.pl FreeBSD >Makefile.FreeBSD
|
||||
perl Configure FreeBSD
|
||||
123
util/add_cr.pl
Executable file
123
util/add_cr.pl
Executable file
@@ -0,0 +1,123 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# This adds a copyright message to a souce code file.
|
||||
# It also gets the file name correct.
|
||||
#
|
||||
# perl util/add_cr.pl *.[ch] */*.[ch] */*/*.[ch]
|
||||
#
|
||||
|
||||
foreach (@ARGV)
|
||||
{
|
||||
&dofile($_);
|
||||
}
|
||||
|
||||
sub dofile
|
||||
{
|
||||
local($file)=@_;
|
||||
|
||||
open(IN,"<$file") || die "unable to open $file:$!\n";
|
||||
|
||||
print STDERR "doing $file\n";
|
||||
@in=<IN>;
|
||||
|
||||
return(1) if ($in[0] =~ / NOCW /);
|
||||
|
||||
@out=();
|
||||
open(OUT,">$file.out") || die "unable to open $file.$$:$!\n";
|
||||
push(@out,"/* $file */\n");
|
||||
if (($in[1] !~ /^\/\* Copyright \(C\) [0-9-]+ Eric Young \(eay\@cryptsoft.com\)/))
|
||||
{
|
||||
push(@out,&Copyright);
|
||||
$i=2;
|
||||
@a=grep(/ Copyright \(C\) /,@in);
|
||||
if ($#a >= 0)
|
||||
{
|
||||
while (($i <= $#in) && ($in[$i] ne " */\n"))
|
||||
{ $i++; }
|
||||
$i++ if ($in[$i] eq " */\n");
|
||||
|
||||
while (($i <= $#in) && ($in[$i] =~ /^\s*$/))
|
||||
{ $i++; }
|
||||
|
||||
push(@out,"\n");
|
||||
for ( ; $i <= $#in; $i++)
|
||||
{ push(@out,$in[$i]); }
|
||||
}
|
||||
else
|
||||
{ push(@out,@in); }
|
||||
}
|
||||
else
|
||||
{
|
||||
shift(@in);
|
||||
push(@out,@in);
|
||||
}
|
||||
print OUT @out;
|
||||
close(IN);
|
||||
close(OUT);
|
||||
rename("$file","$file.orig") || die "unable to rename $file:$!\n";
|
||||
rename("$file.out",$file) || die "unable to rename $file.out:$!\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub Copyright
|
||||
{
|
||||
return <<'EOF';
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
* by Eric Young (eay@cryptsoft.com).
|
||||
* The implementation was written so as to conform with Netscapes SSL.
|
||||
*
|
||||
* This library is free for commercial and non-commercial use as long as
|
||||
* the following conditions are aheared to. The following conditions
|
||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||
* included with this distribution is covered by the same copyright terms
|
||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
* the code are not to be removed.
|
||||
* If this package is used in a product, Eric Young should be given attribution
|
||||
* as the author of the parts of the library used.
|
||||
* This can be in the form of a textual message at program startup or
|
||||
* in documentation (online or textual) provided with the package.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* "This product includes cryptographic software written by
|
||||
* Eric Young (eay@cryptsoft.com)"
|
||||
* The word 'cryptographic' can be left out if the rouines from the library
|
||||
* being used are not cryptographic related :-).
|
||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||
* the apps directory (application code) you must include an acknowledgement:
|
||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* The licence and distribution terms for any publically available version or
|
||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
||||
* copied and put under another distribution licence
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
EOF
|
||||
}
|
||||
44
util/ck_errf.pl
Executable file
44
util/ck_errf.pl
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# This is just a quick script to scan for cases where the 'error'
|
||||
# function name in a XXXerr() macro is wrong.
|
||||
#
|
||||
# Run in the top level by going
|
||||
# perl util/ck_errf.pl */*.c */*/*.c
|
||||
#
|
||||
|
||||
foreach $file (@ARGV)
|
||||
{
|
||||
open(IN,"<$file") || die "unable to open $file\n";
|
||||
$func="";
|
||||
while (<IN>)
|
||||
{
|
||||
if (/^[a-zA-Z].+[\s*]([A-Za-z_0-9]+)\(.*\)/)
|
||||
{
|
||||
$func=$1;
|
||||
$func =~ tr/A-Z/a-z/;
|
||||
}
|
||||
if (/([A-Z0-9]+)err\(([^,]+)/)
|
||||
{
|
||||
next if ($func eq "");
|
||||
$errlib=$1;
|
||||
$n=$2;
|
||||
if ($n !~ /([^_]+)_F_(.+)$/)
|
||||
{
|
||||
# print "check -$file:$.:$func:$n\n";
|
||||
next;
|
||||
}
|
||||
$lib=$1;
|
||||
$n=$2;
|
||||
|
||||
if ($lib ne $errlib)
|
||||
{ print "$file:$.:$func:$n\n"; next; }
|
||||
|
||||
$n =~ tr/A-Z/a-z/;
|
||||
if (($n ne $func) && ($errlib ne "SYS"))
|
||||
{ print "$file:$.:$func:$n\n"; next; }
|
||||
# print "$func:$1\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
7
util/deleof.pl
Executable file
7
util/deleof.pl
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/local/bin/perl
|
||||
|
||||
while (<>)
|
||||
{
|
||||
print
|
||||
last if (/^# DO NOT DELETE THIS LINE/);
|
||||
}
|
||||
17
util/do_ms.sh
Executable file
17
util/do_ms.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# generate the Microsoft makefiles and .def files
|
||||
#
|
||||
|
||||
PATH=util:../util:$PATH
|
||||
|
||||
# perl util/mk1mf.pl VC-MSDOS no-sock >ms/msdos.mak
|
||||
# perl util/mk1mf.pl VC-W31-32 >ms/w31.mak
|
||||
perl util/mk1mf.pl VC-W31-32 dll >ms/w31dll.mak
|
||||
# perl util/mk1mf.pl VC-WIN32 >ms/nt.mak
|
||||
perl util/mk1mf.pl VC-WIN32 dll >ms/ntdll.mak
|
||||
|
||||
perl util/mkdef.pl 16 libeay > ms/libeay16.def
|
||||
perl util/mkdef.pl 32 libeay > ms/libeay32.def
|
||||
perl util/mkdef.pl 16 ssleay > ms/ssleay16.def
|
||||
perl util/mkdef.pl 32 ssleay > ms/ssleay32.def
|
||||
33
util/err-ins.pl
Executable file
33
util/err-ins.pl
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# tack error codes onto the end of a file
|
||||
#
|
||||
|
||||
open(ERR,$ARGV[0]) || die "unable to open error file '$ARGV[0]':$!\n";
|
||||
@err=<ERR>;
|
||||
close(ERR);
|
||||
|
||||
open(IN,$ARGV[1]) || die "unable to open header file '$ARGV[1]':$!\n";
|
||||
|
||||
@out="";
|
||||
while (<IN>)
|
||||
{
|
||||
push(@out,$_);
|
||||
last if /BEGIN ERROR CODES/;
|
||||
}
|
||||
close(IN);
|
||||
|
||||
open(OUT,">$ARGV[1]") || die "unable to open header file '$ARGV[1]':$1\n";
|
||||
print OUT @out;
|
||||
print OUT @err;
|
||||
print OUT <<"EOF";
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
EOF
|
||||
close(OUT);
|
||||
|
||||
|
||||
61
util/files.pl
Executable file
61
util/files.pl
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# used to generate the file MINFO for use by util/mk1mf.pl
|
||||
# It is basically a list of all variables from the passed makefile
|
||||
#
|
||||
|
||||
$s="";
|
||||
while (<>)
|
||||
{
|
||||
chop;
|
||||
s/#.*//;
|
||||
if (/^(\S+)\s*=\s*(.*)$/)
|
||||
{
|
||||
$o="";
|
||||
($s,$b)=($1,$2);
|
||||
for (;;)
|
||||
{
|
||||
if ($b =~ /\\$/)
|
||||
{
|
||||
chop($b);
|
||||
$o.=$b." ";
|
||||
$b=<>;
|
||||
chop($b);
|
||||
}
|
||||
else
|
||||
{
|
||||
$o.=$b." ";
|
||||
last;
|
||||
}
|
||||
}
|
||||
$o =~ s/^\s+//;
|
||||
$o =~ s/\s+$//;
|
||||
$o =~ s/\s+/ /g;
|
||||
|
||||
$o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
|
||||
$sym{$s}=$o;
|
||||
}
|
||||
}
|
||||
|
||||
$pwd=`pwd`; chop($pwd);
|
||||
|
||||
if ($sym{'TOP'} eq ".")
|
||||
{
|
||||
$n=0;
|
||||
$dir=".";
|
||||
}
|
||||
else {
|
||||
$n=split(/\//,$sym{'TOP'});
|
||||
@_=split(/\//,$pwd);
|
||||
$z=$#_-$n+1;
|
||||
foreach $i ($z .. $#_) { $dir.=$_[$i]."/"; }
|
||||
chop($dir);
|
||||
}
|
||||
|
||||
print "RELATIVE_DIRECTORY=$dir\n";
|
||||
|
||||
foreach (sort keys %sym)
|
||||
{
|
||||
print "$_=$sym{$_}\n";
|
||||
}
|
||||
print "RELATIVE_DIRECTORY=\n";
|
||||
14
util/fixNT.sh
Executable file
14
util/fixNT.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# clean up the mess that NT makes of my source tree
|
||||
#
|
||||
|
||||
if [ -f makefile.ssl -a ! -f Makefile.ssl ]; then
|
||||
/bin/mv makefile.ssl Makefile.ssl
|
||||
fi
|
||||
chmod +x Configure util/*
|
||||
echo cleaning
|
||||
/bin/rm -f `find . -name '*.$$$' -print` 2>/dev/null >/dev/null
|
||||
echo 'removing those damn ^M'
|
||||
perl -pi -e 's/\015//' * */* */*/* 2>/dev/null >/dev/null
|
||||
make -f Makefile.ssl links
|
||||
108
util/install.sh
Executable file
108
util/install.sh
Executable file
@@ -0,0 +1,108 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5; it is not part of GNU.
|
||||
#
|
||||
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
#
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
doit="${DOITPROG:-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG:-mv}"
|
||||
cpprog="${CPPROG:-cp}"
|
||||
chmodprog="${CHMODPROG:-chmod}"
|
||||
chownprog="${CHOWNPROG:-chown}"
|
||||
chgrpprog="${CHGRPPROG:-chgrp}"
|
||||
stripprog="${STRIPPROG:-strip}"
|
||||
rmprog="${RMPROG:-rm}"
|
||||
|
||||
instcmd="$mvprog"
|
||||
chmodcmd=""
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
src=""
|
||||
dst=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# if destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
fi
|
||||
|
||||
|
||||
# get rid of the old one and mode the new one in
|
||||
|
||||
$doit $rmcmd $dst
|
||||
$doit $instcmd $src $dst
|
||||
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; fi
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; fi
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; fi
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; fi
|
||||
|
||||
exit 0
|
||||
955
util/libeay.num
Executable file
955
util/libeay.num
Executable file
@@ -0,0 +1,955 @@
|
||||
SSLeay 1
|
||||
SSLeay_version 2
|
||||
ASN1_BIT_STRING_asn1_meth 3
|
||||
ASN1_HEADER_free 4
|
||||
ASN1_HEADER_new 5
|
||||
ASN1_IA5STRING_asn1_meth 6
|
||||
ASN1_INTEGER_get 7
|
||||
ASN1_INTEGER_set 8
|
||||
ASN1_INTEGER_to_BN 9
|
||||
ASN1_OBJECT_create 10
|
||||
ASN1_OBJECT_free 11
|
||||
ASN1_OBJECT_new 12
|
||||
ASN1_PRINTABLE_type 13
|
||||
ASN1_STRING_cmp 14
|
||||
ASN1_STRING_dup 15
|
||||
ASN1_STRING_free 16
|
||||
ASN1_STRING_new 17
|
||||
ASN1_STRING_print 18
|
||||
ASN1_STRING_set 19
|
||||
ASN1_STRING_type_new 20
|
||||
ASN1_TYPE_free 21
|
||||
ASN1_TYPE_new 22
|
||||
ASN1_UNIVERSALSTRING_to_string 23
|
||||
ASN1_UTCTIME_check 24
|
||||
ASN1_UTCTIME_print 25
|
||||
ASN1_UTCTIME_set 26
|
||||
ASN1_check_infinite_end 27
|
||||
ASN1_d2i_bio 28
|
||||
ASN1_d2i_fp 29
|
||||
ASN1_digest 30
|
||||
ASN1_dup 31
|
||||
ASN1_get_object 32
|
||||
ASN1_i2d_bio 33
|
||||
ASN1_i2d_fp 34
|
||||
ASN1_object_size 35
|
||||
ASN1_parse 36
|
||||
ASN1_put_object 37
|
||||
ASN1_sign 38
|
||||
ASN1_verify 39
|
||||
BF_cbc_encrypt 40
|
||||
BF_cfb64_encrypt 41
|
||||
BF_ecb_encrypt 42
|
||||
BF_encrypt 43
|
||||
BF_ofb64_encrypt 44
|
||||
BF_options 45
|
||||
BF_set_key 46
|
||||
BIO_CONNECT_free 47
|
||||
BIO_CONNECT_new 48
|
||||
BIO_PROXY_free 49
|
||||
BIO_PROXY_new 50
|
||||
BIO_accept 51
|
||||
BIO_ctrl 52
|
||||
BIO_ctrl_int 53
|
||||
BIO_debug_callback 54
|
||||
BIO_dump 55
|
||||
BIO_dup_chain 56
|
||||
BIO_f_base64 57
|
||||
BIO_f_buffer 58
|
||||
BIO_f_cipher 59
|
||||
BIO_f_md 60
|
||||
BIO_f_null 61
|
||||
BIO_f_proxy_server 62
|
||||
BIO_fd_non_fatal_error 63
|
||||
BIO_fd_should_retry 64
|
||||
BIO_find_type 65
|
||||
BIO_free 66
|
||||
BIO_free_all 67
|
||||
BIO_get_accept 68
|
||||
BIO_get_accept_socket 69
|
||||
BIO_get_filter_bio 70
|
||||
BIO_get_host_ip 71
|
||||
BIO_get_port 72
|
||||
BIO_get_retry_BIO 73
|
||||
BIO_get_retry_reason 74
|
||||
BIO_gethostbyname 75
|
||||
BIO_gets 76
|
||||
BIO_nbio_sock_error 77
|
||||
BIO_new 78
|
||||
BIO_new_accept 79
|
||||
BIO_new_connect 80
|
||||
BIO_new_fd 81
|
||||
BIO_new_file 82
|
||||
BIO_new_fp 83
|
||||
BIO_new_socket 84
|
||||
BIO_pop 85
|
||||
BIO_printf 86
|
||||
BIO_push 87
|
||||
BIO_puts 88
|
||||
BIO_read 89
|
||||
BIO_s_accept 90
|
||||
BIO_s_connect 91
|
||||
BIO_s_fd 92
|
||||
BIO_s_file 93
|
||||
BIO_s_file_internal_w16 94
|
||||
BIO_s_mem 95
|
||||
BIO_s_null 96
|
||||
BIO_s_proxy_client 97
|
||||
BIO_s_socket 98
|
||||
BIO_s_socket 99
|
||||
BIO_set 100
|
||||
BIO_set_cipher 101
|
||||
BIO_set_tcp_ndelay 102
|
||||
BIO_sock_cleanup 103
|
||||
BIO_sock_error 104
|
||||
BIO_sock_init 105
|
||||
BIO_sock_non_fatal_error 106
|
||||
BIO_sock_should_retry 107
|
||||
BIO_socket_ioctl 108
|
||||
BIO_write 109
|
||||
BN_CTX_free 110
|
||||
BN_CTX_new 111
|
||||
BN_MONT_CTX_free 112
|
||||
BN_MONT_CTX_new 113
|
||||
BN_MONT_CTX_set 114
|
||||
BN_add 115
|
||||
BN_add_word 116
|
||||
BN_ascii2bn 117
|
||||
BN_bin2bn 118
|
||||
BN_bn2ascii 119
|
||||
BN_bn2bin 120
|
||||
BN_clear 121
|
||||
BN_clear_bit 122
|
||||
BN_clear_free 123
|
||||
BN_cmp 124
|
||||
BN_copy 125
|
||||
BN_div 126
|
||||
BN_div_word 127
|
||||
BN_dup 128
|
||||
BN_free 129
|
||||
BN_from_montgomery 130
|
||||
BN_gcd 131
|
||||
BN_generate_prime 132
|
||||
BN_get_word 133
|
||||
BN_is_bit_set 134
|
||||
BN_is_prime 135
|
||||
BN_lshift 136
|
||||
BN_lshift1 137
|
||||
BN_mask_bits 138
|
||||
BN_mod 139
|
||||
BN_mod_exp 140
|
||||
BN_mod_exp_mont 141
|
||||
BN_mod_exp_recp 142
|
||||
BN_mod_exp_simple 143
|
||||
BN_mod_inverse 144
|
||||
BN_mod_mul 145
|
||||
BN_mod_mul_montgomery 146
|
||||
BN_mod_mul_reciprocal 147
|
||||
BN_mod_word 148
|
||||
BN_mul 149
|
||||
BN_new 150
|
||||
BN_num_bits 151
|
||||
BN_num_bits_word 152
|
||||
BN_options 153
|
||||
BN_print 154
|
||||
BN_print_fp 155
|
||||
BN_rand 156
|
||||
BN_reciprocal 157
|
||||
BN_rshift 158
|
||||
BN_rshift1 159
|
||||
BN_set_bit 160
|
||||
BN_set_word 161
|
||||
BN_sqr 162
|
||||
BN_sub 163
|
||||
BN_to_ASN1_INTEGER 164
|
||||
BN_ucmp 165
|
||||
BN_value_one 166
|
||||
BUF_MEM_free 167
|
||||
BUF_MEM_grow 168
|
||||
BUF_MEM_new 169
|
||||
BUF_strdup 170
|
||||
CONF_free 171
|
||||
CONF_get_number 172
|
||||
CONF_get_section 173
|
||||
CONF_get_string 174
|
||||
CONF_load 175
|
||||
CRYPTO_add_lock 176
|
||||
CRYPTO_dbg_free 177
|
||||
CRYPTO_dbg_malloc 178
|
||||
CRYPTO_dbg_realloc 179
|
||||
CRYPTO_dbg_remalloc 180
|
||||
CRYPTO_free 181
|
||||
CRYPTO_get_add_lock_callback 182
|
||||
CRYPTO_get_id_callback 183
|
||||
CRYPTO_get_lock_name 184
|
||||
CRYPTO_get_locking_callback 185
|
||||
CRYPTO_get_mem_functions 186
|
||||
CRYPTO_lock 187
|
||||
CRYPTO_malloc 188
|
||||
CRYPTO_mem_ctrl 189
|
||||
CRYPTO_mem_leaks 190
|
||||
CRYPTO_mem_leaks_cb 191
|
||||
CRYPTO_mem_leaks_fp 192
|
||||
CRYPTO_realloc 193
|
||||
CRYPTO_remalloc 194
|
||||
CRYPTO_set_add_lock_callback 195
|
||||
CRYPTO_set_id_callback 196
|
||||
CRYPTO_set_locking_callback 197
|
||||
CRYPTO_set_mem_functions 198
|
||||
CRYPTO_thread_id 199
|
||||
DH_check 200
|
||||
DH_compute_key 201
|
||||
DH_free 202
|
||||
DH_generate_key 203
|
||||
DH_generate_parameters 204
|
||||
DH_new 205
|
||||
DH_size 206
|
||||
DHparams_print 207
|
||||
DHparams_print_fp 208
|
||||
DSA_free 209
|
||||
DSA_generate_key 210
|
||||
DSA_generate_parameters 211
|
||||
DSA_is_prime 212
|
||||
DSA_new 213
|
||||
DSA_print 214
|
||||
DSA_print_fp 215
|
||||
DSA_sign 216
|
||||
DSA_sign_setup 217
|
||||
DSA_size 218
|
||||
DSA_verify 219
|
||||
DSAparams_print 220
|
||||
DSAparams_print_fp 221
|
||||
ERR_clear_error 222
|
||||
ERR_error_string 223
|
||||
ERR_free_strings 224
|
||||
ERR_func_error_string 225
|
||||
ERR_get_err_state_table 226
|
||||
ERR_get_error 227
|
||||
ERR_get_error_line 228
|
||||
ERR_get_state 229
|
||||
ERR_get_string_table 230
|
||||
ERR_lib_error_string 231
|
||||
ERR_load_ASN1_strings 232
|
||||
ERR_load_BIO_strings 233
|
||||
ERR_load_BN_strings 234
|
||||
ERR_load_BUF_strings 235
|
||||
ERR_load_CONF_strings 236
|
||||
ERR_load_DH_strings 237
|
||||
ERR_load_DSA_strings 238
|
||||
ERR_load_ERR_strings 239
|
||||
ERR_load_EVP_strings 240
|
||||
ERR_load_OBJ_strings 241
|
||||
ERR_load_PEM_strings 242
|
||||
ERR_load_PROXY_strings 243
|
||||
ERR_load_RSA_strings 244
|
||||
ERR_load_X509_strings 245
|
||||
ERR_load_crypto_strings 246
|
||||
ERR_load_strings 247
|
||||
ERR_peek_error 248
|
||||
ERR_peek_error_line 249
|
||||
ERR_print_errors 250
|
||||
ERR_print_errors_fp 251
|
||||
ERR_put_error 252
|
||||
ERR_reason_error_string 253
|
||||
ERR_remove_state 254
|
||||
EVP_BytesToKey 255
|
||||
EVP_CIPHER_CTX_cleanup 256
|
||||
EVP_CipherFinal 257
|
||||
EVP_CipherInit 258
|
||||
EVP_CipherUpdate 259
|
||||
EVP_DecodeBlock 260
|
||||
EVP_DecodeFinal 261
|
||||
EVP_DecodeInit 262
|
||||
EVP_DecodeUpdate 263
|
||||
EVP_DecryptFinal 264
|
||||
EVP_DecryptInit 265
|
||||
EVP_DecryptUpdate 266
|
||||
EVP_DigestFinal 267
|
||||
EVP_DigestInit 268
|
||||
EVP_DigestUpdate 269
|
||||
EVP_EncodeBlock 270
|
||||
EVP_EncodeFinal 271
|
||||
EVP_EncodeInit 272
|
||||
EVP_EncodeUpdate 273
|
||||
EVP_EncryptFinal 274
|
||||
EVP_EncryptInit 275
|
||||
EVP_EncryptUpdate 276
|
||||
EVP_OpenFinal 277
|
||||
EVP_OpenInit 278
|
||||
EVP_PKEY_assign 279
|
||||
EVP_PKEY_copy_parameters 280
|
||||
EVP_PKEY_free 281
|
||||
EVP_PKEY_missing_parameters 282
|
||||
EVP_PKEY_new 283
|
||||
EVP_PKEY_save_parameters 284
|
||||
EVP_PKEY_size 285
|
||||
EVP_PKEY_type 286
|
||||
EVP_SealFinal 287
|
||||
EVP_SealInit 288
|
||||
EVP_SignFinal 289
|
||||
EVP_VerifyFinal 290
|
||||
EVP_add_alias 291
|
||||
EVP_add_cipher 292
|
||||
EVP_add_digest 293
|
||||
EVP_bf_cbc 294
|
||||
EVP_bf_cfb 295
|
||||
EVP_bf_ecb 296
|
||||
EVP_bf_ofb 297
|
||||
EVP_cleanup 298
|
||||
EVP_des_cbc 299
|
||||
EVP_des_cfb 300
|
||||
EVP_des_ecb 301
|
||||
EVP_des_ede 302
|
||||
EVP_des_ede3 303
|
||||
EVP_des_ede3_cbc 304
|
||||
EVP_des_ede3_cfb 305
|
||||
EVP_des_ede3_ofb 306
|
||||
EVP_des_ede_cbc 307
|
||||
EVP_des_ede_cfb 308
|
||||
EVP_des_ede_ofb 309
|
||||
EVP_des_ofb 310
|
||||
EVP_desx_cbc 311
|
||||
EVP_dss 312
|
||||
EVP_dss1 313
|
||||
EVP_enc_null 314
|
||||
EVP_get_cipherbyname 315
|
||||
EVP_get_digestbyname 316
|
||||
EVP_get_pw_prompt 317
|
||||
EVP_idea_cbc 318
|
||||
EVP_idea_cfb 319
|
||||
EVP_idea_ecb 320
|
||||
EVP_idea_ofb 321
|
||||
EVP_md2 322
|
||||
EVP_md5 323
|
||||
EVP_md_null 324
|
||||
EVP_rc2_cbc 325
|
||||
EVP_rc2_cfb 326
|
||||
EVP_rc2_ecb 327
|
||||
EVP_rc2_ofb 328
|
||||
EVP_rc4 329
|
||||
EVP_read_pw_string 330
|
||||
EVP_set_pw_prompt 331
|
||||
EVP_sha 332
|
||||
EVP_sha1 333
|
||||
MD2 334
|
||||
MD2_Final 335
|
||||
MD2_Init 336
|
||||
MD2_Update 337
|
||||
MD2_options 338
|
||||
MD5 339
|
||||
MD5_Final 340
|
||||
MD5_Init 341
|
||||
MD5_Update 342
|
||||
MDC2 343
|
||||
MDC2_Final 344
|
||||
MDC2_Init 345
|
||||
MDC2_Update 346
|
||||
NETSCAPE_SPKAC_free 347
|
||||
NETSCAPE_SPKAC_new 348
|
||||
NETSCAPE_SPKI_free 349
|
||||
NETSCAPE_SPKI_new 350
|
||||
NETSCAPE_SPKI_sign 351
|
||||
NETSCAPE_SPKI_verify 352
|
||||
OBJ_add_object 353
|
||||
OBJ_bsearch 354
|
||||
OBJ_cleanup 355
|
||||
OBJ_cmp 356
|
||||
OBJ_create_and_add_object 357
|
||||
OBJ_dup 358
|
||||
OBJ_ln2nid 359
|
||||
OBJ_new_nid 360
|
||||
OBJ_nid2ln 361
|
||||
OBJ_nid2obj 362
|
||||
OBJ_nid2sn 363
|
||||
OBJ_obj2nid 364
|
||||
OBJ_sn2nid 365
|
||||
OBJ_txt2nid 366
|
||||
PEM_ASN1_read 367
|
||||
PEM_ASN1_read_bio 368
|
||||
PEM_ASN1_write 369
|
||||
PEM_ASN1_write_bio 370
|
||||
PEM_SealFinal 371
|
||||
PEM_SealInit 372
|
||||
PEM_SealUpdate 373
|
||||
PEM_SignFinal 374
|
||||
PEM_SignInit 375
|
||||
PEM_SignUpdate 376
|
||||
PEM_X509_INFO_read 377
|
||||
PEM_X509_INFO_read_bio 378
|
||||
PEM_X509_INFO_write_bio 379
|
||||
PEM_dek_info 380
|
||||
PEM_do_header 381
|
||||
PEM_get_EVP_CIPHER_INFO 382
|
||||
PEM_proc_type 383
|
||||
PEM_read 384
|
||||
PEM_read_DHparams 385
|
||||
PEM_read_DSAPrivateKey 386
|
||||
PEM_read_DSAparams 387
|
||||
PEM_read_PKCS7 388
|
||||
PEM_read_PrivateKey 389
|
||||
PEM_read_RSAPrivateKey 390
|
||||
PEM_read_X509 391
|
||||
PEM_read_X509_CRL 392
|
||||
PEM_read_X509_REQ 393
|
||||
PEM_read_bio 394
|
||||
PEM_read_bio_DHparams 395
|
||||
PEM_read_bio_DSAPrivateKey 396
|
||||
PEM_read_bio_DSAparams 397
|
||||
PEM_read_bio_PKCS7 398
|
||||
PEM_read_bio_PrivateKey 399
|
||||
PEM_read_bio_RSAPrivateKey 400
|
||||
PEM_read_bio_X509 401
|
||||
PEM_read_bio_X509_CRL 402
|
||||
PEM_read_bio_X509_REQ 403
|
||||
PEM_write 404
|
||||
PEM_write_DHparams 405
|
||||
PEM_write_DSAPrivateKey 406
|
||||
PEM_write_DSAparams 407
|
||||
PEM_write_PKCS7 408
|
||||
PEM_write_PrivateKey 409
|
||||
PEM_write_RSAPrivateKey 410
|
||||
PEM_write_X509 411
|
||||
PEM_write_X509_CRL 412
|
||||
PEM_write_X509_REQ 413
|
||||
PEM_write_bio 414
|
||||
PEM_write_bio_DHparams 415
|
||||
PEM_write_bio_DSAPrivateKey 416
|
||||
PEM_write_bio_DSAparams 417
|
||||
PEM_write_bio_PKCS7 418
|
||||
PEM_write_bio_PrivateKey 419
|
||||
PEM_write_bio_RSAPrivateKey 420
|
||||
PEM_write_bio_X509 421
|
||||
PEM_write_bio_X509_CRL 422
|
||||
PEM_write_bio_X509_REQ 423
|
||||
PKCS7_DIGEST_free 424
|
||||
PKCS7_DIGEST_new 425
|
||||
PKCS7_ENCRYPT_free 426
|
||||
PKCS7_ENCRYPT_new 427
|
||||
PKCS7_ENC_CONTENT_free 428
|
||||
PKCS7_ENC_CONTENT_new 429
|
||||
PKCS7_ENVELOPE_free 430
|
||||
PKCS7_ENVELOPE_new 431
|
||||
PKCS7_ISSUER_AND_SERIAL_digest 432
|
||||
PKCS7_ISSUER_AND_SERIAL_free 433
|
||||
PKCS7_ISSUER_AND_SERIAL_new 434
|
||||
PKCS7_RECIP_INFO_free 435
|
||||
PKCS7_RECIP_INFO_new 436
|
||||
PKCS7_SIGNED_free 437
|
||||
PKCS7_SIGNED_new 438
|
||||
PKCS7_SIGNER_INFO_free 439
|
||||
PKCS7_SIGNER_INFO_new 440
|
||||
PKCS7_SIGN_ENVELOPE_free 441
|
||||
PKCS7_SIGN_ENVELOPE_new 442
|
||||
PKCS7_dup 443
|
||||
PKCS7_free 444
|
||||
PKCS7_new 445
|
||||
PROXY_ENTRY_add_noproxy 446
|
||||
PROXY_ENTRY_clear_noproxy 447
|
||||
PROXY_ENTRY_free 448
|
||||
PROXY_ENTRY_get_noproxy 449
|
||||
PROXY_ENTRY_new 450
|
||||
PROXY_ENTRY_set_server 451
|
||||
PROXY_add_noproxy 452
|
||||
PROXY_add_server 453
|
||||
PROXY_check_by_host 454
|
||||
PROXY_check_url 455
|
||||
PROXY_clear_noproxy 456
|
||||
PROXY_free 457
|
||||
PROXY_get_noproxy 458
|
||||
PROXY_get_proxies 459
|
||||
PROXY_get_proxy_entry 460
|
||||
PROXY_load_conf 461
|
||||
PROXY_new 462
|
||||
PROXY_print 463
|
||||
RAND_bytes 464
|
||||
RAND_cleanup 465
|
||||
RAND_file_name 466
|
||||
RAND_load_file 467
|
||||
RAND_screen 468
|
||||
RAND_seed 469
|
||||
RAND_write_file 470
|
||||
RC2_cbc_encrypt 471
|
||||
RC2_cfb64_encrypt 472
|
||||
RC2_ecb_encrypt 473
|
||||
RC2_encrypt 474
|
||||
RC2_ofb64_encrypt 475
|
||||
RC2_set_key 476
|
||||
RC4 477
|
||||
RC4_options 478
|
||||
RC4_set_key 479
|
||||
RSAPrivateKey_asn1_meth 480
|
||||
RSAPrivateKey_dup 481
|
||||
RSAPublicKey_dup 482
|
||||
RSA_PKCS1_SSLeay 483
|
||||
RSA_free 484
|
||||
RSA_generate_key 485
|
||||
RSA_new 486
|
||||
RSA_new_method 487
|
||||
RSA_print 488
|
||||
RSA_print_fp 489
|
||||
RSA_private_decrypt 490
|
||||
RSA_private_encrypt 491
|
||||
RSA_public_decrypt 492
|
||||
RSA_public_encrypt 493
|
||||
RSA_set_default_method 494
|
||||
RSA_sign 495
|
||||
RSA_sign_ASN1_OCTET_STRING 496
|
||||
RSA_size 497
|
||||
RSA_verify 498
|
||||
RSA_verify_ASN1_OCTET_STRING 499
|
||||
SHA 500
|
||||
SHA1 501
|
||||
SHA1_Final 502
|
||||
SHA1_Init 503
|
||||
SHA1_Update 504
|
||||
SHA_Final 505
|
||||
SHA_Init 506
|
||||
SHA_Update 507
|
||||
SSLeay_add_all_algorithms 508
|
||||
SSLeay_add_all_ciphers 509
|
||||
SSLeay_add_all_digests 510
|
||||
TXT_DB_create_index 511
|
||||
TXT_DB_free 512
|
||||
TXT_DB_get_by_index 513
|
||||
TXT_DB_insert 514
|
||||
TXT_DB_read 515
|
||||
TXT_DB_write 516
|
||||
X509_ALGOR_free 517
|
||||
X509_ALGOR_new 518
|
||||
X509_ATTRIBUTE_free 519
|
||||
X509_ATTRIBUTE_new 520
|
||||
X509_CINF_free 521
|
||||
X509_CINF_new 522
|
||||
X509_CRL_INFO_free 523
|
||||
X509_CRL_INFO_new 524
|
||||
X509_CRL_add_ext 525
|
||||
X509_CRL_cmp 526
|
||||
X509_CRL_delete_ext 527
|
||||
X509_CRL_dup 528
|
||||
X509_CRL_free 529
|
||||
X509_CRL_get_ext 530
|
||||
X509_CRL_get_ext_by_NID 531
|
||||
X509_CRL_get_ext_by_OBJ 532
|
||||
X509_CRL_get_ext_by_critical 533
|
||||
X509_CRL_get_ext_count 534
|
||||
X509_CRL_new 535
|
||||
X509_CRL_sign 536
|
||||
X509_CRL_verify 537
|
||||
X509_EXTENSION_create_by_NID 538
|
||||
X509_EXTENSION_create_by_OBJ 539
|
||||
X509_EXTENSION_dup 540
|
||||
X509_EXTENSION_free 541
|
||||
X509_EXTENSION_get_critical 542
|
||||
X509_EXTENSION_get_data 543
|
||||
X509_EXTENSION_get_object 544
|
||||
X509_EXTENSION_new 545
|
||||
X509_EXTENSION_set_critical 546
|
||||
X509_EXTENSION_set_data 547
|
||||
X509_EXTENSION_set_object 548
|
||||
X509_INFO_free 549
|
||||
X509_INFO_new 550
|
||||
X509_LOOKUP_by_alias 551
|
||||
X509_LOOKUP_by_fingerprint 552
|
||||
X509_LOOKUP_by_issuer_serial 553
|
||||
X509_LOOKUP_by_subject 554
|
||||
X509_LOOKUP_ctrl 555
|
||||
X509_LOOKUP_file 556
|
||||
X509_LOOKUP_free 557
|
||||
X509_LOOKUP_hash_dir 558
|
||||
X509_LOOKUP_init 559
|
||||
X509_LOOKUP_new 560
|
||||
X509_LOOKUP_shutdown 561
|
||||
X509_NAME_ENTRY_create_by_NID 562
|
||||
X509_NAME_ENTRY_create_by_OBJ 563
|
||||
X509_NAME_ENTRY_dup 564
|
||||
X509_NAME_ENTRY_free 565
|
||||
X509_NAME_ENTRY_get_data 566
|
||||
X509_NAME_ENTRY_get_object 567
|
||||
X509_NAME_ENTRY_new 568
|
||||
X509_NAME_ENTRY_set_data 569
|
||||
X509_NAME_ENTRY_set_object 570
|
||||
X509_NAME_add_entry 571
|
||||
X509_NAME_cmp 572
|
||||
X509_NAME_delete_entry 573
|
||||
X509_NAME_digest 574
|
||||
X509_NAME_dup 575
|
||||
X509_NAME_entry_count 576
|
||||
X509_NAME_free 577
|
||||
X509_NAME_get_entry 578
|
||||
X509_NAME_get_index_by_NID 579
|
||||
X509_NAME_get_index_by_OBJ 580
|
||||
X509_NAME_get_text_by_NID 581
|
||||
X509_NAME_get_text_by_OBJ 582
|
||||
X509_NAME_hash 583
|
||||
X509_NAME_new 584
|
||||
X509_NAME_oneline 585
|
||||
X509_NAME_print 586
|
||||
X509_NAME_set 587
|
||||
X509_OBJECT_free_contents 588
|
||||
X509_OBJECT_retrive_by_subject 589
|
||||
X509_OBJECT_up_ref_count 590
|
||||
X509_PKEY_free 591
|
||||
X509_PKEY_new 592
|
||||
X509_PUBKEY_free 593
|
||||
X509_PUBKEY_get 594
|
||||
X509_PUBKEY_new 595
|
||||
X509_PUBKEY_set 596
|
||||
X509_REQ_INFO_free 597
|
||||
X509_REQ_INFO_new 598
|
||||
X509_REQ_dup 599
|
||||
X509_REQ_free 600
|
||||
X509_REQ_get_pubkey 601
|
||||
X509_REQ_new 602
|
||||
X509_REQ_print 603
|
||||
X509_REQ_print_fp 604
|
||||
X509_REQ_set_pubkey 605
|
||||
X509_REQ_set_subject_name 606
|
||||
X509_REQ_set_version 607
|
||||
X509_REQ_sign 608
|
||||
X509_REQ_to_X509 609
|
||||
X509_REQ_verify 610
|
||||
X509_REVOKED_add_ext 611
|
||||
X509_REVOKED_delete_ext 612
|
||||
X509_REVOKED_free 613
|
||||
X509_REVOKED_get_ext 614
|
||||
X509_REVOKED_get_ext_by_NID 615
|
||||
X509_REVOKED_get_ext_by_OBJ 616
|
||||
X509_REVOKED_get_ext_by_critical 617
|
||||
X509_REVOKED_get_ext_count 618
|
||||
X509_REVOKED_new 619
|
||||
X509_SIG_free 620
|
||||
X509_SIG_new 621
|
||||
X509_STORE_CTX_cleanup 622
|
||||
X509_STORE_CTX_init 623
|
||||
X509_STORE_add_cert 624
|
||||
X509_STORE_add_lookup 625
|
||||
X509_STORE_free 626
|
||||
X509_STORE_get_by_subject 627
|
||||
X509_STORE_load_locations 628
|
||||
X509_STORE_new 629
|
||||
X509_STORE_set_default_paths 630
|
||||
X509_VAL_free 631
|
||||
X509_VAL_new 632
|
||||
X509_add_ext 633
|
||||
X509_asn1_meth 634
|
||||
X509_certificate_type 635
|
||||
X509_check_private_key 636
|
||||
X509_cmp_current_time 637
|
||||
X509_delete_ext 638
|
||||
X509_digest 639
|
||||
X509_dup 640
|
||||
X509_free 641
|
||||
X509_get_default_cert_area 642
|
||||
X509_get_default_cert_dir 643
|
||||
X509_get_default_cert_dir_env 644
|
||||
X509_get_default_cert_file 645
|
||||
X509_get_default_cert_file_env 646
|
||||
X509_get_default_private_dir 647
|
||||
X509_get_ext 648
|
||||
X509_get_ext_by_NID 649
|
||||
X509_get_ext_by_OBJ 650
|
||||
X509_get_ext_by_critical 651
|
||||
X509_get_ext_count 652
|
||||
X509_get_issuer_name 653
|
||||
X509_get_pubkey 654
|
||||
X509_get_pubkey_parameters 655
|
||||
X509_get_serialNumber 656
|
||||
X509_get_subject_name 657
|
||||
X509_gmtime_adj 658
|
||||
X509_issuer_and_serial_cmp 659
|
||||
X509_issuer_and_serial_hash 660
|
||||
X509_issuer_name_cmp 661
|
||||
X509_issuer_name_hash 662
|
||||
X509_load_cert_file 663
|
||||
X509_new 664
|
||||
X509_print 665
|
||||
X509_print_fp 666
|
||||
X509_set_issuer_name 667
|
||||
X509_set_notAfter 668
|
||||
X509_set_notBefore 669
|
||||
X509_set_pubkey 670
|
||||
X509_set_serialNumber 671
|
||||
X509_set_subject_name 672
|
||||
X509_set_version 673
|
||||
X509_sign 674
|
||||
X509_subject_name_cmp 675
|
||||
X509_subject_name_hash 676
|
||||
X509_to_X509_REQ 677
|
||||
X509_verify 678
|
||||
X509_verify_cert 679
|
||||
X509_verify_cert_error_string 680
|
||||
X509v3_add_ext 681
|
||||
X509v3_add_extension 682
|
||||
X509v3_add_netscape_extensions 683
|
||||
X509v3_add_standard_extensions 684
|
||||
X509v3_cleanup_extensions 685
|
||||
X509v3_data_type_by_NID 686
|
||||
X509v3_data_type_by_OBJ 687
|
||||
X509v3_delete_ext 688
|
||||
X509v3_get_ext 689
|
||||
X509v3_get_ext_by_NID 690
|
||||
X509v3_get_ext_by_OBJ 691
|
||||
X509v3_get_ext_by_critical 692
|
||||
X509v3_get_ext_count 693
|
||||
X509v3_pack_string 694
|
||||
X509v3_pack_type_by_NID 695
|
||||
X509v3_pack_type_by_OBJ 696
|
||||
X509v3_unpack_string 697
|
||||
_des_crypt 698
|
||||
a2d_ASN1_OBJECT 699
|
||||
a2i_ASN1_INTEGER 700
|
||||
a2i_ASN1_STRING 701
|
||||
asn1_Finish 702
|
||||
asn1_GetSequence 703
|
||||
bn_div64 704
|
||||
bn_expand2 705
|
||||
bn_mul_add_word 706
|
||||
bn_mul_word 707
|
||||
bn_qadd 708
|
||||
bn_qsub 709
|
||||
bn_sqr_words 710
|
||||
crypt 711
|
||||
d2i_ASN1_BIT_STRING 712
|
||||
d2i_ASN1_BOOLEAN 713
|
||||
d2i_ASN1_HEADER 714
|
||||
d2i_ASN1_IA5STRING 715
|
||||
d2i_ASN1_INTEGER 716
|
||||
d2i_ASN1_OBJECT 717
|
||||
d2i_ASN1_OCTET_STRING 718
|
||||
d2i_ASN1_PRINTABLE 719
|
||||
d2i_ASN1_PRINTABLESTRING 720
|
||||
d2i_ASN1_SET 721
|
||||
d2i_ASN1_T61STRING 722
|
||||
d2i_ASN1_TYPE 723
|
||||
d2i_ASN1_UTCTIME 724
|
||||
d2i_ASN1_bytes 725
|
||||
d2i_ASN1_type_bytes 726
|
||||
d2i_DHparams 727
|
||||
d2i_DSAPrivateKey 728
|
||||
d2i_DSAPrivateKey_bio 729
|
||||
d2i_DSAPrivateKey_fp 730
|
||||
d2i_DSAPublicKey 731
|
||||
d2i_DSAparams 732
|
||||
d2i_NETSCAPE_SPKAC 733
|
||||
d2i_NETSCAPE_SPKI 734
|
||||
d2i_Netscape_RSA 735
|
||||
d2i_PKCS7 736
|
||||
d2i_PKCS7_DIGEST 737
|
||||
d2i_PKCS7_ENCRYPT 738
|
||||
d2i_PKCS7_ENC_CONTENT 739
|
||||
d2i_PKCS7_ENVELOPE 740
|
||||
d2i_PKCS7_ISSUER_AND_SERIAL 741
|
||||
d2i_PKCS7_RECIP_INFO 742
|
||||
d2i_PKCS7_SIGNED 743
|
||||
d2i_PKCS7_SIGNER_INFO 744
|
||||
d2i_PKCS7_SIGN_ENVELOPE 745
|
||||
d2i_PKCS7_bio 746
|
||||
d2i_PKCS7_fp 747
|
||||
d2i_PrivateKey 748
|
||||
d2i_PublicKey 749
|
||||
d2i_RSAPrivateKey 750
|
||||
d2i_RSAPrivateKey_bio 751
|
||||
d2i_RSAPrivateKey_fp 752
|
||||
d2i_RSAPublicKey 753
|
||||
d2i_X509 754
|
||||
d2i_X509_ALGOR 755
|
||||
d2i_X509_ATTRIBUTE 756
|
||||
d2i_X509_CINF 757
|
||||
d2i_X509_CRL 758
|
||||
d2i_X509_CRL_INFO 759
|
||||
d2i_X509_CRL_bio 760
|
||||
d2i_X509_CRL_fp 761
|
||||
d2i_X509_EXTENSION 762
|
||||
d2i_X509_NAME 763
|
||||
d2i_X509_NAME_ENTRY 764
|
||||
d2i_X509_PKEY 765
|
||||
d2i_X509_PUBKEY 766
|
||||
d2i_X509_REQ 767
|
||||
d2i_X509_REQ_INFO 768
|
||||
d2i_X509_REQ_bio 769
|
||||
d2i_X509_REQ_fp 770
|
||||
d2i_X509_REVOKED 771
|
||||
d2i_X509_SIG 772
|
||||
d2i_X509_VAL 773
|
||||
d2i_X509_bio 774
|
||||
d2i_X509_fp 775
|
||||
des_3cbc_encrypt 776
|
||||
des_cbc_cksum 777
|
||||
des_cbc_encrypt 778
|
||||
des_cblock_print_file 779
|
||||
des_cfb64_encrypt 780
|
||||
des_cfb_encrypt 781
|
||||
des_decrypt3 782
|
||||
des_ecb3_encrypt 783
|
||||
des_ecb_encrypt 784
|
||||
des_ede3_cbc_encrypt 785
|
||||
des_ede3_cfb64_encrypt 786
|
||||
des_ede3_ofb64_encrypt 787
|
||||
des_enc_read 788
|
||||
des_enc_write 789
|
||||
des_encrypt 790
|
||||
des_encrypt2 791
|
||||
des_encrypt3 792
|
||||
des_fcrypt 793
|
||||
des_is_weak_key 794
|
||||
des_key_sched 795
|
||||
des_ncbc_encrypt 796
|
||||
des_ofb64_encrypt 797
|
||||
des_ofb_encrypt 798
|
||||
des_options 799
|
||||
des_pcbc_encrypt 800
|
||||
des_quad_cksum 801
|
||||
des_random_key 802
|
||||
des_random_seed 803
|
||||
des_read_2passwords 804
|
||||
des_read_password 805
|
||||
des_read_pw 806
|
||||
des_read_pw_string 807
|
||||
des_set_key 808
|
||||
des_set_odd_parity 809
|
||||
des_string_to_2keys 810
|
||||
des_string_to_key 811
|
||||
des_xcbc_encrypt 812
|
||||
des_xwhite_in2out 813
|
||||
fcrypt_body 814
|
||||
i2a_ASN1_INTEGER 815
|
||||
i2a_ASN1_OBJECT 816
|
||||
i2a_ASN1_STRING 817
|
||||
i2d_ASN1_BIT_STRING 818
|
||||
i2d_ASN1_BOOLEAN 819
|
||||
i2d_ASN1_HEADER 820
|
||||
i2d_ASN1_IA5STRING 821
|
||||
i2d_ASN1_INTEGER 822
|
||||
i2d_ASN1_OBJECT 823
|
||||
i2d_ASN1_OCTET_STRING 824
|
||||
i2d_ASN1_PRINTABLE 825
|
||||
i2d_ASN1_SET 826
|
||||
i2d_ASN1_TYPE 827
|
||||
i2d_ASN1_UTCTIME 828
|
||||
i2d_ASN1_bytes 829
|
||||
i2d_DHparams 830
|
||||
i2d_DSAPrivateKey 831
|
||||
i2d_DSAPrivateKey_bio 832
|
||||
i2d_DSAPrivateKey_fp 833
|
||||
i2d_DSAPublicKey 834
|
||||
i2d_DSAparams 835
|
||||
i2d_NETSCAPE_SPKAC 836
|
||||
i2d_NETSCAPE_SPKI 837
|
||||
i2d_Netscape_RSA 838
|
||||
i2d_PKCS7 839
|
||||
i2d_PKCS7_DIGEST 840
|
||||
i2d_PKCS7_ENCRYPT 841
|
||||
i2d_PKCS7_ENC_CONTENT 842
|
||||
i2d_PKCS7_ENVELOPE 843
|
||||
i2d_PKCS7_ISSUER_AND_SERIAL 844
|
||||
i2d_PKCS7_RECIP_INFO 845
|
||||
i2d_PKCS7_SIGNED 846
|
||||
i2d_PKCS7_SIGNER_INFO 847
|
||||
i2d_PKCS7_SIGN_ENVELOPE 848
|
||||
i2d_PKCS7_bio 849
|
||||
i2d_PKCS7_fp 850
|
||||
i2d_PrivateKey 851
|
||||
i2d_PublicKey 852
|
||||
i2d_RSAPrivateKey 853
|
||||
i2d_RSAPrivateKey_bio 854
|
||||
i2d_RSAPrivateKey_fp 855
|
||||
i2d_RSAPublicKey 856
|
||||
i2d_X509 857
|
||||
i2d_X509_ALGOR 858
|
||||
i2d_X509_ATTRIBUTE 859
|
||||
i2d_X509_CINF 860
|
||||
i2d_X509_CRL 861
|
||||
i2d_X509_CRL_INFO 862
|
||||
i2d_X509_CRL_bio 863
|
||||
i2d_X509_CRL_fp 864
|
||||
i2d_X509_EXTENSION 865
|
||||
i2d_X509_NAME 866
|
||||
i2d_X509_NAME_ENTRY 867
|
||||
i2d_X509_PKEY 868
|
||||
i2d_X509_PUBKEY 869
|
||||
i2d_X509_REQ 870
|
||||
i2d_X509_REQ_INFO 871
|
||||
i2d_X509_REQ_bio 872
|
||||
i2d_X509_REQ_fp 873
|
||||
i2d_X509_REVOKED 874
|
||||
i2d_X509_SIG 875
|
||||
i2d_X509_VAL 876
|
||||
i2d_X509_bio 877
|
||||
i2d_X509_fp 878
|
||||
idea_cbc_encrypt 879
|
||||
idea_cfb64_encrypt 880
|
||||
idea_ecb_encrypt 881
|
||||
idea_encrypt 882
|
||||
idea_ofb64_encrypt 883
|
||||
idea_options 884
|
||||
idea_set_decrypt_key 885
|
||||
idea_set_encrypt_key 886
|
||||
lh_delete 887
|
||||
lh_doall 888
|
||||
lh_doall_arg 889
|
||||
lh_free 890
|
||||
lh_insert 891
|
||||
lh_new 892
|
||||
lh_node_stats 893
|
||||
lh_node_stats_bio 894
|
||||
lh_node_usage_stats 895
|
||||
lh_node_usage_stats_bio 896
|
||||
lh_retrieve 897
|
||||
lh_stats 898
|
||||
lh_stats_bio 899
|
||||
lh_strhash 900
|
||||
sk_delete 901
|
||||
sk_delete_ptr 902
|
||||
sk_dup 903
|
||||
sk_find 904
|
||||
sk_free 905
|
||||
sk_insert 906
|
||||
sk_new 907
|
||||
sk_pop 908
|
||||
sk_pop_free 909
|
||||
sk_push 910
|
||||
sk_set_cmp_func 911
|
||||
sk_shift 912
|
||||
sk_unshift 913
|
||||
sk_zero 914
|
||||
BIO_f_nbio_test 915
|
||||
ASN1_TYPE_get 916
|
||||
ASN1_TYPE_set 917
|
||||
PKCS7_content_free 918
|
||||
ERR_load_PKCS7_strings 919
|
||||
X509_find_by_issuer_and_serial 920
|
||||
X509_find_by_subject 921
|
||||
d2i_PKCS7_fp 922
|
||||
i2d_PKCS7_fp 923
|
||||
PKCS7_dup 924
|
||||
d2i_PKCS7_bio 925
|
||||
i2d_PKCS7_bio 926
|
||||
PKCS7_ctrl 927
|
||||
PKCS7_set_type 928
|
||||
PKCS7_set_content 929
|
||||
PKCS7_SIGNER_INFO_set 930
|
||||
PKCS7_add_signer 931
|
||||
PKCS7_add_certificate 932
|
||||
PKCS7_add_crl 933
|
||||
PKCS7_content_new 934
|
||||
PKCS7_dataSign 935
|
||||
PKCS7_dataVerify 936
|
||||
PKCS7_dataInit 937
|
||||
PKCS7_add_signature 938
|
||||
PKCS7_cert_from_signer_info 939
|
||||
PKCS7_get_signer_info 940
|
||||
EVP_delete_alias 941
|
||||
EVP_mdc2 942
|
||||
PEM_read_bio_RSAPublicKey 943
|
||||
PEM_write_bio_RSAPublicKey 944
|
||||
d2i_RSAPublicKey_bio 945
|
||||
i2d_RSAPublicKey_bio 946
|
||||
PEM_read_RSAPublicKey 947
|
||||
PEM_read_bio_RSAPublicKey 948
|
||||
PEM_write_RSAPublicKey 949
|
||||
PEM_write_bio_RSAPublicKey 950
|
||||
d2i_RSAPublicKey_bio 951
|
||||
d2i_RSAPublicKey_fp 952
|
||||
i2d_RSAPublicKey_bio 953
|
||||
i2d_RSAPublicKey_fp 954
|
||||
BIO_copy_next_retry 955
|
||||
692
util/mk1mf.pl
Executable file
692
util/mk1mf.pl
Executable file
@@ -0,0 +1,692 @@
|
||||
#!/usr/local/bin/perl
|
||||
# A bit of an evil hack but it post processes the file ../MINFO which
|
||||
# is generated by `make files` in the top directory.
|
||||
# This script outputs one mega makefile that has no shell stuff or any
|
||||
# funny stuff
|
||||
#
|
||||
|
||||
$INSTALLTOP="/usr/local/ssl";
|
||||
|
||||
$infile="MINFO";
|
||||
|
||||
%ops=(
|
||||
"VC-WIN32", "Microsoft Visual C++ 4.[01] - Windows NT [34].x",
|
||||
"VC-W31-16", "Microsoft Visual C++ 1.52 - Windows 3.1 - 286",
|
||||
"VC-WIN16", "Alias for VC-W31-32",
|
||||
"VC-W31-32", "Microsoft Visual C++ 1.52 - Windows 3.1 - 386+",
|
||||
"VC-MSDOS","Microsoft Visual C++ 1.52 - MSDOS",
|
||||
"BC-NT", "Borland C++ 4.5 - Windows NT - PROBABLY NOT WORKING",
|
||||
"BC-W31", "Borland C++ 4.5 - Windows 3.1 - PROBABLY NOT WORKING",
|
||||
"BC-MSDOS","Borland C++ 4.5 - MSDOS",
|
||||
"FreeBSD","FreeBSD distribution",
|
||||
"default","cc under unix",
|
||||
);
|
||||
|
||||
$type="";
|
||||
foreach (@ARGV)
|
||||
{
|
||||
if (/^no-rc2$/) { $no_rc2=1; }
|
||||
elsif (/^no-rc4$/) { $no_rc4=1; }
|
||||
elsif (/^no-idea$/) { $no_idea=1; }
|
||||
elsif (/^no-des$/) { $no_des=1; }
|
||||
elsif (/^no-bf$/) { $no_bf=1; }
|
||||
elsif (/^no-md2$/) { $no_md2=1; }
|
||||
elsif (/^no-md5$/) { $no_md5=1; }
|
||||
elsif (/^no-sha$/) { $no_sha=1; }
|
||||
elsif (/^no-sha1$/) { $no_sha1=1; }
|
||||
elsif (/^no-mdc2$/) { $no_mdc2=1; }
|
||||
elsif (/^no-patents$/) { $no_rc2=$no_rc4=$no_idea=$no_sha1=$no_rsa=1; }
|
||||
elsif (/^no-rsa$/) { $no_rsa=1; }
|
||||
elsif (/^no-dsa$/) { $no_dsa=1; }
|
||||
elsif (/^no-dh$/) { $no_dh=1; }
|
||||
elsif (/^no-asm$/) { $no_asm=1; }
|
||||
elsif (/^no-ssl2$/) { $no_ssl2=1; }
|
||||
elsif (/^no-ssl3$/) { $no_ssl3=1; }
|
||||
elsif (/^no-err$/) { $no_err=1; }
|
||||
elsif (/^no-sock$/) { $no_sock=1; }
|
||||
|
||||
elsif (/^rsaref$/) { $rsaref=1; }
|
||||
elsif (/^gcc$/) { $gcc=1; }
|
||||
elsif (/^debug$/) { $debug=1; }
|
||||
elsif (/^shlib$/) { $shlib=1; }
|
||||
elsif (/^dll$/) { $shlib=1; }
|
||||
elsif (/^([^=]*)=(.*)$/){ $VARS{$1}=$2; }
|
||||
elsif (/^-[lL].*$/) { $l_flags.="$_ "; }
|
||||
elsif ((!/^-help/) && (!/^-h/) && (!/^-\?/) && /^-.*$/)
|
||||
{ $c_flags.="$_ "; }
|
||||
else
|
||||
{
|
||||
if (!defined($ops{$_}))
|
||||
{
|
||||
print STDERR "unknown option - $_\n";
|
||||
print STDERR "usage: perl mk1mf.pl [system] [options]\n";
|
||||
print STDERR "\nwhere [system] can be one of the following\n";
|
||||
foreach $i (sort keys %ops)
|
||||
{ printf STDERR "\t%-10s\t%s\n",$i,$ops{$i}; }
|
||||
print STDERR <<"EOF";
|
||||
and [options] can be one of
|
||||
no-md2 no-md5 no-sha no-sha1 no-mdc2 - Skip this digest
|
||||
no-rc2 no-rc4 no-idea no-des no-bf - Skip this symetriccipher
|
||||
no-rsa no-dsa no-dh - Skip this public key cipher
|
||||
no-ssl2 no-ssl3 - Skip this version of SSL
|
||||
just-ssl - remove all non-ssl keys/digest
|
||||
no-asm - No x86 asm
|
||||
no-socks - No socket code
|
||||
no-err - No error strings
|
||||
dll/shlib - Build shared libraries (MS)
|
||||
debug - Debug build
|
||||
gcc - Use Gcc (unix)
|
||||
rsaref - Build to require RSAref
|
||||
|
||||
Values that can be set
|
||||
TMP=tmpdir OUT=outdir SRC=srcdir BIN=binpath CC=C-compiler
|
||||
|
||||
-L<ex_lib_path> -l<ex_lib> - extra library flags (unix)
|
||||
-<ex_cc_flags> - extra 'cc' flags,
|
||||
added (MS), or replace (unix)
|
||||
EOF
|
||||
exit(1);
|
||||
}
|
||||
$type=$_;
|
||||
}
|
||||
}
|
||||
|
||||
$no_mdc2=1 if ($no_des);
|
||||
|
||||
$no_ssl3=1 if ($no_md5 || $no_sha1);
|
||||
$no_ssl3=1 if ($no_rsa && $no_dh);
|
||||
|
||||
$no_ssl2=1 if ($no_md5 || $no_rsa);
|
||||
$no_ssl2=1 if ($no_rsa);
|
||||
|
||||
$cc=(defined($VARS{'CC'}))?$VARS{'CC'}:'cc';
|
||||
$src_dir=(defined($VARS{'SRC'}))?$VARS{'SRC'}:'.';
|
||||
$out_dir=(defined($VARS{'OUT'}))?$VARS{'OUT'}:'out';
|
||||
$tmp_dir=(defined($VARS{'TMP'}))?$VARS{'TMP'}:'tmp';
|
||||
$bin_dir=(defined($VARS{'BIN'}))?$VARS{'BIN'}:'';
|
||||
|
||||
($ssl,$crypto)=("ssl","crypto");
|
||||
$RSAglue="RSAglue";
|
||||
$ranlib="echo ranlib";
|
||||
|
||||
push(@INC,"util/pl","pl");
|
||||
if ($type eq "VC-MSDOS")
|
||||
{
|
||||
$asmbits=16;
|
||||
$msdos=1;
|
||||
require 'VC-16.pl';
|
||||
}
|
||||
elsif ($type eq "VC-W31-16")
|
||||
{
|
||||
$asmbits=16;
|
||||
$msdos=1; $win16=1;
|
||||
require 'VC-16.pl';
|
||||
}
|
||||
elsif (($type eq "VC-W31-32") || ($type eq "VC-WIN16"))
|
||||
{
|
||||
$asmbits=32;
|
||||
$msdos=1; $win16=1;
|
||||
require 'VC-16.pl';
|
||||
}
|
||||
elsif (($type eq "VC-WIN32") || ($type eq "VC-NT"))
|
||||
{
|
||||
require 'VC-32.pl';
|
||||
}
|
||||
elsif ($type eq "BC-NT")
|
||||
{
|
||||
$bc=1;
|
||||
require 'BC-32.pl';
|
||||
}
|
||||
elsif ($type eq "BC-W31")
|
||||
{
|
||||
$bc=1;
|
||||
$msdos=1; $w16=1;
|
||||
require 'BC-16.pl';
|
||||
}
|
||||
elsif ($type eq "BC-Q16")
|
||||
{
|
||||
$msdos=1; $w16=1; $shlib=0; $qw=1;
|
||||
require 'BC-16.pl';
|
||||
}
|
||||
elsif ($type eq "BC-MSDOS")
|
||||
{
|
||||
$asmbits=16;
|
||||
$msdos=1;
|
||||
require 'BC-16.pl';
|
||||
}
|
||||
elsif ($type eq "FreeBSD")
|
||||
{
|
||||
require 'unix.pl';
|
||||
$cflags='-DTERMIO -D_ANSI_SOURCE -O2 -fomit-frame-pointer';
|
||||
}
|
||||
else
|
||||
{
|
||||
require "unix.pl";
|
||||
|
||||
$unix=1;
|
||||
$cflags.=' -DTERMIO';
|
||||
}
|
||||
|
||||
# $bin_dir.=$o causes a core dump on my sparc :-(
|
||||
$bin_dir=$bin_dir.$o unless ((substr($bin_dir,-1,1) eq $o) || ($bin_dir eq ''));
|
||||
|
||||
$cflags.=" -DNO_IDEA" if $no_idea;
|
||||
$cflags.=" -DNO_RC2" if $no_rc2;
|
||||
$cflags.=" -DNO_RC4" if $no_rc4;
|
||||
$cflags.=" -DNO_MD2" if $no_md2;
|
||||
$cflags.=" -DNO_MD5" if $no_md5;
|
||||
$cflags.=" -DNO_SHA" if $no_sha;
|
||||
$cflags.=" -DNO_SHA1" if $no_sha1;
|
||||
$cflags.=" -DNO_MDC2" if $no_mdc2;
|
||||
$cflags.=" -DNO_BLOWFISH" if $no_bf;
|
||||
$cflags.=" -DNO_DES" if $no_des;
|
||||
$cflags.=" -DNO_RSA" if $no_rsa;
|
||||
$cflags.=" -DNO_DSA" if $no_dsa;
|
||||
$cflags.=" -DNO_DH" if $no_dh;
|
||||
$cflags.=" -DNO_SOCK" if $no_sock;
|
||||
$cflags.=" -DNO_SSL2" if $no_ssl2;
|
||||
$cflags.=" -DNO_SSL3" if $no_ssl3;
|
||||
$cflags.=" -DNO_ERR" if $no_err;
|
||||
$cflags.=" -DRSAref" if $rsaref ne "";
|
||||
|
||||
if ($unix)
|
||||
{ $cflags="$c_flags" if ($c_flags ne ""); }
|
||||
else { $cflags="$c_flags$cflags" if ($c_flags ne ""); }
|
||||
|
||||
$ex_libs="$l_flags$ex_libs" if ($l_flags ne "");
|
||||
|
||||
if ($ranlib ne "")
|
||||
{
|
||||
$ranlib="\$(SRC_D)$o$ranlib";
|
||||
}
|
||||
|
||||
if ($msdos)
|
||||
{
|
||||
$banner ="\t\@echo Make sure you have run 'perl Configure $type' in the\n";
|
||||
$banner.="\t\@echo top level directory, if you don't have perl, you will\n";
|
||||
$banner.="\t\@echo need to probably edit crypto/bn/bn.h, check the\n";
|
||||
$banner.="\t\@echo documentation for details.\n";
|
||||
}
|
||||
|
||||
# have to do this to allow $(CC) under unix
|
||||
$link="$bin_dir$link" if ($link !~ /^\$/);
|
||||
|
||||
$INSTALLTOP =~ s|/|$o|g;
|
||||
|
||||
$defs= <<"EOF";
|
||||
# This makefile has been automatically generated from the SSLeay distribution.
|
||||
# This single makefile will build the complete SSLeay distribution and
|
||||
# by default leave the 'intertesting' output files in .${o}out and the stuff
|
||||
# that needs deleting in .${o}tmp.
|
||||
# The file was generated by running 'make makefile.one', which
|
||||
# does a 'make files', which writes all the environment variables from all
|
||||
# the makefiles to the file call MINFO. This file is used by
|
||||
# util${o}mk1mf.pl to generate makefile.one.
|
||||
# The 'makefile per directory' system suites me when developing this
|
||||
# library and also so I can 'distribute' indervidual library sections.
|
||||
# The one monster makefile better suits building in non-unix
|
||||
# environments.
|
||||
|
||||
INSTALLTOP=$INSTALLTOP
|
||||
|
||||
# Set your compiler options
|
||||
CC=$bin_dir${cc}
|
||||
CFLAG=$cflags
|
||||
APP_CFLAG=$app_cflag
|
||||
LIB_CFLAG=$lib_cflag
|
||||
APP_EX_OBJ=$app_ex_obj
|
||||
SHLIB_EX_OBJ=$shlib_ex_obj
|
||||
# add extra libraries to this define, for solaris -lsocket -lnsl would
|
||||
# be added
|
||||
EX_LIBS=$ex_libs
|
||||
|
||||
# The SSLeay directory
|
||||
SRC_D=$src_dir
|
||||
|
||||
LINK=$link
|
||||
LFLAGS=$lflags
|
||||
|
||||
BN_MULW_OBJ=$bn_mulw_obj
|
||||
BN_MULW_SRC=$bn_mulw_src
|
||||
DES_ENC_OBJ=$des_enc_obj
|
||||
DES_ENC_SRC=$des_enc_src
|
||||
DES_CRYPT_OBJ=$des_crypt_obj
|
||||
DES_CRYPT_SRC=$des_crypt_src
|
||||
BF_ENC_OBJ=$bf_enc_obj
|
||||
BF_ENC_SRC=$bf_enc_src
|
||||
|
||||
# The output directory for everything intersting
|
||||
OUT_D=$out_dir
|
||||
# The output directory for all the temporary muck
|
||||
TMP_D=$tmp_dir
|
||||
|
||||
CP=$cp
|
||||
RM=$rm
|
||||
RANLIB=$ranlib
|
||||
MKDIR=mkdir
|
||||
MKLIB=$bin_dir$mklib
|
||||
MLFLAGS=$mlflags
|
||||
ASM=$bin_dir$asm
|
||||
|
||||
######################################################
|
||||
# You should not need to touch anything below this point
|
||||
######################################################
|
||||
|
||||
E_EXE=ssleay
|
||||
SSL=$ssl
|
||||
CRYPTO=$crypto
|
||||
RSAGLUE=$RSAglue
|
||||
|
||||
# BIN_D - Binary output directory
|
||||
# TEST_D - Binary test file output directory
|
||||
# LIB_D - library output directory
|
||||
# INC_D - include directory
|
||||
BIN_D=\$(OUT_D)
|
||||
TEST_D=\$(OUT_D)
|
||||
LIB_D=\$(OUT_D)
|
||||
INC_D=\$(OUT_D)
|
||||
|
||||
# INCL_D - local library directory
|
||||
# OBJ_D - temp object file directory
|
||||
OBJ_D=\$(TMP_D)
|
||||
INCL_D=\$(TMP_D)
|
||||
|
||||
O_SSL= \$(LIB_D)$o$plib\$(SSL)$shlibp
|
||||
O_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$shlibp
|
||||
O_RSAGLUE= \$(LIB_D)$o$plib\$(RSAGLUE)$libp
|
||||
L_SSL= \$(LIB_D)$o$plib\$(SSL)$libp
|
||||
L_CRYPTO= \$(LIB_D)$o$plib\$(CRYPTO)$libp
|
||||
|
||||
L_LIBS= \$(L_SSL) \$(L_CRYPTO)
|
||||
#L_LIBS= \$(O_SSL) \$(O_RSAGLUE) -lrsaref \$(O_CRYPTO)
|
||||
|
||||
######################################################
|
||||
# Don't touch anything below this point
|
||||
######################################################
|
||||
|
||||
INC=-DFLAT_INC -I\$(INC_D) -I\$(INCL_D)
|
||||
APP_CFLAGS=\$(INC) \$(CFLAG) \$(APP_CFLAG)
|
||||
LIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG)
|
||||
LIBS_DEP=\$(O_CRYPTO) \$(O_RSAGLUE) \$(O_SSL)
|
||||
|
||||
#############################################
|
||||
EOF
|
||||
|
||||
$rules=<<"EOF";
|
||||
all: banner \$(OUT_D) \$(TMP_D) headers lib exe
|
||||
|
||||
banner:
|
||||
$banner
|
||||
|
||||
\$(OUT_D):
|
||||
\$(MKDIR) \$(OUT_D)
|
||||
|
||||
\$(TMP_D):
|
||||
\$(MKDIR) \$(TMP_D)
|
||||
|
||||
headers: \$(HEADER) \$(EXHEADER)
|
||||
|
||||
lib: \$(LIBS_DEP)
|
||||
|
||||
exe: \$(T_EXE) \$(BIN_D)$o\$(E_EXE)$exep
|
||||
|
||||
install:
|
||||
\$(MKDIR) \$(INSTALLTOP)
|
||||
\$(MKDIR) \$(INSTALLTOP)${o}bin
|
||||
\$(MKDIR) \$(INSTALLTOP)${o}include
|
||||
\$(MKDIR) \$(INSTALLTOP)${o}lib
|
||||
\$(CP) \$(INC_D)${o}*.h \$(INSTALLTOP)${o}include
|
||||
\$(CP) \$(BIN_D)$o\$(E_EXE)$exep \$(INSTALLTOP)${o}bin
|
||||
\$(CP) \$(LIB_D)$o\$(O_SSL) \$(INSTALLTOP)${o}lib
|
||||
\$(CP) \$(LIB_D)$o\$(O_CRYPTO) \$(INSTALLTOP)${o}lib
|
||||
|
||||
clean:
|
||||
\$(RM) \$(TMP_D)$o*.*
|
||||
|
||||
vclean:
|
||||
\$(RM) \$(TMP_D)$o*.*
|
||||
\$(RM) \$(OUT_D)$o*.*
|
||||
|
||||
EOF
|
||||
|
||||
#############################################
|
||||
# We parse in input file and 'store' info for later printing.
|
||||
open(IN,"<$infile") || die "unable to open $infile:$!\n";
|
||||
$_=<IN>;
|
||||
for (;;)
|
||||
{
|
||||
chop;
|
||||
|
||||
($key,$val)=/^([^=]+)=(.*)/;
|
||||
if ($key eq "RELATIVE_DIRECTORY")
|
||||
{
|
||||
if ($lib ne "")
|
||||
{
|
||||
$uc=$lib;
|
||||
$uc =~ s/^lib(.*)\.a/$1/;
|
||||
$uc =~ tr/a-z/A-Z/;
|
||||
$lib_nam{$uc}=$uc;
|
||||
$lib_obj{$uc}.=$libobj." ";
|
||||
}
|
||||
last if ($val eq "FINISHED");
|
||||
$lib="";
|
||||
$libobj="";
|
||||
$dir=$val;
|
||||
}
|
||||
|
||||
if ($key eq "TEST")
|
||||
{ $test.=&var_add($dir,$val); }
|
||||
|
||||
if (($key eq "PROGS") || ($key eq "E_OBJ"))
|
||||
{ $e_exe.=&var_add($dir,$val); }
|
||||
|
||||
if ($key eq "LIB")
|
||||
{
|
||||
$lib=$val;
|
||||
$lib =~ s/^.*\/([^\/]+)$/$1/;
|
||||
}
|
||||
|
||||
if ($key eq "EXHEADER")
|
||||
{ $exheader.=&var_add($dir,$val); }
|
||||
|
||||
if ($key eq "HEADER")
|
||||
{ $header.=&var_add($dir,$val); }
|
||||
|
||||
if ($key eq "LIBOBJ")
|
||||
{ $libobj=&var_add($dir,$val); }
|
||||
|
||||
if (!($_=<IN>))
|
||||
{ $_="RELATIVE_DIRECTORY=FINISHED\n"; }
|
||||
}
|
||||
close(IN);
|
||||
|
||||
# Strip of trailing ' '
|
||||
foreach (keys %lib_obj) { $lib_obj{$_}=&clean_up_ws($lib_obj{$_}); }
|
||||
$test=&clean_up_ws($test);
|
||||
$e_exe=&clean_up_ws($e_exe);
|
||||
$exheader=&clean_up_ws($exheader);
|
||||
$header=&clean_up_ws($header);
|
||||
|
||||
# First we strip the exheaders from the headers list
|
||||
foreach (split(/\s+/,$exheader)){ $h{$_}=1; }
|
||||
foreach (split(/\s+/,$header)) { $h.=$_." " unless $h{$_}; }
|
||||
chop($h); $header=$h;
|
||||
|
||||
$defs.=&do_defs("HEADER",$header,"\$(INCL_D)",".h");
|
||||
$rules.=&do_copy_rule("\$(INCL_D)",$header,".h");
|
||||
|
||||
$defs.=&do_defs("EXHEADER",$exheader,"\$(INC_D)",".h");
|
||||
$rules.=&do_copy_rule("\$(INC_D)",$exheader,".h");
|
||||
|
||||
$defs.=&do_defs("T_OBJ",$test,"\$(OBJ_D)",$obj);
|
||||
$rules.=&do_compile_rule("\$(OBJ_D)",$test,"\$(APP_CFLAGS)");
|
||||
|
||||
$defs.=&do_defs("E_OBJ",$e_exe,"\$(OBJ_D)",$obj);
|
||||
$rules.=&do_compile_rule("\$(OBJ_D)",$e_exe,'-DMONOLITH $(APP_CFLAGS)');
|
||||
|
||||
foreach (values %lib_nam)
|
||||
{
|
||||
$lib_obj=$lib_obj{$_};
|
||||
|
||||
if (($_ eq "SSL") && $no_ssl2 && $no_ssl3)
|
||||
{
|
||||
$rules.="\$(O_SSL):\n\n";
|
||||
next;
|
||||
}
|
||||
|
||||
if (($_ eq "RSAGLUE") && $no_rsa)
|
||||
{
|
||||
$rules.="\$(O_RSAGLUE):\n\n";
|
||||
next;
|
||||
}
|
||||
|
||||
if (($bn_mulw_obj ne "") && ($_ eq "CRYPTO"))
|
||||
{
|
||||
$lib_obj =~ s/\S*bn_mulw\S*/\$(BN_MULW_OBJ)/;
|
||||
$rules.=&do_asm_rule($bn_mulw_obj,$bn_mulw_src);
|
||||
}
|
||||
if (($des_enc_obj ne "") && ($_ eq "CRYPTO"))
|
||||
{
|
||||
$lib_obj =~ s/\S*des_enc\S*/\$(DES_ENC_OBJ)/;
|
||||
$lib_obj =~ s/\S*fcrypt_b\S*\s*//;
|
||||
$rules.=&do_asm_rule($des_enc_obj,$des_enc_src);
|
||||
}
|
||||
if (($bf_enc_obj ne "") && ($_ eq "CRYPTO"))
|
||||
{
|
||||
$lib_obj =~ s/\S*bf_enc\S*/\$(BF_ENC_OBJ)/;
|
||||
$rules.=&do_asm_rule($bf_enc_obj,$bf_enc_src);
|
||||
}
|
||||
$defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj);
|
||||
$rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},"\$(LIB_CFLAGS)");
|
||||
}
|
||||
|
||||
$defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep);
|
||||
foreach (split(/\s+/,$test))
|
||||
{
|
||||
$t=&bname($_);
|
||||
$tt="\$(OBJ_D)${o}$t${obj}";
|
||||
$rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
|
||||
}
|
||||
|
||||
$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib);
|
||||
$rules.= &do_lib_rule("\$(RSAGLUEOBJ)","\$(O_RSAGLUE)",$RSAglue,0)
|
||||
unless $no_rsa;
|
||||
$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib);
|
||||
|
||||
$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
|
||||
|
||||
print $defs;
|
||||
print "###################################################################\n";
|
||||
print $rules;
|
||||
|
||||
###############################################
|
||||
# strip off any trailing .[och] and append the relative directory
|
||||
# also remembering to do nothing if we are in one of the dropped
|
||||
# directories
|
||||
sub var_add
|
||||
{
|
||||
local($dir,$val)=@_;
|
||||
local(@a,$_,$ret);
|
||||
|
||||
return("") if $no_idea && $dir =~ /\/idea/;
|
||||
return("") if $no_rc2 && $dir =~ /\/rc2/;
|
||||
return("") if $no_rc4 && $dir =~ /\/rc4/;
|
||||
return("") if $no_rsa && $dir =~ /\/rsa/;
|
||||
return("") if $no_rsa && $dir =~ /^rsaref/;
|
||||
return("") if $no_dsa && $dir =~ /\/dsa/;
|
||||
return("") if $no_dh && $dir =~ /\/dh/;
|
||||
if ($no_des && $dir =~ /\/des/)
|
||||
{
|
||||
if ($val =~ /read_pwd/)
|
||||
{ return("$dir/read_pwd "); }
|
||||
else
|
||||
{ return(""); }
|
||||
}
|
||||
return("") if $no_mdc2 && $dir =~ /\/mdc2/;
|
||||
return("") if $no_sock && $dir =~ /\/proxy/;
|
||||
return("") if $no_bf && $dir =~ /\/bf/;
|
||||
|
||||
$val =~ s/^\s*(.*)\s*$/$1/;
|
||||
@a=split(/\s+/,$val);
|
||||
grep(s/\.[och]$//,@a);
|
||||
|
||||
@a=grep(!/^e_.*_3d$/,@a) if $no_des;
|
||||
@a=grep(!/^e_.*_d$/,@a) if $no_des;
|
||||
@a=grep(!/^e_.*_i$/,@a) if $no_idea;
|
||||
@a=grep(!/^e_.*_r2$/,@a) if $no_rc2;
|
||||
@a=grep(!/^e_.*_bf$/,@a) if $no_bf;
|
||||
@a=grep(!/^e_rc4$/,@a) if $no_rc4;
|
||||
|
||||
@a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2;
|
||||
@a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3;
|
||||
|
||||
@a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock;
|
||||
|
||||
@a=grep(!/(^md2)|(_md2$)/,@a) if $no_md2;
|
||||
@a=grep(!/(^md5)|(_md5$)/,@a) if $no_md5;
|
||||
|
||||
@a=grep(!/(^d2i_r_)|(^i2d_r_)/,@a) if $no_rsa;
|
||||
@a=grep(!/(^p_open$)|(^p_seal$)/,@a) if $no_rsa;
|
||||
@a=grep(!/(^pem_seal$)/,@a) if $no_rsa;
|
||||
|
||||
@a=grep(!/(m_dss$)|(m_dss1$)/,@a) if $no_dsa;
|
||||
@a=grep(!/(^d2i_s_)|(^i2d_s_)|(_dsap$)/,@a) if $no_dsa;
|
||||
|
||||
@a=grep(!/^n_pkey$/,@a) if $no_rsa || $no_rc4;
|
||||
|
||||
@a=grep(!/_dhp$/,@a) if $no_dh;
|
||||
|
||||
@a=grep(!/(^sha[^1])|(_sha$)|(m_dss$)/,@a) if $no_sha;
|
||||
@a=grep(!/(^sha1)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1;
|
||||
@a=grep(!/_mdc2$/,@a) if $no_mdc2;
|
||||
|
||||
@a=grep(!/(^rsa$)|(^genrsa$)|(^req$)|(^ca$)/,@a) if $no_rsa;
|
||||
@a=grep(!/(^dsa$)|(^gendsa$)|(^dsaparam$)/,@a) if $no_dsa;
|
||||
@a=grep(!/^gendsa$/,@a) if $no_sha1;
|
||||
@a=grep(!/(^dh$)|(^gendh$)/,@a) if $no_dh;
|
||||
|
||||
@a=grep(!/(^dh)|(_sha1$)|(m_dss1$)/,@a) if $no_sha1;
|
||||
|
||||
grep($_="$dir/$_",@a);
|
||||
@a=grep(!/(^|\/)s_/,@a) if $no_sock;
|
||||
@a=grep(!/(^|\/)bio_sock/,@a) if $no_sock;
|
||||
$ret=join(' ',@a)." ";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
# change things so that each 'token' is only separated by one space
|
||||
sub clean_up_ws
|
||||
{
|
||||
local($w)=@_;
|
||||
|
||||
$w =~ s/^\s*(.*)\s*$/$1/;
|
||||
$w =~ s/\s+/ /g;
|
||||
return($w);
|
||||
}
|
||||
|
||||
sub do_defs
|
||||
{
|
||||
local($var,$files,$location,$postfix)=@_;
|
||||
local($_,$ret);
|
||||
local(*OUT,$tmp,$t);
|
||||
|
||||
$files =~ s/\//$o/g if $o ne '/';
|
||||
$ret="$var=";
|
||||
$n=1;
|
||||
$Vars{$var}.="";
|
||||
foreach (split(/ /,$files))
|
||||
{
|
||||
$_=&bname($_) unless /^\$/;
|
||||
if ($n++ == 2)
|
||||
{
|
||||
$n=0;
|
||||
$ret.="\\\n\t";
|
||||
}
|
||||
if ($_ =~ /BN_MULW/)
|
||||
{ $t="$_ "; }
|
||||
elsif ($_ =~ /DES_ENC/)
|
||||
{ $t="$_ "; }
|
||||
elsif ($_ =~ /BF_ENC/)
|
||||
{ $t="$_ "; }
|
||||
else { $t="$location${o}$_$postfix "; }
|
||||
|
||||
$Vars{$var}.="$t ";
|
||||
$ret.=$t;
|
||||
}
|
||||
chop($ret);
|
||||
$ret.="\n\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
# return the name with the leading path removed
|
||||
sub bname
|
||||
{
|
||||
local($ret)=@_;
|
||||
$ret =~ s/^.*[\\\/]([^\\\/]+)$/$1/;
|
||||
return($ret);
|
||||
}
|
||||
|
||||
# do a rule for each file that says 'copy' to new direcory on change
|
||||
sub do_copy_rule
|
||||
{
|
||||
local($to,$files,$p)=@_;
|
||||
local($ret,$_,$n);
|
||||
|
||||
$files =~ s/\//$o/g if $o ne '/';
|
||||
foreach (split(/\s+/,$files))
|
||||
{
|
||||
$n=&bname($_);
|
||||
$ret.="$to${o}$n$p: \$(SRC_D)$o$_$p\n\t\$(CP) \$(SRC_D)$o$_$p $to${o}$n$p\n\n";
|
||||
}
|
||||
return($ret);
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# do a rule for each file that says 'compile' to new direcory
|
||||
# compile the files in '$files' into $to
|
||||
sub do_compile_rule
|
||||
{
|
||||
local($to,$files,$ex)=@_;
|
||||
local($ret,$_,$n);
|
||||
|
||||
$files =~ s/\//$o/g if $o ne '/';
|
||||
foreach (split(/\s+/,$files))
|
||||
{
|
||||
$n=&bname($_);
|
||||
$ret.=&cc_compile_target("$to${o}$n$obj","${_}.c",$ex)
|
||||
}
|
||||
return($ret);
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# do a rule for each file that says 'compile' to new direcory
|
||||
sub cc_compile_target
|
||||
{
|
||||
local($target,$source,$ex_flags)=@_;
|
||||
local($ret);
|
||||
|
||||
# EAY EAY
|
||||
$ex_flags.=' -DCFLAGS="\"$(CC) $(CFLAG)\""' if ($source =~ /cversion/);
|
||||
$target =~ s/\//$o/g if $o ne "/";
|
||||
$source =~ s/\//$o/g if $o ne "/";
|
||||
$ret ="$target: \$(SRC_D)$o$source\n\t";
|
||||
$ret.="\$(CC) ${ofile}$target $ex_flags -c \$(SRC_D)$o$source\n\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
##############################################################
|
||||
sub do_asm_rule
|
||||
{
|
||||
local($target,$src)=@_;
|
||||
local($ret,@s,@t,$i);
|
||||
|
||||
$target =~ s/\//$o/g if $o ne "/";
|
||||
$src =~ s/\//$o/g if $o ne "/";
|
||||
|
||||
@s=split(/\s+/,$src);
|
||||
@t=split(/\s+/,$target);
|
||||
|
||||
for ($i=0; $i<=$#s; $i++)
|
||||
{
|
||||
$ret.="$t[$i]: $s[$i]\n";
|
||||
$ret.="\t\$(ASM) $afile$t[$i] \$(SRC_D)$o$s[$i]\n\n";
|
||||
}
|
||||
return($ret);
|
||||
}
|
||||
|
||||
sub do_shlib_rule
|
||||
{
|
||||
local($n,$def)=@_;
|
||||
local($ret,$nn);
|
||||
local($t);
|
||||
|
||||
($nn=$n) =~ tr/a-z/A-Z/;
|
||||
$ret.="$n.dll: \$(${nn}OBJ)\n";
|
||||
if ($vc && $w32)
|
||||
{
|
||||
$ret.="\t\$(MKSHLIB) $efile$n.dll $def @<<\n \$(${nn}OBJ_F)\n<<\n";
|
||||
}
|
||||
$ret.="\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
220
util/mkcerts.sh
Executable file
220
util/mkcerts.sh
Executable file
@@ -0,0 +1,220 @@
|
||||
#!bin/sh
|
||||
|
||||
# This script will re-make all the required certs.
|
||||
# cd apps
|
||||
# sh ../util/mkcerts.sh
|
||||
# mv ca-cert.pem pca-cert.pem ../certs
|
||||
# cd ..
|
||||
# cat certs/*.pem >>apps/server.pem
|
||||
# cat certs/*.pem >>apps/server2.pem
|
||||
# SSLEAY=`pwd`/apps/ssleay; export SSLEAY
|
||||
# sh tools/c_rehash certs
|
||||
#
|
||||
|
||||
CAbits=1024
|
||||
SSLEAY="../apps/ssleay"
|
||||
CONF="-config ../apps/ssleay.cnf"
|
||||
|
||||
# create pca request.
|
||||
echo creating $CAbits bit PCA cert request
|
||||
$SSLEAY req $CONF \
|
||||
-new -md5 -newkey $CAbits \
|
||||
-keyout pca-key.pem \
|
||||
-out pca-req.pem -nodes >/dev/null <<EOF
|
||||
AU
|
||||
Queensland
|
||||
.
|
||||
CryptSoft Pty Ltd
|
||||
.
|
||||
Test PCA (1024 bit)
|
||||
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems generating PCA request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#sign it.
|
||||
echo
|
||||
echo self signing PCA
|
||||
$SSLEAY x509 -md5 -days 1461 \
|
||||
-req -signkey pca-key.pem \
|
||||
-CAcreateserial -CAserial pca-cert.srl \
|
||||
-in pca-req.pem -out pca-cert.pem
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems self signing PCA cert
|
||||
exit 1
|
||||
fi
|
||||
echo
|
||||
|
||||
# create ca request.
|
||||
echo creating $CAbits bit CA cert request
|
||||
$SSLEAY req $CONF \
|
||||
-new -md5 -newkey $CAbits \
|
||||
-keyout ca-key.pem \
|
||||
-out ca-req.pem -nodes >/dev/null <<EOF
|
||||
AU
|
||||
Queensland
|
||||
.
|
||||
CryptSoft Pty Ltd
|
||||
.
|
||||
Test CA (1024 bit)
|
||||
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems generating CA request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#sign it.
|
||||
echo
|
||||
echo signing CA
|
||||
$SSLEAY x509 -md5 -days 1461 \
|
||||
-req \
|
||||
-CAcreateserial -CAserial pca-cert.srl \
|
||||
-CA pca-cert.pem -CAkey pca-key.pem \
|
||||
-in ca-req.pem -out ca-cert.pem
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems signing CA cert
|
||||
exit 1
|
||||
fi
|
||||
echo
|
||||
|
||||
# create server request.
|
||||
echo creating 512 bit server cert request
|
||||
$SSLEAY req $CONF \
|
||||
-new -md5 -newkey 512 \
|
||||
-keyout s512-key.pem \
|
||||
-out s512-req.pem -nodes >/dev/null <<EOF
|
||||
AU
|
||||
Queensland
|
||||
.
|
||||
CryptSoft Pty Ltd
|
||||
.
|
||||
Server test cert (512 bit)
|
||||
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems generating 512 bit server cert request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#sign it.
|
||||
echo
|
||||
echo signing 512 bit server cert
|
||||
$SSLEAY x509 -md5 -days 365 \
|
||||
-req \
|
||||
-CAcreateserial -CAserial ca-cert.srl \
|
||||
-CA ca-cert.pem -CAkey ca-key.pem \
|
||||
-in s512-req.pem -out server.pem
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems signing 512 bit server cert
|
||||
exit 1
|
||||
fi
|
||||
echo
|
||||
|
||||
# create 1024 bit server request.
|
||||
echo creating 1024 bit server cert request
|
||||
$SSLEAY req $CONF \
|
||||
-new -md5 -newkey 1024 \
|
||||
-keyout s1024key.pem \
|
||||
-out s1024req.pem -nodes >/dev/null <<EOF
|
||||
AU
|
||||
Queensland
|
||||
.
|
||||
CryptSoft Pty Ltd
|
||||
.
|
||||
Server test cert (1024 bit)
|
||||
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems generating 1024 bit server cert request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#sign it.
|
||||
echo
|
||||
echo signing 1024 bit server cert
|
||||
$SSLEAY x509 -md5 -days 365 \
|
||||
-req \
|
||||
-CAcreateserial -CAserial ca-cert.srl \
|
||||
-CA ca-cert.pem -CAkey ca-key.pem \
|
||||
-in s1024req.pem -out server2.pem
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems signing 1024 bit server cert
|
||||
exit 1
|
||||
fi
|
||||
echo
|
||||
|
||||
# create 512 bit client request.
|
||||
echo creating 512 bit client cert request
|
||||
$SSLEAY req $CONF \
|
||||
-new -md5 -newkey 512 \
|
||||
-keyout c512-key.pem \
|
||||
-out c512-req.pem -nodes >/dev/null <<EOF
|
||||
AU
|
||||
Queensland
|
||||
.
|
||||
CryptSoft Pty Ltd
|
||||
.
|
||||
Client test cert (512 bit)
|
||||
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems generating 512 bit client cert request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#sign it.
|
||||
echo
|
||||
echo signing 512 bit client cert
|
||||
$SSLEAY x509 -md5 -days 365 \
|
||||
-req \
|
||||
-CAcreateserial -CAserial ca-cert.srl \
|
||||
-CA ca-cert.pem -CAkey ca-key.pem \
|
||||
-in c512-req.pem -out client.pem
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo problems signing 512 bit client cert
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo cleanup
|
||||
|
||||
cat pca-key.pem >> pca-cert.pem
|
||||
cat ca-key.pem >> ca-cert.pem
|
||||
cat s512-key.pem >> server.pem
|
||||
cat s1024key.pem >> server2.pem
|
||||
cat c512-key.pem >> client.pem
|
||||
|
||||
for i in pca-cert.pem ca-cert.pem server.pem server2.pem client.pem
|
||||
do
|
||||
$SSLEAY x509 -issuer -subject -in $i -noout >$$
|
||||
cat $$
|
||||
/bin/cat $i >>$$
|
||||
/bin/mv $$ $i
|
||||
done
|
||||
|
||||
#/bin/rm -f *key.pem *req.pem *.srl
|
||||
|
||||
echo Finished
|
||||
|
||||
260
util/mkdef.pl
Executable file
260
util/mkdef.pl
Executable file
@@ -0,0 +1,260 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# generate a .def file
|
||||
#
|
||||
# It does this by parsing the header files and looking for the
|
||||
# non-prototyped functions.
|
||||
#
|
||||
|
||||
$crypto_num="util/libeay.num";
|
||||
$ssl_num= "util/ssleay.num";
|
||||
|
||||
$NT=1;
|
||||
foreach (@ARGV)
|
||||
{
|
||||
$NT=1 if $_ eq "32";
|
||||
$NT=0 if $_ eq "16";
|
||||
$do_ssl=1 if $_ eq "ssleay";
|
||||
$do_crypto=1 if $_ eq "libeay";
|
||||
}
|
||||
|
||||
if (!$do_ssl && !$do_crypto)
|
||||
{
|
||||
print STDERR "usage: $0 ( ssl | crypto ) [ 16 | 32 ]\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
%ssl_list=&load_numbers($ssl_num);
|
||||
%crypto_list=&load_numbers($crypto_num);
|
||||
|
||||
$ssl="ssl/ssl.h";
|
||||
|
||||
$crypto ="crypto/crypto.h";
|
||||
$crypto.=" crypto/des/des.h";
|
||||
$crypto.=" crypto/idea/idea.h";
|
||||
$crypto.=" crypto/rc4/rc4.h";
|
||||
$crypto.=" crypto/rc2/rc2.h";
|
||||
$crypto.=" crypto/bf/blowfish.h";
|
||||
$crypto.=" crypto/md/md2.h";
|
||||
$crypto.=" crypto/md/md5.h";
|
||||
$crypto.=" crypto/mdc2/mdc2.h";
|
||||
$crypto.=" crypto/sha/sha.h";
|
||||
|
||||
$crypto.=" crypto/bn/bn.h";
|
||||
$crypto.=" crypto/rsa/rsa.h";
|
||||
$crypto.=" crypto/dsa/dsa.h";
|
||||
$crypto.=" crypto/dh/dh.h";
|
||||
|
||||
$crypto.=" crypto/stack/stack.h";
|
||||
$crypto.=" crypto/buffer/buffer.h";
|
||||
$crypto.=" crypto/bio/bio.h";
|
||||
$crypto.=" crypto/lhash/lhash.h";
|
||||
$crypto.=" crypto/conf/conf.h";
|
||||
$crypto.=" crypto/txt_db/txt_db.h";
|
||||
|
||||
$crypto.=" crypto/evp/evp.h";
|
||||
$crypto.=" crypto/objects/objects.h";
|
||||
$crypto.=" crypto/pem/pem.h";
|
||||
#$crypto.=" crypto/meth/meth.h";
|
||||
$crypto.=" crypto/asn1/asn1.h";
|
||||
$crypto.=" crypto/asn1/asn1_mac.h";
|
||||
$crypto.=" crypto/err/err.h";
|
||||
$crypto.=" crypto/pkcs7/pkcs7.h";
|
||||
$crypto.=" crypto/x509/x509.h";
|
||||
$crypto.=" crypto/x509/x509_vfy.h";
|
||||
$crypto.=" crypto/rand/rand.h";
|
||||
|
||||
$match{'NOPROTO'}=1;
|
||||
$match2{'PERL5'}=1;
|
||||
|
||||
&print_def_file(*STDOUT,"SSLEAY",*ssl_list,&do_defs("SSLEAY",$ssl))
|
||||
if $do_ssl == 1;
|
||||
|
||||
&print_def_file(*STDOUT,"LIBEAY",*crypto_list,&do_defs("LIBEAY",$crypto))
|
||||
if $do_crypto == 1;
|
||||
|
||||
sub do_defs
|
||||
{
|
||||
local($name,$files)=@_;
|
||||
local(@ret);
|
||||
|
||||
$off=-1;
|
||||
foreach $file (split(/\s+/,$files))
|
||||
{
|
||||
# print STDERR "reading $file\n";
|
||||
open(IN,"<$file") || die "unable to open $file:$!\n";
|
||||
$depth=0;
|
||||
$pr=-1;
|
||||
@np="";
|
||||
$/=undef;
|
||||
$a=<IN>;
|
||||
while (($i=index($a,"/*")) >= 0)
|
||||
{
|
||||
$j=index($a,"*/");
|
||||
break unless ($j >= 0);
|
||||
$a=substr($a,0,$i).substr($a,$j+2);
|
||||
# print "$i $j\n";
|
||||
}
|
||||
foreach (split("\n",$a))
|
||||
{
|
||||
if (/^\#ifndef (.*)/)
|
||||
{
|
||||
push(@tag,$1);
|
||||
$tag{$1}=-1;
|
||||
next;
|
||||
}
|
||||
elsif (/^\#if !defined\(([^\)]+)\)/)
|
||||
{
|
||||
push(@tag,$1);
|
||||
$tag{$1}=-1;
|
||||
next;
|
||||
}
|
||||
elsif (/^\#ifdef (.*)/)
|
||||
{
|
||||
push(@tag,$1);
|
||||
$tag{$1}=1;
|
||||
next;
|
||||
}
|
||||
elsif (/^\#if (.*)/)
|
||||
{
|
||||
push(@tag,$1);
|
||||
$tag{$1}=1;
|
||||
next;
|
||||
}
|
||||
elsif (/^\#endif/)
|
||||
{
|
||||
$tag{$tag[$#tag]}=0;
|
||||
pop(@tag);
|
||||
next;
|
||||
}
|
||||
elsif (/^\#else/)
|
||||
{
|
||||
$t=$tag[$#tag];
|
||||
$tag{$t}= -$tag{$t};
|
||||
next;
|
||||
}
|
||||
$t=undef;
|
||||
if (/^extern .*;$/)
|
||||
{ $t=&do_extern($name,$_); }
|
||||
elsif ( ($tag{'NOPROTO'} == 1) &&
|
||||
($tag{'FreeBSD'} != 1) &&
|
||||
(($NT && ($tag{'WIN16'} != 1)) ||
|
||||
(!$NT && ($tag{'WIN16'} != -1))) &&
|
||||
($tag{'PERL5'} != 1))
|
||||
{ $t=&do_line($name,$_); }
|
||||
if (($t ne undef) && (!$done{$name,$t}))
|
||||
{
|
||||
$done{$name,$t}++;
|
||||
push(@ret,$t);
|
||||
}
|
||||
}
|
||||
close(IN);
|
||||
}
|
||||
return(@ret);
|
||||
}
|
||||
|
||||
sub do_line
|
||||
{
|
||||
local($file,$_)=@_;
|
||||
local($n);
|
||||
|
||||
return(undef) if /^$/;
|
||||
return(undef) if /^\s/;
|
||||
if (/(CRYPTO_get_locking_callback)/)
|
||||
{ return($1); }
|
||||
elsif (/(CRYPTO_get_id_callback)/)
|
||||
{ return($1); }
|
||||
elsif (/(CRYPTO_get_add_lock_callback)/)
|
||||
{ return($1); }
|
||||
elsif (/(SSL_CTX_get_verify_callback)/)
|
||||
{ return($1); }
|
||||
else
|
||||
{
|
||||
/\s\**(\S+)\s*\(/;
|
||||
return($1);
|
||||
}
|
||||
}
|
||||
|
||||
sub do_extern
|
||||
{
|
||||
local($file,$_)=@_;
|
||||
local($n);
|
||||
|
||||
/\s\**(\S+);$/;
|
||||
return($1);
|
||||
}
|
||||
|
||||
sub print_def_file
|
||||
{
|
||||
local(*OUT,$name,*nums,@functions)=@_;
|
||||
local($n)=1;
|
||||
|
||||
if ($NT)
|
||||
{ $name.="32"; }
|
||||
else
|
||||
{ $name.="16"; }
|
||||
|
||||
print OUT <<"EOF";
|
||||
;
|
||||
; Definition file for the DDL version of the $name library from SSLeay
|
||||
;
|
||||
|
||||
LIBRARY $name
|
||||
|
||||
DESCRIPTION 'SSLeay $name - eay\@cryptsoft.com'
|
||||
|
||||
EOF
|
||||
|
||||
if (!$NT)
|
||||
{
|
||||
print <<"EOF";
|
||||
CODE PRELOAD MOVEABLE
|
||||
DATA PRELOAD MOVEABLE SINGLE
|
||||
|
||||
EXETYPE WINDOWS
|
||||
|
||||
HEAPSIZE 4096
|
||||
STACKSIZE 8192
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
print "EXPORTS\n";
|
||||
|
||||
|
||||
(@e)=grep(/^SSLeay/,@functions);
|
||||
(@r)=grep(!/^SSLeay/,@functions);
|
||||
@functions=((sort @e),(sort @r));
|
||||
|
||||
foreach $func (@functions)
|
||||
{
|
||||
if (!defined($nums{$func}))
|
||||
{
|
||||
printf STDERR "$func does not have a number assigned\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$n=$nums{$func};
|
||||
printf OUT " %s%-35s@%d\n",($NT)?"":"_",$func,$n;
|
||||
}
|
||||
}
|
||||
printf OUT "\n";
|
||||
}
|
||||
|
||||
sub load_numbers
|
||||
{
|
||||
local($name)=@_;
|
||||
local($j,@a,%ret);
|
||||
|
||||
open(IN,"<$name") || die "unable to open $name:$!\n";
|
||||
while (<IN>)
|
||||
{
|
||||
chop;
|
||||
s/#.*$//;
|
||||
next if /^\s*$/;
|
||||
@a=split;
|
||||
$ret{$a[0]}=$a[1];
|
||||
}
|
||||
close(IN);
|
||||
return(%ret);
|
||||
}
|
||||
35
util/mklink.sh
Executable file
35
util/mklink.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# A bit of an ugly shell script used to actually 'link' files.
|
||||
# Used by 'make links'
|
||||
#
|
||||
|
||||
PATH=$PATH:.:util:../util:../../util
|
||||
export PATH
|
||||
|
||||
from=$1
|
||||
shift
|
||||
|
||||
here=`pwd`
|
||||
tmp=`dirname $from`
|
||||
while [ "$tmp"x != "x" -a "$tmp"x != ".x" ]
|
||||
do
|
||||
t=`basename $here`
|
||||
here=`dirname $here`
|
||||
to="/$t$to"
|
||||
tmp=`dirname $tmp`
|
||||
done
|
||||
to=..$to
|
||||
|
||||
#echo from=$from
|
||||
#echo to =$to
|
||||
#exit 1
|
||||
|
||||
if [ "$*"x != "x" ]; then
|
||||
for i in $*
|
||||
do
|
||||
/bin/rm -f $from/$i
|
||||
point.sh $to/$i $from/$i
|
||||
done
|
||||
fi
|
||||
exit 0;
|
||||
30
util/perlpath.pl
Executable file
30
util/perlpath.pl
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# modify the '#!/usr/local/bin/perl'
|
||||
# line in all scripts that rely on perl.
|
||||
#
|
||||
|
||||
require "find.pl";
|
||||
|
||||
$#ARGV == 0 || print STDERR "usage: perlpath newpath (eg /usr/bin)\n";
|
||||
&find(".");
|
||||
|
||||
sub wanted
|
||||
{
|
||||
return unless /\.pl$/ || /^[Cc]onfigur/;
|
||||
|
||||
open(IN,"<$_") || die "unable to open $dir/$_:$!\n";
|
||||
@a=<IN>;
|
||||
close(IN);
|
||||
|
||||
$a[0]="#!$ARGV[0]/perl\n";
|
||||
|
||||
# Playing it safe...
|
||||
$new="$_.new";
|
||||
open(OUT,">$new") || die "unable to open $dir/$new:$!\n";
|
||||
print OUT @a;
|
||||
close(OUT);
|
||||
|
||||
rename($new,$_) || die "unable to rename $dir/$new:$!\n";
|
||||
chmod(0755,$_) || die "unable to chmod $dir/$new:$!\n";
|
||||
}
|
||||
146
util/pl/BC-16.pl
Normal file
146
util/pl/BC-16.pl
Normal file
@@ -0,0 +1,146 @@
|
||||
#!/usr/local/bin/perl
|
||||
# VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries
|
||||
#
|
||||
|
||||
$o='\\';
|
||||
$cp='copy';
|
||||
$rm='del';
|
||||
|
||||
# C compiler stuff
|
||||
$cc='bcc';
|
||||
|
||||
if ($debug)
|
||||
{ $op="-v "; }
|
||||
else { $op="-O "; }
|
||||
|
||||
$cflags="-d -ml $op -DL_ENDIAN";
|
||||
# I add the stack opt
|
||||
$base_lflags="/c /C";
|
||||
$lflags="$base_lflags";
|
||||
|
||||
if ($win16)
|
||||
{
|
||||
$shlib=1;
|
||||
$cflags.=" -DWIN16";
|
||||
$app_cflag="-W";
|
||||
$lib_cflag="-WD";
|
||||
$lflags.="/Twe";
|
||||
}
|
||||
else
|
||||
{
|
||||
$cflags.=" -DMSDOS";
|
||||
$lflags.=" /Tde";
|
||||
}
|
||||
|
||||
if ($shlib)
|
||||
{
|
||||
$mlflags=" /Twd $base_lflags"; # stack if defined in .def file
|
||||
$libs="libw ldllcew";
|
||||
$no_asm=1;
|
||||
}
|
||||
else
|
||||
{ $mlflags=''; }
|
||||
|
||||
$obj='.obj';
|
||||
$ofile="-o";
|
||||
|
||||
# EXE linking stuff
|
||||
$link="tlink";
|
||||
$efile="";
|
||||
$exep='.exe';
|
||||
$ex_libs="CL";
|
||||
$ex_libs.=$no_sock?"":" winsock.lib";
|
||||
|
||||
$app_ex_obj="C0L.obj ";
|
||||
$shlib_ex_obj="" if ($shlib);
|
||||
|
||||
# static library stuff
|
||||
$mklib='tlib';
|
||||
$ranlib='echo no ranlib';
|
||||
$plib="";
|
||||
$libp=".lib";
|
||||
$shlibp=($shlib)?".dll":".lib";
|
||||
$lfile='';
|
||||
|
||||
$asm='bcc -c -B -Tml';
|
||||
$afile='/o';
|
||||
if ($no_asm)
|
||||
{
|
||||
$bn_mulw_obj='';
|
||||
$bn_mulw_src='';
|
||||
}
|
||||
elsif ($asmbits == 32)
|
||||
{
|
||||
$bn_mulw_obj='crypto\bn\asm\x86w32.obj';
|
||||
$bn_mulw_src='crypto\bn\asm\x86w32.asm';
|
||||
}
|
||||
else
|
||||
{
|
||||
$bn_mulw_obj='crypto\bn\asm\x86w16.obj';
|
||||
$bn_mulw_src='crypto\bn\asm\x86w16.asm';
|
||||
}
|
||||
|
||||
sub do_lib_rule
|
||||
{
|
||||
local($target,$name,$shlib)=@_;
|
||||
local($ret,$Name);
|
||||
|
||||
$taget =~ s/\//$o/g if $o ne '/';
|
||||
($Name=$name) =~ tr/a-z/A-Z/;
|
||||
|
||||
$ret.="$target: \$(${Name}OBJ)\n";
|
||||
$ret.="\t\$(RM) \$(O_$Name)\n";
|
||||
|
||||
# Due to a pathetic line length limit, I unwrap the args.
|
||||
local($lib_names)="";
|
||||
local($dll_names)="";
|
||||
foreach $_ (sort split(/\s+/,$Vars{"${Name}OBJ"}))
|
||||
{
|
||||
$lib_names.=" +$_ &\n";
|
||||
$dll_names.=" $_\n";
|
||||
}
|
||||
|
||||
if (!$shlib)
|
||||
{
|
||||
$ret.="\t\$(MKLIB) $target & <<|\n$lib_names\n,\n|\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
local($ex)=($Name eq "SSL")?' $(L_CRYPTO) winsock':"";
|
||||
$ret.="\t\$(LINK) \$(MLFLAGS) @&&|\n";
|
||||
$ret.=$dll_names;
|
||||
$ret.="\n $target\n\n $ex $libs\nms$o${name}16.def;\n|\n";
|
||||
($out_lib=$target) =~ s/O_/L_/;
|
||||
$ret.="\timplib /nowep $out_lib $target\n\n";
|
||||
}
|
||||
$ret.="\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
sub do_link_rule
|
||||
{
|
||||
local($target,$files,$dep_libs,$libs)=@_;
|
||||
local($ret,$f,$_,@f);
|
||||
|
||||
$file =~ s/\//$o/g if $o ne '/';
|
||||
$n=&bname($targer);
|
||||
$ret.="$target: $files $dep_libs\n";
|
||||
$ret.=" \$(LINK) @&&|";
|
||||
|
||||
# Due to a pathetic line length limit, I have to unwrap the args.
|
||||
$ret.=" \$(LFLAGS) ";
|
||||
if ($files =~ /\(([^)]*)\)$/)
|
||||
{
|
||||
$ret.=" \$(APP_EX_OBJ)";
|
||||
foreach $_ (sort split(/\s+/,$Vars{$1}))
|
||||
{ $ret.="\n $r $_ +"; }
|
||||
chop($ret);
|
||||
$ret.="\n";
|
||||
}
|
||||
else
|
||||
{ $ret.="\n $r \$(APP_EX_OBJ) $files\n"; }
|
||||
$ret.=" $target\n\n $libs\n\n|\n\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
1;
|
||||
135
util/pl/BC-32.pl
Normal file
135
util/pl/BC-32.pl
Normal file
@@ -0,0 +1,135 @@
|
||||
#!/usr/local/bin/perl
|
||||
# VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries
|
||||
#
|
||||
|
||||
$o='\\';
|
||||
$cp='copy';
|
||||
$rm='del';
|
||||
|
||||
# C compiler stuff
|
||||
$cc='bcc32';
|
||||
|
||||
if ($debug)
|
||||
{ $op="-v "; }
|
||||
else { $op="-O "; }
|
||||
|
||||
$cflags="-d $op -DL_ENDIAN ";
|
||||
# I add the stack opt
|
||||
$base_lflags="-c";
|
||||
$lflags="$base_lflags";
|
||||
|
||||
$cflags.=" -DWIN32";
|
||||
$app_cflag="-WC";
|
||||
$lib_cflag="-WC";
|
||||
$lflags.=" -Tpe";
|
||||
|
||||
if ($shlib)
|
||||
{
|
||||
$mlflags="$base_lflags -Tpe"; # stack if defined in .def file
|
||||
$libs="libw ldllcew";
|
||||
}
|
||||
else
|
||||
{ $mlflags=''; }
|
||||
|
||||
$obj='.obj';
|
||||
$ofile="-o";
|
||||
|
||||
# EXE linking stuff
|
||||
$link="tlink32";
|
||||
$efile="";
|
||||
$exep='.exe';
|
||||
$ex_libs="CW32.LIB IMPORT32.LIB";
|
||||
$ex_libs.=$no_sock?"":" wsock32.lib";
|
||||
$shlib_ex_obj="" if $shlib;
|
||||
$app_ex_obj="C0X32.OBJ";
|
||||
|
||||
# static library stuff
|
||||
$mklib='tlib';
|
||||
$ranlib='';
|
||||
$plib="";
|
||||
$libp=".lib";
|
||||
$shlibp=($shlib)?".dll":".lib";
|
||||
$lfile='';
|
||||
|
||||
$asm='ml /Cp /c /Cx';
|
||||
$afile='/Fo';
|
||||
if ($noasm)
|
||||
{
|
||||
$bn_mulw_obj='';
|
||||
$bn_mulw_src='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$bn_mulw_obj='crypto\bn\asm\x86b32.obj';
|
||||
$bn_mulw_src='crypto\bn\asm\x86m32.asm';
|
||||
}
|
||||
|
||||
sub do_lib_rule
|
||||
{
|
||||
local($target,$name,$shlib)=@_;
|
||||
local($ret,$Name);
|
||||
|
||||
$taget =~ s/\//$o/g if $o ne '/';
|
||||
($Name=$name) =~ tr/a-z/A-Z/;
|
||||
|
||||
$ret.="$target: \$(${Name}OBJ)\n";
|
||||
$ret.="\t\$(RM) \$(O_$Name)\n";
|
||||
|
||||
# Due to a pathetic line length limit, I unwrap the args.
|
||||
local($lib_names)="";
|
||||
local($dll_names)="";
|
||||
foreach $_ (sort split(/\s+/,$Vars{"${Name}OBJ"}))
|
||||
{
|
||||
$lib_names.=" +$_ &\n";
|
||||
$dll_names.=" $_\n";
|
||||
}
|
||||
|
||||
if (!$shlib)
|
||||
{
|
||||
$ret.="\t\$(MKLIB) $target & <<|\n$lib_names\n,\n|\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
# $(SHLIB_EX_OBJ)
|
||||
local($ex)=($Name eq "SSL")?' $(L_CRYPTO) winsock':"";
|
||||
$ret.="\t\$(LINK) \$(MLFLAGS) @&&|\n";
|
||||
$ret.=$dll_names;
|
||||
$ret.="\n $target\n\n $ex $libs\nms$o${name}16.def;\n|\n";
|
||||
($out_lib=$target) =~ s/O_/L_/;
|
||||
$ret.="\timplib /nowep $out_lib $target\n\n";
|
||||
}
|
||||
$ret.="\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
sub do_link_rule
|
||||
{
|
||||
local($target,$files,$dep_libs,$libs)=@_;
|
||||
local($ret,$f,$_,@f);
|
||||
|
||||
$file =~ s/\//$o/g if $o ne '/';
|
||||
$n=&bname($targer);
|
||||
$ret.="$target: $files $dep_libs\n";
|
||||
$ret.=" \$(LINK) @&&|";
|
||||
|
||||
# Due to a pathetic line length limit, I have to unwrap the args.
|
||||
$r=" \$(LFLAGS) ";
|
||||
if ($files =~ /\(([^)]*)\)$/)
|
||||
{
|
||||
@a=('$(APP_EX_OBJ)');
|
||||
push(@a,sort split(/\s+/,$Vars{$1}));
|
||||
foreach $_ (@a)
|
||||
{
|
||||
$ret.="\n $r $_ +";
|
||||
$r="";
|
||||
}
|
||||
chop($ret);
|
||||
$ret.="\n";
|
||||
}
|
||||
else
|
||||
{ $ret.="\n $r \$(APP_EX_OBJ) $files\n"; }
|
||||
$ret.=" $target\n\n $libs\n\n|\n\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
1;
|
||||
165
util/pl/VC-16.pl
Normal file
165
util/pl/VC-16.pl
Normal file
@@ -0,0 +1,165 @@
|
||||
#!/usr/local/bin/perl
|
||||
# VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries
|
||||
#
|
||||
|
||||
$ssl= "ssleay16";
|
||||
$crypto="libeay16";
|
||||
$RSAref="RSAref16";
|
||||
|
||||
$o='\\';
|
||||
$cp='copy';
|
||||
$rm='del';
|
||||
|
||||
# C compiler stuff
|
||||
$cc='cl';
|
||||
|
||||
if ($debug)
|
||||
{
|
||||
$op="/Od /Zi /Zd";
|
||||
$base_lflags="/CO";
|
||||
}
|
||||
else {
|
||||
$op="/G2 /f- /Ocgnotb2";
|
||||
}
|
||||
$base_lflags.=" /FARCALL /NOLOGO /NOD /SEG:1024 /ONERROR:NOEXE /NOE /PACKC:60000";
|
||||
if ($win16) { $base_lflags.=" /PACKD:60000"; }
|
||||
|
||||
$cflags="/ALw /Gx- /Gt256 /Gf $op /W3 /WX -DL_ENDIAN /nologo";
|
||||
# I add the stack opt
|
||||
$lflags="$base_lflags /STACK:20000";
|
||||
|
||||
if ($win16)
|
||||
{
|
||||
$cflags.=" -DWIN16";
|
||||
$app_cflag="/Gw /FPi87";
|
||||
$lib_cflag="/Gw";
|
||||
$lib_cflag.=" -DWIN16TTY" if !$shlib;
|
||||
$lflags.=" /ALIGN:16";
|
||||
$ex_libs.="oldnames llibcewq libw";
|
||||
}
|
||||
else
|
||||
{
|
||||
$no_sock=1;
|
||||
$cflags.=" -DMSDOS";
|
||||
$lflags.=" /EXEPACK";
|
||||
$ex_libs.="oldnames.lib llibce.lib";
|
||||
}
|
||||
|
||||
if ($shlib)
|
||||
{
|
||||
$mlflags="$base_lflags";
|
||||
$libs="oldnames ldllcew libw";
|
||||
$shlib_ex_obj="";
|
||||
# $no_asm=1;
|
||||
}
|
||||
else
|
||||
{ $mlflags=''; }
|
||||
|
||||
$app_ex_obj="setargv.obj";
|
||||
|
||||
$obj='.obj';
|
||||
$ofile="/Fo";
|
||||
|
||||
# EXE linking stuff
|
||||
$link="link";
|
||||
$efile="";
|
||||
$exep='.exe';
|
||||
$ex_libs.=$no_sock?"":" winsock";
|
||||
|
||||
# static library stuff
|
||||
$mklib='lib /PAGESIZE:1024';
|
||||
$ranlib='';
|
||||
$plib="";
|
||||
$libp=".lib";
|
||||
$shlibp=($shlib)?".dll":".lib";
|
||||
$lfile='';
|
||||
|
||||
$asm='ml /Cp /c /Cx';
|
||||
$afile='/Fo';
|
||||
|
||||
$bn_mulw_obj='';
|
||||
$bn_mulw_src='';
|
||||
$des_enc_obj='';
|
||||
$des_enc_src='';
|
||||
$bf_enc_obj='';
|
||||
$bf_enc_src='';
|
||||
|
||||
if (!$no_asm)
|
||||
{
|
||||
if ($asmbits == 32)
|
||||
{
|
||||
$bn_mulw_obj='crypto\bn\asm\x86w32.obj';
|
||||
$bn_mulw_src='crypto\bn\asm\x86w32.asm';
|
||||
}
|
||||
else
|
||||
{
|
||||
$bn_mulw_obj='crypto\bn\asm\x86w16.obj';
|
||||
$bn_mulw_src='crypto\bn\asm\x86w16.asm';
|
||||
}
|
||||
}
|
||||
|
||||
sub do_lib_rule
|
||||
{
|
||||
local($objs,$target,$name,$shlib)=@_;
|
||||
local($ret,$Name);
|
||||
|
||||
$taget =~ s/\//$o/g if $o ne '/';
|
||||
($Name=$name) =~ tr/a-z/A-Z/;
|
||||
|
||||
$ret.="$target: $objs\n";
|
||||
# $ret.="\t\$(RM) \$(O_$Name)\n";
|
||||
|
||||
# Due to a pathetic line length limit, I unwrap the args.
|
||||
local($lib_names)="";
|
||||
local($dll_names)=" \$(SHLIB_EX_OBJ) +\n";
|
||||
($obj)= ($objs =~ /\((.*)\)/);
|
||||
foreach $_ (sort split(/\s+/,$Vars{$obj}))
|
||||
{
|
||||
$lib_names.="+$_ &\n";
|
||||
$dll_names.=" $_ +\n";
|
||||
}
|
||||
|
||||
if (!$shlib)
|
||||
{
|
||||
$ret.="\tdel $target\n";
|
||||
$ret.="\t\$(MKLIB) @<<\n$target\ny\n$lib_names\n\n<<\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
local($ex)=($target eq '$(O_SSL)')?'$(L_CRYPTO)':"";
|
||||
$ex.=' winsock';
|
||||
$ret.="\t\$(LINK) \$(MLFLAGS) @<<\n";
|
||||
$ret.=$dll_names;
|
||||
$ret.="\n $target\n\n $ex $libs\nms$o${name}.def;\n<<\n";
|
||||
($out_lib=$target) =~ s/O_/L_/;
|
||||
$ret.="\timplib /noignorecase /nowep $out_lib $target\n";
|
||||
}
|
||||
$ret.="\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
sub do_link_rule
|
||||
{
|
||||
local($target,$files,$dep_libs,$libs)=@_;
|
||||
local($ret,$f,$_,@f);
|
||||
|
||||
$file =~ s/\//$o/g if $o ne '/';
|
||||
$n=&bname($targer);
|
||||
$ret.="$target: $files $dep_libs\n";
|
||||
$ret.=" \$(LINK) \$(LFLAGS) @<<\n";
|
||||
|
||||
# Due to a pathetic line length limit, I have to unwrap the args.
|
||||
if ($files =~ /\(([^)]*)\)$/)
|
||||
{
|
||||
@a=('$(APP_EX_OBJ)');
|
||||
push(@a,sort split(/\s+/,$Vars{$1}));
|
||||
for $_ (@a)
|
||||
{ $ret.=" $_ +\n"; }
|
||||
}
|
||||
else
|
||||
{ $ret.=" \$(APP_EX_OBJ) $files"; }
|
||||
$ret.="\n $target\n\n $libs\n\n<<\n\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
1;
|
||||
111
util/pl/VC-32.pl
Normal file
111
util/pl/VC-32.pl
Normal file
@@ -0,0 +1,111 @@
|
||||
#!/usr/local/bin/perl
|
||||
# VCw32lib.pl - the file for Visual C++ 4.[01] for windows NT, static libraries
|
||||
#
|
||||
|
||||
$ssl= "ssleay32";
|
||||
$crypto="libeay32";
|
||||
$RSAref="RSAref32";
|
||||
|
||||
$o='\\';
|
||||
$cp='copy';
|
||||
$rm='del';
|
||||
|
||||
# C compiler stuff
|
||||
$cc='cl';
|
||||
$cflags='/W3 /WX /G5 /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo -DWIN32 -DL_ENDIAN';
|
||||
$lflags="/nologo /subsystem:console /machine:I386 /opt:ref";
|
||||
$mlflags='';
|
||||
if ($debug)
|
||||
{
|
||||
$cflags="/W3 /WX /Zi /Yd /Od /nologo -DWIN32 -D_DEBUG -DL_ENDIAN";
|
||||
$lflags.=" /debug";
|
||||
$mlflags.=' /debug';
|
||||
}
|
||||
$obj='.obj';
|
||||
$ofile="/Fo";
|
||||
|
||||
# EXE linking stuff
|
||||
$link="link";
|
||||
$efile="/out:";
|
||||
$exep='.exe';
|
||||
if ($no_sock)
|
||||
{ $ex_libs=""; }
|
||||
else { $ex_libs="wsock32.lib user32.lib gdi32.lib"; }
|
||||
|
||||
# static library stuff
|
||||
$mklib='lib';
|
||||
$ranlib='';
|
||||
$plib="";
|
||||
$libp=".lib";
|
||||
$shlibp=($shlib)?".dll":".lib";
|
||||
$lfile='/out:';
|
||||
|
||||
$shlib_ex_obj="";
|
||||
$app_ex_obj="setargv.obj";
|
||||
|
||||
$asm='ml /Cp /coff /c /Cx';
|
||||
$afile='/Fo';
|
||||
|
||||
$bn_mulw_obj='';
|
||||
$bn_mulw_src='';
|
||||
$des_enc_obj='';
|
||||
$des_enc_src='';
|
||||
$bf_enc_obj='';
|
||||
$bf_enc_src='';
|
||||
|
||||
if (!$no_asm)
|
||||
{
|
||||
$bn_mulw_obj='crypto\bn\asm\x86nt32.obj';
|
||||
$bn_mulw_src='crypto\bn\asm\x86nt32.asm';
|
||||
$des_enc_obj='crypto\des\asm\d-win32.obj crypto\des\asm\c-win32.obj';
|
||||
$des_enc_src='crypto\des\asm\d-win32.asm crypto\des\asm\c-win32.asm';
|
||||
$bf_enc_obj='crypto\bf\asm\b-win32.obj';
|
||||
$bf_enc_src='crypto\bf\asm\b-win32.asm';
|
||||
}
|
||||
|
||||
if ($shlib)
|
||||
{
|
||||
$mlflags.=" $lflags /dll";
|
||||
$cflags.=" /MD";
|
||||
$cflags.="d" if ($debug);
|
||||
$lib_cflag=" /GD";
|
||||
}
|
||||
|
||||
sub do_lib_rule
|
||||
{
|
||||
local($objs,$target,$name,$shlib)=@_;
|
||||
local($ret,$Name);
|
||||
|
||||
$taget =~ s/\//$o/g if $o ne '/';
|
||||
($Name=$name) =~ tr/a-z/A-Z/;
|
||||
|
||||
$ret.="$target: $objs\n";
|
||||
if (!$shlib)
|
||||
{
|
||||
# $ret.="\t\$(RM) \$(O_$Name)\n";
|
||||
$ret.="\t\$(MKLIB) $lfile$target @<<\n $objs\n<<\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
local($ex)=($target eq '$(O_SSL)')?' $(L_CRYPTO)':'';
|
||||
$ex.=' wsock32.lib gdi32.lib';
|
||||
$ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n";
|
||||
}
|
||||
$ret.="\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
sub do_link_rule
|
||||
{
|
||||
local($target,$files,$dep_libs,$libs)=@_;
|
||||
local($ret,$_);
|
||||
|
||||
$file =~ s/\//$o/g if $o ne '/';
|
||||
$n=&bname($targer);
|
||||
$ret.="$target: $files $dep_libs\n";
|
||||
$ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n";
|
||||
$ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
1;
|
||||
0
util/pl/f.mak
Normal file
0
util/pl/f.mak
Normal file
82
util/pl/unix.pl
Normal file
82
util/pl/unix.pl
Normal file
@@ -0,0 +1,82 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# unix.pl - the standard unix makefile stuff.
|
||||
#
|
||||
|
||||
$o='/';
|
||||
$cp='/bin/cp';
|
||||
$rm='/bin/rm -f';
|
||||
|
||||
# C compiler stuff
|
||||
|
||||
if ($gcc)
|
||||
{
|
||||
$cc='gcc';
|
||||
if ($debug)
|
||||
{ $cflags="-g2 -ggdb"; }
|
||||
else
|
||||
{ $cflags="-O3 -fomit-frame-pointer"; }
|
||||
}
|
||||
else
|
||||
{
|
||||
$cc='cc';
|
||||
if ($debug)
|
||||
{ $cflags="-g"; }
|
||||
else
|
||||
{ $cflags="-O"; }
|
||||
}
|
||||
$obj='.o';
|
||||
$ofile='-o ';
|
||||
|
||||
# EXE linking stuff
|
||||
$link='${CC}';
|
||||
$lflags='${CFLAGS}';
|
||||
$efile='-o ';
|
||||
$exep='';
|
||||
$ex_libs="";
|
||||
|
||||
# static library stuff
|
||||
$mklib='ar r';
|
||||
$mlflags='';
|
||||
$ranlib='util/ranlib.sh';
|
||||
$plib='lib';
|
||||
$libp=".a";
|
||||
$shlibp=".a";
|
||||
$lfile='';
|
||||
|
||||
$asm='as';
|
||||
$afile='-o ';
|
||||
$bn_mulw_obj="";
|
||||
$bn_mulw_src="";
|
||||
$des_enc_obj="";
|
||||
$des_enc_src="";
|
||||
$bf_enc_obj="";
|
||||
$bf_enc_src="";
|
||||
|
||||
sub do_lib_rule
|
||||
{
|
||||
local($obj,$target,$name,$shlib)=@_;
|
||||
local($ret,$_,$Name);
|
||||
|
||||
$target =~ s/\//$o/g if $o ne '/';
|
||||
($Name=$name) =~ tr/a-z/A-Z/;
|
||||
|
||||
$ret.="$target: \$(${Name}OBJ)\n";
|
||||
$ret.="\t\$(RM) $target\n";
|
||||
$ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n";
|
||||
$ret.="\t\$(RANLIB) $target\n\n";
|
||||
}
|
||||
|
||||
sub do_link_rule
|
||||
{
|
||||
local($target,$files,$dep_libs,$libs)=@_;
|
||||
local($ret,$_);
|
||||
|
||||
$file =~ s/\//$o/g if $o ne '/';
|
||||
$n=&bname($target);
|
||||
$ret.="$target: $files $dep_libs\n";
|
||||
$ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
|
||||
return($ret);
|
||||
}
|
||||
|
||||
1;
|
||||
4
util/point.sh
Executable file
4
util/point.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
/bin/rm -f $2
|
||||
ln -s $1 $2
|
||||
23
util/ranlib.sh
Executable file
23
util/ranlib.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
cwd=`pwd`
|
||||
cd /tmp
|
||||
|
||||
if [ -s /bin/ranlib ] ; then
|
||||
RL=/bin/ranlib
|
||||
else if [ -s /usr/bin/ranlib ] ; then
|
||||
RL=/usr/bin/ranlib
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$RL" != "x" ]
|
||||
then
|
||||
case "$1" in
|
||||
/*)
|
||||
$RL "$1"
|
||||
;;
|
||||
*)
|
||||
$RL "$cwd/$1"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
80
util/sp-diff.pl
Executable file
80
util/sp-diff.pl
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# This file takes as input, the files that have been output from
|
||||
# ssleay speed.
|
||||
# It prints a table of the relative differences with %100 being 'no difference'
|
||||
#
|
||||
|
||||
($#ARGV == 1) || die "$0 speedout1 speedout2\n";
|
||||
|
||||
%one=&loadfile($ARGV[0]);
|
||||
%two=&loadfile($ARGV[1]);
|
||||
|
||||
$line=0;
|
||||
foreach $a ("md2","md5","sha","sha1","rc4","des cfb","des cbc","des ede3",
|
||||
"idea cfb","idea cbc","rc2 cfb","rc2 cbc","blowfish cbc")
|
||||
{
|
||||
if (defined($one{$a,8}) && defined($two{$a,8}))
|
||||
{
|
||||
print "type 8 byte% 64 byte% 256 byte% 1024 byte% 8192 byte%\n"
|
||||
unless $line;
|
||||
$line++;
|
||||
printf "%-12s ",$a;
|
||||
foreach $b (8,64,256,1024,8192)
|
||||
{
|
||||
$r=$two{$a,$b}/$one{$a,$b}*100;
|
||||
printf "%12.2f",$r;
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
}
|
||||
|
||||
foreach $a (
|
||||
"rsa 512","rsa 1024","rsa 2048","rsa 4096",
|
||||
"dsa 512","dsa 1024","dsa 2048",
|
||||
)
|
||||
{
|
||||
if (defined($one{$a,1}) && defined($two{$a,1}))
|
||||
{
|
||||
$r1=($one{$a,1}/$two{$a,1})*100;
|
||||
$r2=($one{$a,2}/$two{$a,2})*100;
|
||||
printf "$a bits %% %6.2f %% %6.2f\n",$r1,$r2;
|
||||
}
|
||||
}
|
||||
|
||||
sub loadfile
|
||||
{
|
||||
local($file)=@_;
|
||||
local($_,%ret);
|
||||
|
||||
open(IN,"<$file") || die "unable to open '$file' for input\n";
|
||||
$header=1;
|
||||
while (<IN>)
|
||||
{
|
||||
$header=0 if /^[dr]sa/;
|
||||
if (/^type/) { $header=0; next; }
|
||||
next if $header;
|
||||
chop;
|
||||
@a=split;
|
||||
if ($a[0] =~ /^[dr]sa$/)
|
||||
{
|
||||
($n,$t1,$t2)=($_ =~ /^([dr]sa\s+\d+)\s+bits\s+([.\d]+)s\s+([.\d]+)/);
|
||||
$ret{$n,1}=$t1;
|
||||
$ret{$n,2}=$t2;
|
||||
}
|
||||
else
|
||||
{
|
||||
$n=join(' ',grep(/[^k]$/,@a));
|
||||
@k=grep(s/k$//,@a);
|
||||
|
||||
$ret{$n, 8}=$k[0];
|
||||
$ret{$n, 64}=$k[1];
|
||||
$ret{$n, 256}=$k[2];
|
||||
$ret{$n,1024}=$k[3];
|
||||
$ret{$n,8192}=$k[4];
|
||||
}
|
||||
}
|
||||
close(IN);
|
||||
return(%ret);
|
||||
}
|
||||
|
||||
39
util/speed.sh
Executable file
39
util/speed.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# This is a ugly script use, in conjuction with editing the 'b'
|
||||
# configuration in the $(TOP)/Configure script which will
|
||||
# output when finished a file called speed.log which is the
|
||||
# timings of SSLeay with various options turned on or off.
|
||||
#
|
||||
# from the $(TOP) directory
|
||||
# Edit Configure, modifying things to do with the b/bl-4c-2c etc
|
||||
# configurations.
|
||||
#
|
||||
|
||||
make clean
|
||||
perl Configure b
|
||||
make
|
||||
apps/ssleay version -v -b -f >speed.1
|
||||
apps/ssleay speed >speed.1l
|
||||
|
||||
perl Configure bl-4c-2c
|
||||
/bin/rm -f crypto/rc4/*.o crypto/bn/bn*.o crypto/md/md2_dgst.o
|
||||
make
|
||||
apps/ssleay speed rc4 rsa md2 >speed.2l
|
||||
|
||||
perl Configure bl-4c-ri
|
||||
/bin/rm -f crypto/rc4/rc4*.o
|
||||
make
|
||||
apps/ssleay speed rc4 >speed.3l
|
||||
|
||||
perl Configure b2-is-ri-dp
|
||||
/bin/rm -f crypto/idea/i_*.o crypto/rc4/*.o crypto/des/ecb_enc.o crypto/bn/bn*.o
|
||||
apps/ssleay speed rsa rc4 idea des >speed.4l
|
||||
|
||||
cat speed.1 >speed.log
|
||||
cat speed.1l >>speed.log
|
||||
perl util/sp-diff.pl speed.1l speed.2l >>speed.log
|
||||
perl util/sp-diff.pl speed.1l speed.3l >>speed.log
|
||||
perl util/sp-diff.pl speed.1l speed.4l >>speed.log
|
||||
|
||||
147
util/src-dep.pl
Executable file
147
util/src-dep.pl
Executable file
@@ -0,0 +1,147 @@
|
||||
#!/usr/local/bin/perl
|
||||
|
||||
# we make up an array of
|
||||
# $file{function_name}=filename;
|
||||
# $unres{filename}="func1 func2 ...."
|
||||
$debug=1;
|
||||
#$nm_func="parse_linux";
|
||||
$nm_func="parse_solaris";
|
||||
|
||||
foreach (@ARGV)
|
||||
{
|
||||
&$nm_func($_);
|
||||
}
|
||||
|
||||
foreach $file (sort keys %unres)
|
||||
{
|
||||
@a=split(/\s+/,$unres{$file});
|
||||
%ff=();
|
||||
foreach $func (@a)
|
||||
{
|
||||
$f=$file{$func};
|
||||
$ff{$f}=1 if $f ne "";
|
||||
}
|
||||
|
||||
foreach $a (keys %ff)
|
||||
{ $we_need{$file}.="$a "; }
|
||||
}
|
||||
|
||||
foreach $file (sort keys %we_need)
|
||||
{
|
||||
# print " $file $we_need{$file}\n";
|
||||
foreach $bit (split(/\s+/,$we_need{$file}))
|
||||
{ push(@final,&walk($bit)); }
|
||||
|
||||
foreach (@final) { $fin{$_}=1; }
|
||||
@final="";
|
||||
foreach (sort keys %fin)
|
||||
{ push(@final,$_); }
|
||||
|
||||
print "$file: @final\n";
|
||||
}
|
||||
|
||||
sub walk
|
||||
{
|
||||
local($f)=@_;
|
||||
local(@a,%seen,@ret,$r);
|
||||
|
||||
@ret="";
|
||||
$f =~ s/^\s+//;
|
||||
$f =~ s/\s+$//;
|
||||
return "" if ($f =~ "^\s*$");
|
||||
|
||||
return(split(/\s/,$done{$f})) if defined ($done{$f});
|
||||
|
||||
return if $in{$f} > 0;
|
||||
$in{$f}++;
|
||||
push(@ret,$f);
|
||||
foreach $r (split(/\s+/,$we_need{$f}))
|
||||
{
|
||||
push(@ret,&walk($r));
|
||||
}
|
||||
$in{$f}--;
|
||||
$done{$f}=join(" ",@ret);
|
||||
return(@ret);
|
||||
}
|
||||
|
||||
sub parse_linux
|
||||
{
|
||||
local($name)=@_;
|
||||
|
||||
open(IN,"nm $name|") || die "unable to run 'nn $name':$!\n";
|
||||
while (<IN>)
|
||||
{
|
||||
chop;
|
||||
next if /^\s*$/;
|
||||
if (/^[^[](.*):$/)
|
||||
{
|
||||
$file=$1;
|
||||
$file="$1.c" if /\[(.*).o\]/;
|
||||
print STDERR "$file\n";
|
||||
$we_need{$file}=" ";
|
||||
next;
|
||||
}
|
||||
|
||||
@a=split(/\s*\|\s*/);
|
||||
next unless $#a == 7;
|
||||
next unless $a[4] eq "GLOB";
|
||||
if ($a[6] eq "UNDEF")
|
||||
{
|
||||
$unres{$file}.=$a[7]." ";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($file{$a[7]} ne "")
|
||||
{
|
||||
print STDERR "duplicate definition of $a[7],\n$file{$a[7]} and $file \n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$file{$a[7]}=$file;
|
||||
}
|
||||
}
|
||||
}
|
||||
close(IN);
|
||||
}
|
||||
|
||||
sub parse_solaris
|
||||
{
|
||||
local($name)=@_;
|
||||
|
||||
open(IN,"nm $name|") || die "unable to run 'nn $name':$!\n";
|
||||
while (<IN>)
|
||||
{
|
||||
chop;
|
||||
next if /^\s*$/;
|
||||
if (/^(\S+):$/)
|
||||
{
|
||||
$file=$1;
|
||||
#$file="$1.c" if $file =~ /^(.*).o$/;
|
||||
print STDERR "$file\n";
|
||||
$we_need{$file}=" ";
|
||||
next;
|
||||
}
|
||||
@a=split(/\s*\|\s*/);
|
||||
next unless $#a == 7;
|
||||
next unless $a[4] eq "GLOB";
|
||||
if ($a[6] eq "UNDEF")
|
||||
{
|
||||
$unres{$file}.=$a[7]." ";
|
||||
print STDERR "$file needs $a[7]\n" if $debug;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($file{$a[7]} ne "")
|
||||
{
|
||||
print STDERR "duplicate definition of $a[7],\n$file{$a[7]} and $file \n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$file{$a[7]}=$file;
|
||||
print STDERR "$file has $a[7]\n" if $debug;
|
||||
}
|
||||
}
|
||||
}
|
||||
close(IN);
|
||||
}
|
||||
|
||||
52
util/ssldir.pl
Executable file
52
util/ssldir.pl
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/usr/local/bin/perl
|
||||
|
||||
$#ARGV == 0 || die "usage: ssldir.pl /new/path\n";
|
||||
@files=('crypto/cryptlib.h',
|
||||
'Makefile.ssl',
|
||||
'tools/c_rehash',
|
||||
'util/mk1mf.pl',
|
||||
);
|
||||
|
||||
%cryptlib=(
|
||||
'\sX509_CERT_AREA\s',"#define X509_CERT_AREA\t\t".'"%s"',
|
||||
'\sX509_CERT_DIR\s', "#define X509_CERT_DIR\t\t".'"%s/certs"',
|
||||
'\sX509_CERT_FILE\s', "#define X509_CERT_FILE\t\t".'"%s/cert.pem"',
|
||||
'\sX509_PRIVATE_DIR\s',"#define X509_PRIVATE_DIR\t".'"%s/private"',
|
||||
);
|
||||
|
||||
%Makefile_ssl=(
|
||||
'^INSTALLTOP=','INSTALLTOP=%s',
|
||||
);
|
||||
|
||||
%c_rehash=(
|
||||
'^DIR=', 'DIR=%s',
|
||||
);
|
||||
|
||||
%mk1mf=(
|
||||
'^$INSTALLTOP=','$INSTALLTOP="%s";',
|
||||
);
|
||||
|
||||
&dofile("crypto/cryptlib.h",$ARGV[0],%cryptlib);
|
||||
&dofile("Makefile.ssl",$ARGV[0],%Makefile_ssl);
|
||||
&dofile("tools/c_rehash",$ARGV[0],%c_rehash);
|
||||
&dofile("util/mk1mf.pl",$ARGV[0],%mk1mf);
|
||||
|
||||
sub dofile
|
||||
{
|
||||
($f,$p,%m)=@_;
|
||||
|
||||
open(IN,"<$f") || die "unable to open $f:$!\n";
|
||||
@a=<IN>;
|
||||
close(IN);
|
||||
foreach $k (keys %m)
|
||||
{
|
||||
grep(/$k/ && ($_=sprintf($m{$k}."\n",$p)),@a);
|
||||
}
|
||||
($ff=$f) =~ s/\..*$//;
|
||||
open(OUT,">$ff.new") || die "unable to open $f:$!\n";
|
||||
print OUT @a;
|
||||
close(OUT);
|
||||
rename($f,"$ff.old") || die "unable to rename $f\n";
|
||||
rename("$ff.new",$f) || die "unable to rename $ff.new\n";
|
||||
}
|
||||
|
||||
131
util/ssleay.num
Executable file
131
util/ssleay.num
Executable file
@@ -0,0 +1,131 @@
|
||||
ERR_load_SSL_strings 1
|
||||
SSL_CIPHER_description 2
|
||||
SSL_CTX_add_client_CA 3
|
||||
SSL_CTX_add_session 4
|
||||
SSL_CTX_check_private_key 5
|
||||
SSL_CTX_ctrl 6
|
||||
SSL_CTX_flush_sessions 7
|
||||
SSL_CTX_free 8
|
||||
SSL_CTX_get_client_CA_list 9
|
||||
SSL_CTX_get_verify_callback 10
|
||||
SSL_CTX_get_verify_mode 11
|
||||
SSL_CTX_new 12
|
||||
SSL_CTX_remove_session 13
|
||||
SSL_CTX_set_cert_verify_cb 14
|
||||
SSL_CTX_set_cipher_list 15
|
||||
SSL_CTX_set_client_CA_list 16
|
||||
SSL_CTX_set_default_passwd_cb 17
|
||||
SSL_CTX_set_dh_params 18
|
||||
SSL_CTX_set_ssl_version 19
|
||||
SSL_CTX_set_tmp_rsa 20
|
||||
SSL_CTX_set_verify 21
|
||||
SSL_CTX_use_PrivateKey 22
|
||||
SSL_CTX_use_PrivateKey_ASN1 23
|
||||
SSL_CTX_use_PrivateKey_file 24
|
||||
SSL_CTX_use_RSAPrivateKey 25
|
||||
SSL_CTX_use_RSAPrivateKey_ASN1 26
|
||||
SSL_CTX_use_RSAPrivateKey_file 27
|
||||
SSL_CTX_use_certificate 28
|
||||
SSL_CTX_use_certificate_ASN1 29
|
||||
SSL_CTX_use_certificate_file 30
|
||||
SSL_SESSION_free 31
|
||||
SSL_SESSION_new 32
|
||||
SSL_SESSION_print 33
|
||||
SSL_SESSION_print_fp 34
|
||||
SSL_accept 35
|
||||
SSL_add_client_CA 36
|
||||
SSL_alert_desc_string 37
|
||||
SSL_alert_desc_string_long 38
|
||||
SSL_alert_type_string 39
|
||||
SSL_alert_type_string_long 40
|
||||
SSL_check_private_key 41
|
||||
SSL_clear 42
|
||||
SSL_connect 43
|
||||
SSL_copy_session_id 44
|
||||
SSL_ctrl 45
|
||||
SSL_dup 46
|
||||
SSL_dup_CA_list 47
|
||||
SSL_free 48
|
||||
SSL_get_certificate 49
|
||||
#SSL_get_cipher 50
|
||||
#SSL_get_cipher_bits 51
|
||||
SSL_get_cipher_list 52
|
||||
#SSL_get_cipher_name 53
|
||||
#SSL_get_cipher_version 54
|
||||
SSL_get_ciphers 55
|
||||
SSL_get_client_CA_list 56
|
||||
SSL_get_default_timeout 57
|
||||
SSL_get_error 58
|
||||
SSL_get_fd 59
|
||||
SSL_get_peer_cert_chain 60
|
||||
SSL_get_peer_certificate 61
|
||||
SSL_get_privatekey 62
|
||||
SSL_get_rbio 63
|
||||
SSL_get_read_ahead 64
|
||||
SSL_get_shared_ciphers 65
|
||||
SSL_get_ssl_method 66
|
||||
SSL_get_time 67
|
||||
SSL_get_timeout 68
|
||||
SSL_get_verify_callback 69
|
||||
SSL_get_verify_mode 70
|
||||
SSL_get_version 71
|
||||
SSL_get_wbio 72
|
||||
SSL_load_client_CA_file 73
|
||||
SSL_load_error_strings 74
|
||||
SSL_new 75
|
||||
SSL_peek 76
|
||||
SSL_pending 77
|
||||
SSL_read 78
|
||||
SSL_renegotiate 79
|
||||
SSL_rstate_string 80
|
||||
SSL_rstate_string_long 81
|
||||
SSL_set_accept_state 82
|
||||
SSL_set_bio 83
|
||||
SSL_set_cipher_list 84
|
||||
SSL_set_client_CA_list 85
|
||||
SSL_set_connect_state 86
|
||||
SSL_set_fd 87
|
||||
SSL_set_read_ahead 88
|
||||
SSL_set_rfd 89
|
||||
SSL_set_session 90
|
||||
SSL_set_ssl_method 91
|
||||
SSL_set_time 92
|
||||
SSL_set_timeout 93
|
||||
SSL_set_verify 94
|
||||
SSL_set_wfd 95
|
||||
SSL_shutdown 96
|
||||
SSL_state_string 97
|
||||
SSL_state_string_long 98
|
||||
SSL_use_PrivateKey 99
|
||||
SSL_use_PrivateKey_ASN1 100
|
||||
SSL_use_PrivateKey_file 101
|
||||
SSL_use_RSAPrivateKey 102
|
||||
SSL_use_RSAPrivateKey_ASN1 103
|
||||
SSL_use_RSAPrivateKey_file 104
|
||||
SSL_use_certificate 105
|
||||
SSL_use_certificate_ASN1 106
|
||||
SSL_use_certificate_file 107
|
||||
SSL_write 108
|
||||
SSLeay_add_ssl_algorithms 109
|
||||
SSLv23_client_method 110
|
||||
SSLv23_method 111
|
||||
SSLv23_server_method 112
|
||||
SSLv2_client_method 113
|
||||
SSLv2_method 114
|
||||
SSLv2_server_method 115
|
||||
SSLv3_client_method 116
|
||||
SSLv3_method 117
|
||||
SSLv3_server_method 118
|
||||
d2i_SSL_SESSION 119
|
||||
i2d_SSL_SESSION 120
|
||||
BIO_f_ssl 121
|
||||
BIO_new_ssl 122
|
||||
BIO_proxy_ssl_copy_session_id 123
|
||||
BIO_ssl_copy_session_id 124
|
||||
SSL_do_handshake 125
|
||||
SSL_get_privatekey 126
|
||||
SSL_get_current_cipher 127
|
||||
SSL_CIPHER_get_bits 128
|
||||
SSL_CIPHER_get_version 129
|
||||
SSL_CIPHER_get_name 130
|
||||
BIO_ssl_shutdown 131
|
||||
17
util/tab_num.pl
Executable file
17
util/tab_num.pl
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/usr/local/bin/perl
|
||||
|
||||
$num=1;
|
||||
$width=40;
|
||||
|
||||
while (<>)
|
||||
{
|
||||
chop;
|
||||
|
||||
$i=length($_);
|
||||
|
||||
$n=$width-$i;
|
||||
$i=int(($n+7)/8);
|
||||
print $_.("\t" x $i).$num."\n";
|
||||
$num++;
|
||||
}
|
||||
|
||||
70
util/up_ver.pl
Executable file
70
util/up_ver.pl
Executable file
@@ -0,0 +1,70 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# Up the version numbers in the files.
|
||||
#
|
||||
|
||||
@files=(
|
||||
"crypto/des/ecb_enc.c",
|
||||
"crypto/idea/i_ecb.c",
|
||||
"crypto/lhash/lhash.c",
|
||||
"crypto/conf/conf.c",
|
||||
"crypto/md/md2_dgst.c",
|
||||
"crypto/md/md5_dgst.c",
|
||||
"crypto/pem/pem_lib.c",
|
||||
"crypto/bn/bn_lib.c",
|
||||
"crypto/dh/dh_lib.c",
|
||||
"crypto/rc4/rc4_enc.org",
|
||||
"crypto/rc2/rc2_ecb.c",
|
||||
"crypto/bf/bf_ecb.c",
|
||||
"crypto/rsa/rsa_lib.c",
|
||||
"crypto/dsa/dsa_lib.c",
|
||||
"crypto/sha/sha1dgst.c",
|
||||
"crypto/sha/sha_dgst.c",
|
||||
"crypto/asn1/asn1_lib.c",
|
||||
"crypto/x509/x509_vfy.c",
|
||||
"crypto/evp/evp_enc.c",
|
||||
"crypto/rand/md_rand.c",
|
||||
"crypto/stack/stack.c",
|
||||
"crypto/txt_db/txt_db.c",
|
||||
"crypto/cversion.c",
|
||||
"ssl/ssl_lib.c",
|
||||
"ssl/s2_lib.c",
|
||||
"ssl/s3_lib.c",
|
||||
"README",
|
||||
);
|
||||
|
||||
@month=('Jan','Feb','Mar','Apr','May','Jun',
|
||||
'Jul','Aug','Sep','Oct','Nov','Dec');
|
||||
@a=localtime(time());
|
||||
$time=sprintf("%02d-%s-%04d",$a[3],$month[$a[4]],$a[5]+1900);
|
||||
|
||||
$ver=$ARGV[0];
|
||||
($ver ne "") || die "no version number specified\n";
|
||||
|
||||
foreach $file (@files)
|
||||
{
|
||||
open(IN,"<$file") || die "unable to open $file:$!\n";
|
||||
open(OUT,">$file.new") || die "unable to open $file.new:$!\n";
|
||||
$found=0;
|
||||
|
||||
print STDERR "$file:";
|
||||
|
||||
while (<IN>)
|
||||
{
|
||||
if (s/SSLeay \d\.\d.\d[^"]*(\"|\s)/SSLeay $ver $time\1/)
|
||||
{
|
||||
print STDERR " Done";
|
||||
$found++;
|
||||
print OUT;
|
||||
while (<IN>) { print OUT; }
|
||||
last;
|
||||
}
|
||||
print OUT;
|
||||
}
|
||||
print STDERR "\n";
|
||||
close(IN);
|
||||
close(OUT);
|
||||
(!$found) && die "unable to update the version number in $file\n";
|
||||
rename($file,"$file.old") || die "unable to rename $file:$!\n";
|
||||
rename("$file.new",$file) || die "unable to rename $file.new:$!\n";
|
||||
}
|
||||
Reference in New Issue
Block a user