@ -0,0 +1,64 @@ | |||
Copyright (C) 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). | |||
Please note that MD2, MD5 and IDEA are publically available standards | |||
that contain sample implementations, I have re-coded them in my own | |||
way but there is nothing special about those implementations. The DES | |||
library is another mater :-). | |||
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.] | |||
The reason behind this being stated in this direct manner is past | |||
experience in code simply being copied and the attribution removed | |||
from it and then being distributed as part of other packages. This | |||
implementation was a non-trivial and unpaid effort. |
@ -0,0 +1,505 @@ | |||
#!/usr/local/bin/perl | |||
# | |||
# see PROBLEMS for instructions on what sort of things to do when | |||
# tracking a bug --tjh | |||
# | |||
# extra options | |||
# -DRSAref build to use RSAref | |||
# -DNO_IDEA build with no IDEA algorithm | |||
# -DNO_RC4 build with no RC4 algorithm | |||
# -DNO_RC2 build with no RC2 algorithm | |||
# -DNO_BF build with no Blowfish algorithm | |||
# -DNO_DES build with no DES/3DES algorithm | |||
# -DNO_MD2 build with no MD2 algorithm | |||
# | |||
# DES_PTR use pointer lookup vs arrays in the DES in crypto/des/des_locl.h | |||
# DES_RISC1 use different DES_ENCRYPT macro that helps reduce register | |||
# dependancies but needs to more registers, good for RISC CPU's | |||
# DES_RISC2 A different RISC variant. | |||
# DES_UNROLL unroll the inner DES loop, sometimes helps, somtimes hinders. | |||
# DES_INT use 'int' instead of 'long' for DES_LONG in crypto/des/des.h | |||
# This is used on the DEC Alpha where long is 8 bytes | |||
# and int is 4 | |||
# BN_LLONG use the type 'long long' in crypto/bn/bn.h | |||
# MD2_CHAR use 'char' instead of 'int' for MD2_INT in crypto/md/md2.h | |||
# MD2_LONG use 'long' instead of 'int' for MD2_INT in crypto/md/md2.h | |||
# IDEA_SHORT use 'short' instead of 'int' for IDEA_INT in crypto/idea/idea.h | |||
# IDEA_LONG use 'long' instead of 'int' for IDEA_INT in crypto/idea/idea.h | |||
# RC2_SHORT use 'short' instead of 'int' for RC2_INT in crypto/rc2/rc2.h | |||
# RC2_LONG use 'long' instead of 'int' for RC2_INT in crypto/rc2/rc2.h | |||
# RC4_CHAR use 'char' instead of 'int' for RC4_INT in crypto/rc4/rc4.h | |||
# RC4_LONG use 'long' instead of 'int' for RC4_INT in crypto/rc4/rc4.h | |||
# RC4_INDEX define RC4_INDEX in crypto/rc4/rc4_enc.c. This turns on | |||
# array lookups instead of pointer use. | |||
# BF_PTR use 'pointer arithmatic' for Blowfish (unsafe on Alpha). | |||
# BF_PTR2 use a pentium/intel specific version. | |||
$x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL"; | |||
# MD2_CHAR slags pentium pros | |||
$x86_gcc_opts="RC4_INDEX MD2_INT BF_PTR2"; | |||
# MODIFY THESE PARAMETERS IF YOU ARE GOING TO USE THE 'util/speed.sh SCRIPT | |||
# Don't worry about these normally | |||
$tcc="cc"; | |||
$tflags="-fast -Xa"; | |||
$tbn_mul=""; | |||
$tlib="-lnsl -lsocket"; | |||
#$bits1="SIXTEEN_BIT "; | |||
#$bits2="THIRTY_TWO_BIT "; | |||
$bits1="THIRTY_TWO_BIT "; | |||
$bits2="SIXTY_FOUR_BIT "; | |||
# -DB_ENDIAN slows things down on a sparc | |||
#config-string CC : CFLAGS : LDFLAGS : special header file mods:bn_asm \ | |||
# des_asm:bf_asm | |||
%table=( | |||
#"b", "$tcc:$tflags:$tlib:$bits1:$tbn_mul::", | |||
#"bl-4c-2c", "$tcc:$tflags:$tlib:${bits1}BN_LLONG RC4_CHAR MD2_CHAR:$tbn_mul::", | |||
#"bl-4c-ri", "$tcc:$tflags:$tlib:${bits1}BN_LLONG RC4_CHAR RC4_INDEX:$tbn_mul::", | |||
#"b2-is-ri-dp", "$tcc:$tflags:$tlib:${bits2}IDEA_SHORT RC4_INDEX DES_PTR:$tbn_mul::", | |||
# A few of my development configs | |||
"purify", "purify gcc:-g -DPURIFY -Wall:-lsocket -lnsl::::", | |||
"debug", "gcc:-DREF_CHECK -DCRYPTO_MDEBUG -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:::::", | |||
"dist", "cc:-O -DNOPROTO::::", | |||
# Basic configs that should work on any box | |||
"gcc", "gcc:-O3::BN_LLONG:::", | |||
"cc", "cc:-O -DNOPROTO -DNOCONST:::::", | |||
# My solaris setups | |||
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN:\ | |||
-lsocket -lnsl:BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-sol.o:asm/dx86-sol.o asm/cx86-sol.o:asm/bx86-sol.o", | |||
"solaris-sparc-gcc","gcc:-O3 -fomit-frame-pointer -mv8 -Wall:\ | |||
-lsocket -lnsl:BN_LLONG RC4_CHAR DES_UNROLL BF_PTR:::", | |||
# DO NOT use /xO[34] on sparc with SC3.0. | |||
# It is broken, and will not pass the tests | |||
"solaris-sparc-cc","cc:-fast -O -Xa -DB_ENDIAN:\ | |||
-lsocket -lnsl:BN_LLONG RC4_CHAR DES_PTR DES_UNROLL BF_PTR:asm/sparc.o::", | |||
# SC4.0 is ok, better than gcc, except for the bignum stuff. | |||
# -fast slows things like DES down quite a lot | |||
"solaris-sparc-sc4","cc:-xO5 -Xa -DB_ENDIAN:-lsocket -lnsl:\ | |||
BN_LLONG RC4_CHAR DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparc.o::", | |||
"solaris-usparc-sc4","cc:-xtarget=ultra -xarch=v8plus -Xa -xO5 -DB_ENDIAN:\ | |||
-lsocket -lnsl:\ | |||
BN_LLONG RC4_CHAR DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparc.o::", | |||
# Sunos configs, assuming sparc for the gcc one. | |||
"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::DES_UNROLL:::", | |||
"sunos-gcc","gcc:-O3 -mv8::BN_LLONG RC4_CHAR DES_UNROLL DES_PTR DES_RISC1:::", | |||
# SGI configurations. If the box is rather old (r3000 cpu), you will | |||
# probably have to remove the '-mips2' flag. I've only been using | |||
# IRIX 5.[23]. | |||
#"irix-gcc","gcc:-O2 -mips2::BN_LLONG RC4_INDEX RC4_CHAR:::", | |||
"irix-gcc","gcc:-O2 -DTERMIOS -DB_ENDIAN::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:::", | |||
"irix-cc", "cc:-O2 -DTERMIOS -DB_ENDIAN::DES_PTR DES_RISC2 DES_UNROLL BF_PTR:asm/r3000.o::", | |||
"debug-irix-cc", "cc:-w2 -g -DCRYPTO_MDEBUG -DTERMIOS -DB_ENDIAN:::asm/r3000.o::", | |||
# HPUX config. I've been building on HPUX 9, so the options may be | |||
# different on version 10. The pa-risc2.o assember file is 2 times | |||
# faster than the old asm/pa-risc.o version but it may not run on old | |||
# PA-RISC CPUs. If you have problems, swap back to the old one. | |||
# Both were generated by gcc, so use the C version with the PA-RISC specific | |||
# options turned on if you are using gcc. | |||
"hpux-cc", "cc:-DB_ENDIAN -D_HPUX_SOURCE -Aa -Ae +ESlit +O4 -Wl,-a,archive::DES_PTR DES_UNROLL DES_RISC1:asm/pa-risc2.o::", | |||
"hpux-kr-cc", "cc:-DB_ENDIAN -DNOCONST -DNOPROTO -D_HPUX_SOURCE::DES_PTR DES_UNROLL:asm/pa-risc2.o::", | |||
"hpux-gcc", "gcc:-DB_ENDIAN -O3::BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::", | |||
# Dec Alpha, OSF/1 - the alpha400-cc is the flags for a 21164A with | |||
# the new compiler | |||
"alpha-gcc","gcc:-O3::SIXTY_FOUR_BIT_LONGS DES_INT DES_PTR DES_RISC2:asm/alpha.o::", | |||
"alpha-cc", "cc:-O2::SIXTY_FOUR_BIT_LONGS DES_INT DES_PTR DES_RISC2:asm/alpha.o::", | |||
"alpha400-cc", "cc:-arch host -tune host -fast -std -O4 -inline speed::SIXTY_FOUR_BIT_LONG:asm/alpha.o::", | |||
# The intel boxes :-), It would be worth seeing if bsdi-gcc can use the | |||
# x86-lnx.o file file since it is hand tweaked assembler. | |||
"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized::BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnx.o:asm/dx86-elf.o asm/cx86-elf.o:asm/bx86-elf.o", | |||
"debug-linux-elf","gcc:-DREF_CHECK -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall:-lefence:BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnx.o:asm/dx86-elf.o asm/cx86-elf.o:asm/bx86-elf.o", | |||
"linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnxa.o:asm/dx86-out.o asm/cx86-out.o:asm/bx86-out.o", | |||
"NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::", | |||
"NetBSD-x86", "gcc:-DTERMIOS -D_ANSI_SOURCE -O3 -fomit-frame-pointer -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnxa.o:asm/dx86-out.o asm/cx86-out.o:asm/bx86-out.o", | |||
"FreeBSD", "gcc:-DTERMIOS -D_ANSI_SOURCE -fomit-frame-pointer -O3 -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnxa.o:asm/dx86-out.o asm/cx86-out.o:asm/bx86-out.o", | |||
#"bsdi-gcc", "shlicc2:-O3 -ffast-math-m486::RSA_LLONG $x86_gcc_des $x86_gcc_opts:::", | |||
#"bsdi-gcc", "gcc:-O3 -ffast-math -DPERL5 -m486::RSA_LLONG $x86_gc_des $x86_gcc_opts:asm/x86-bsdi.o:asm/dx86bsdi.o asm/cx86bsdi.o:asm/bx86bsdi.o", | |||
"bsdi-gcc", "gcc:-O3 -ffast-math -DPERL5 -m486::RSA_LLONG $x86_gc_des $x86_gcc_opts:::", | |||
"nextstep", "cc:-O3 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:::", | |||
# UnixWare 2.0 | |||
"unixware-2.0","cc:-O:-lsocket -lnsl:$x86_gcc_des $x86_gcc_opts:::", | |||
"unixware-2.0-pentium","cc:-O -Kpentium -Kthread:-lsocket -lnsl:MD2_CHAR RC4_INDEX $x86_des_des::", | |||
# IBM's AIX. | |||
"aix-cc", "cc:-O -DAIX -DB_ENDIAN::BN_LLONG RC4_CHAR:::", | |||
"aix-gcc", "gcc:-O2 -DAIX -DB_ENDIAN::BN_LLONG RC4_CHAR:::", | |||
# DGUX, 88100. | |||
"dgux-R3-gcc", "gcc:-O3 -fomit-frame-pointer::RC4_INDEX DES_UNROLL:::", | |||
"dgux-R4-gcc", "gcc:-O3 -fomit-frame-pointer:-lnsl -lsocket:RC4_INDEX:RC4_INDEX DES_UNROLL:::", | |||
"dgux-R4-x86-gcc", "gcc:-O3 -fomit-frame-pointer -DL_ENDIAN:-lnsl -lsocket:BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnx.o:asm/dx86-elf.o asm/cx86-elf.o:asm/bx86-elf.o", | |||
# SCO 5 | |||
"sco5-cc", "cc:-O:-lsocket:$x86_gcc_des $x86_gcc_opts:::", # des options? | |||
# Sinix RM400 | |||
"SINIX-N","/usr/ucb/cc:-O2 -misaligned:-lucb:RC4_INDEX RC4_CHAR:::", | |||
# Windows NT, Microsoft Visual C++ 4.0 | |||
# hmm... bug in perl under NT, I need to concatinate :-( | |||
"VC-NT","cl:::BN_LLONG RC4_INDEX ".$x86_gcc_opts.":::", | |||
"VC-WIN32","cl:::BN_LLONG RC4_INDEX ".$x86_gcc_opts.":::", | |||
"VC-WIN16","cl:::MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX THIRTY_TWO_BIT:::", | |||
"VC-W31-16","cl:::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX SIXTEEN_BIT:::", | |||
"VC-W31-32","cl:::MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX THIRTY_TWO_BIT:::", | |||
"VC-MSDOS","cl:::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX SIXTEEN_BIT:::", | |||
# Borland C++ 4.5 | |||
"BC-32","bcc32:::DES_PTR RC4_INDEX:::", | |||
"BC-16","bcc:::BN_LLONG DES_PTR RC4_INDEX SIXTEEN_BIT:::", | |||
); | |||
$postfix="org"; | |||
$Makefile="Makefile.ssl"; | |||
$des_locl="crypto/des/des_locl.h"; | |||
$des ="crypto/des/des.h"; | |||
$bn ="crypto/bn/bn.h"; | |||
$md2 ="crypto/md/md2.h"; | |||
$rc4 ="crypto/rc4/rc4.h"; | |||
$rc4_enc="crypto/rc4/rc4_enc.c"; | |||
$idea ="crypto/idea/idea.h"; | |||
$rc2 ="crypto/rc2/rc2.h"; | |||
$bf ="crypto/bf/bf_locl.h"; | |||
$bn_mulw="bn_mulw.o"; | |||
$des_enc="des_enc.o fcrypt_b.o"; | |||
$bf_enc ="bf_enc.o"; | |||
if ($#ARGV < 0) | |||
{ | |||
&bad_target; | |||
exit(1); | |||
} | |||
$flags=""; | |||
foreach (@ARGV) | |||
{ | |||
if ($_ =~ /^-/) | |||
{ | |||
if ($_ =~ /^-[lL](.*)$/) | |||
{ | |||
$libs.=$_." "; | |||
} | |||
elsif ($_ =~ /^-D(.*)$/) | |||
{ | |||
$flags.=$_." "; | |||
} | |||
else | |||
{ | |||
die "unknown options, only -Dxxx, -Lxxx -lxxx supported\n"; | |||
} | |||
} | |||
else | |||
{ | |||
die "target already defined - $target\n" if ($target ne ""); | |||
$target=$_; | |||
if (!defined($table{$target})) | |||
{ | |||
&bad_target; | |||
exit(1); | |||
} | |||
} | |||
} | |||
if (!defined($table{$target})) | |||
{ | |||
&bad_target; | |||
exit(1); | |||
} | |||
($cc,$cflags,$lflags,$bn_ops,$bn_obj,$des_obj,$bf_obj)= | |||
split(/\s*:\s*/,$table{$target}); | |||
$cflags="$flags$cflags" if ($flags ne ""); | |||
$lflags="$libs$lflags"if ($libs ne ""); | |||
$bn_obj=$bn_mulw unless ($bn_obj =~ /\.o$/); | |||
$des_obj=$des_enc unless ($des_obj =~ /\.o$/); | |||
$bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/); | |||
$n=&file_new($Makefile); | |||
open(IN,"<".$Makefile) || die "unable to read $Makefile:$!\n"; | |||
open(OUT,">".$n) || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
chop; | |||
s/^CC=.*$/CC= $cc/; | |||
s/^CFLAG=.*$/CFLAG= $cflags/; | |||
s/^EX_LIBS=.*$/EX_LIBS= $lflags/; | |||
s/^BN_MULW=.*$/BN_MULW= $bn_obj/; | |||
s/^DES_ENC=.*$/DES_ENC= $des_obj/; | |||
s/^BF_ENC=.*$/BF_ENC= $bf_obj/; | |||
print OUT $_."\n"; | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($Makefile,&file_old($Makefile)); | |||
&Rename($n,$Makefile); | |||
print "CC =$cc\n"; | |||
print "CFLAG =$cflags\n"; | |||
print "EX_LIBS=$lflags\n"; | |||
print "BN_MULW=$bn_obj\n"; | |||
print "DES_ENC=$des_obj\n"; | |||
print "BF_ENC =$bf_obj\n"; | |||
$des_ptr=0; | |||
$des_risc1=0; | |||
$des_risc2=0; | |||
$des_unroll=0; | |||
$bn_ll=0; | |||
$def_int=2; | |||
$rc4_int=$def_int; | |||
$md2_int=$def_int; | |||
$idea_int=$def_int; | |||
$rc2_int=$def_int; | |||
$rc4_idx=0; | |||
$bf_ptr=0; | |||
@type=("char","short","int","long"); | |||
($b64l,$b64,$b32,$b16,$b8)=(0,0,1,0,0); | |||
foreach (sort split(/\s+/,$bn_ops)) | |||
{ | |||
$des_ptr=1 if /DES_PTR/; | |||
$des_risc1=1 if /DES_RISC1/; | |||
$des_risc2=1 if /DES_RISC2/; | |||
$des_unroll=1 if /DES_UNROLL/; | |||
$des_int=1 if /DES_INT/; | |||
$bn_ll=1 if /BN_LLONG/; | |||
$rc4_int=0 if /RC4_CHAR/; | |||
$rc4_int=3 if /RC4_LONG/; | |||
$rc4_idx=1 if /RC4_INDEX/; | |||
$md2_int=0 if /MD2_CHAR/; | |||
$md2_int=3 if /MD2_LONG/; | |||
$idea_int=1 if /IDEA_SHORT/; | |||
$idea_int=3 if /IDEA_LONG/; | |||
$rc2_int=1 if /RC2_SHORT/; | |||
$rc2_int=3 if /RC2_LONG/; | |||
$bf_ptr=1 if $_ eq "BF_PTR"; | |||
$bf_ptr=2 if $_ eq "BF_PTR2"; | |||
($b64l,$b64,$b32,$b16,$b8)=(1,0,0,0,0) if /SIXTY_FOUR_BIT_LONG/; | |||
($b64l,$b64,$b32,$b16,$b8)=(0,1,0,0,0) if /SIXTY_FOUR_BIT/; | |||
($b64l,$b64,$b32,$b16,$b8)=(0,0,1,0,0) if /THIRTY_TWO_BIT/; | |||
($b64l,$b64,$b32,$b16,$b8)=(0,0,0,1,0) if /SIXTEEN_BIT/; | |||
($b64l,$b64,$b32,$b16,$b8)=(0,0,0,0,1) if /EIGHT_BIT/; | |||
} | |||
(($in=$bn) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($bn); | |||
open(IN,"<".$in) || die "unable to read $bn:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^#((define)|(undef))\s+SIXTY_FOUR_BIT_LONG/) | |||
{ printf OUT "#%s SIXTY_FOUR_BIT_LONG\n",($b64l)?"define":"undef"; } | |||
elsif (/^#((define)|(undef))\s+SIXTY_FOUR_BIT/) | |||
{ printf OUT "#%s SIXTY_FOUR_BIT\n",($b64)?"define":"undef"; } | |||
elsif (/^#((define)|(undef))\s+THIRTY_TWO_BIT/) | |||
{ printf OUT "#%s THIRTY_TWO_BIT\n",($b32)?"define":"undef"; } | |||
elsif (/^#((define)|(undef))\s+SIXTEEN_BIT/) | |||
{ printf OUT "#%s SIXTEEN_BIT\n",($b16)?"define":"undef"; } | |||
elsif (/^#((define)|(undef))\s+EIGHT_BIT/) | |||
{ printf OUT "#%s EIGHT_BIT\n",($b8)?"define":"undef"; } | |||
elsif (/^#((define)|(undef))\s+BN_LLONG\s*$/) | |||
{ printf OUT "#%s BN_LLONG\n",($bn_ll)?"define":"undef"; } | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($bn,&file_old($bn)); | |||
&Rename($n,$bn); | |||
(($in=$des) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($des); | |||
open(IN,"<".$in) || die "unable to read $des:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^\#define\s+DES_LONG\s+.*/) | |||
{ printf OUT "#define DES_LONG unsigned %s\n", | |||
($des_int)?'int':'long'; } | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($des,&file_old($des)); | |||
&Rename($n,$des); | |||
(($in=$des_locl) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($des_locl); | |||
open(IN,"<".$in) || die "unable to read $des_locl:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^\#(define|undef)\s+DES_PTR/) | |||
{ printf OUT "#%s DES_PTR\n",($des_ptr)?'define':'undef'; } | |||
elsif (/^\#(define|undef)\s+DES_RISC1/) | |||
{ printf OUT "#%s DES_RISC1\n",($des_risc1)?'define':'undef'; } | |||
elsif (/^\#(define|undef)\s+DES_RISC2/) | |||
{ printf OUT "#%s DES_RISC2\n",($des_risc2)?'define':'undef'; } | |||
elsif (/^\#(define|undef)\s+DES_UNROLL/) | |||
{ printf OUT "#%s DES_UNROLL\n",($des_unroll)?'define':'undef'; } | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($des_locl,&file_old($des_locl)); | |||
&Rename($n,$des_locl); | |||
(($in=$rc4) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($rc4); | |||
open(IN,"<".$in) || die "unable to read $rc4:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^#define\s+RC4_INT\s/) | |||
{ printf OUT "#define RC4_INT unsigned %s\n",$type[$rc4_int]; } | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($rc4,&file_old($rc4)); | |||
&Rename($n,$rc4); | |||
(($in=$rc4_enc) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($rc4_enc); | |||
open(IN,"<".$in) || die "unable to read $rc4_enc:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^#((define)|(undef))\s+RC4_INDEX/) | |||
{ printf OUT "#%s RC4_INDEX\n",($rc4_idx)?"define":"undef"; } | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($rc4_enc,&file_old($rc4_enc)); | |||
&Rename($n,$rc4_enc); | |||
(($in=$md2) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($md2); | |||
open(IN,"<".$in) || die "unable to read $bn:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^#define\s+MD2_INT\s/) | |||
{ printf OUT "#define MD2_INT unsigned %s\n",$type[$md2_int]; } | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($md2,&file_old($md2)); | |||
&Rename($n,$md2); | |||
(($in=$idea) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($idea); | |||
open(IN,"<".$in) || die "unable to read $idea:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^#define\s+IDEA_INT\s/) | |||
{printf OUT "#define IDEA_INT unsigned %s\n",$type[$idea_int];} | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($idea,&file_old($idea)); | |||
&Rename($n,$idea); | |||
(($in=$rc2) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($rc2); | |||
open(IN,"<".$in) || die "unable to read $rc2:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^#define\s+RC2_INT\s/) | |||
{printf OUT "#define RC2_INT unsigned %s\n",$type[$rc2_int];} | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($rc2,&file_old($rc2)); | |||
&Rename($n,$rc2); | |||
(($in=$bf) =~ s/\.([^.]+)/.$postfix/); | |||
$n=&file_new($bf); | |||
open(IN,"<".$in) || die "unable to read $bf:$!\n"; | |||
open(OUT,">$n") || die "unable to read $n:$!\n"; | |||
while (<IN>) | |||
{ | |||
if (/^#(define|undef)\s+BF_PTR/) | |||
{ | |||
printf OUT "#undef BF_PTR\n" if $bf_ptr == 0; | |||
printf OUT "#define BF_PTR\n" if $bf_ptr == 1; | |||
printf OUT "#define BF_PTR2\n" if $bf_ptr == 2; | |||
} | |||
else | |||
{ print OUT $_; } | |||
} | |||
close(IN); | |||
close(OUT); | |||
&Rename($bf,&file_old($bf)); | |||
&Rename($n,$bf); | |||
print "SIXTY_FOUR_BIT_LONG mode\n" if $b64l; | |||
print "SIXTY_FOUR_BIT mode\n" if $b64; | |||
print "THIRTY_TWO_BIT mode\n" if $b32; | |||
print "SIXTEEN_BIT mode\n" if $b16; | |||
print "EIGHT_BIT mode\n" if $b8; | |||
print "DES_PTR used\n" if $des_ptr; | |||
print "DES_RISC1 used\n" if $des_risc1; | |||
print "DES_RISC2 used\n" if $des_risc2; | |||
print "DES_UNROLL used\n" if $des_unroll; | |||
print "DES_INT used\n" if $des_int; | |||
print "BN_LLONG mode\n" if $bn_ll; | |||
print "RC4 uses u$type[$rc4_int]\n" if $rc4_int != $def_int; | |||
print "RC4_INDEX mode\n" if $rc4_idx; | |||
print "MD2 uses u$type[$md2_int]\n" if $md2_int != $def_int; | |||
print "IDEA uses u$type[$idea_int]\n" if $idea_int != $def_int; | |||
print "RC2 uses u$type[$rc2_int]\n" if $rc2_int != $def_int; | |||
print "BF_PTR used\n" if $bf_ptr == 1; | |||
print "BF_PTR2 used\n" if $bf_ptr == 2; | |||
exit(0); | |||
sub bad_target | |||
{ | |||
print STDERR "Usage: Configure [-Dxxx] [-Lxxx] [-lxxx] os/compiler\n"; | |||
print STDERR "pick os/compiler from:"; | |||
$j=0; | |||
foreach $i (sort keys %table) | |||
{ | |||
next if /^b-/; | |||
print STDERR "\n" if ($j++ % 4) == 0; | |||
printf(STDERR "%-18s ",$i); | |||
} | |||
print STDERR "\n"; | |||
} | |||
sub Rename | |||
{ | |||
local($from,$to)=@_; | |||
unlink($to); | |||
rename($from,$to) || die "unable to rename $from to $to:$!\n"; | |||
} | |||
sub file_new { local($a)=@_; $a =~ s/(\.[^.]+$|$)/.new/; $a; } | |||
sub file_old { local($a)=@_; $a =~ s/(\.[^.]+$|$)/.old/; $a; } |
@ -0,0 +1,126 @@ | |||
SSLeay 0.8.1 released. | |||
19-Jul-97 | |||
- Server side initated dynamic renegotiation is broken. I will fix | |||
it when I get back from holidays. | |||
15-Jul-97 | |||
- Quite a few small changes. | |||
- INVALID_SOCKET usage cleanups from Alex Kiernan <alex@hisoft.co.uk> | |||
09-Jul-97 | |||
- Added 2 new values to the SSL info callback. | |||
SSL_CB_START which is passed when the SSL protocol is started | |||
and SSL_CB_DONE when it has finished sucsessfully. | |||
08-Jul-97 | |||
- Fixed a few bugs problems in apps/req.c and crypto/asn1/x_pkey.c | |||
that related to DSA public/private keys. | |||
- Added all the relevent PEM and normal IO functions to support | |||
reading and writing RSAPublic keys. | |||
- Changed makefiles to use ${AR} instead of 'ar r' | |||
07-Jul-97 | |||
- Error in ERR_remove_state() that would leave a dangling reference | |||
to a free()ed location - thanks to Alex Kiernan <alex@hisoft.co.uk> | |||
- s_client now prints the X509_NAMEs passed from the server | |||
when requesting a client cert. | |||
- Added a ssl->type, which is one of SSL_ST_CONNECT or | |||
SSL_ST_ACCEPT. I had to add it so I could tell if I was | |||
a connect or an accept after the handshake had finished. | |||
- SSL_get_client_CA_list(SSL *s) now returns the CA names | |||
passed by the server if called by a client side SSL. | |||
05-Jul-97 | |||
- Bug in X509_NAME_get_text_by_OBJ(), looking starting at index | |||
0, not -1 :-( Fix from Tim Hudson (tjh@cryptsoft.com). | |||
04-Jul-97 | |||
- Fixed some things in X509_NAME_add_entry(), thanks to | |||
Matthew Donald <matthew@world.net>. | |||
- I had a look at the cipher section and though that it was a | |||
bit confused, so I've changed it. | |||
- I was not setting up the RC4-64-MD5 cipher correctly. It is | |||
a MS special that appears in exported MS Money. | |||
- Error in all my DH ciphers. Section 7.6.7.3 of the SSLv3 | |||
spec. I was missing the two byte length header for the | |||
ClientDiffieHellmanPublic value. This is a packet sent from | |||
the client to the server. The SSL_OP_SSLEAY_080_CLIENT_DH_BUG | |||
option will enable SSLeay server side SSLv3 accept either | |||
the correct or my 080 packet format. | |||
- Fixed a few typos in crypto/pem.org. | |||
02-Jul-97 | |||
- Alias mapping for EVP_get_(digest|cipher)byname is now | |||
performed before a lookup for actual cipher. This means | |||
that an alias can be used to 're-direct' a cipher or a | |||
digest. | |||
- ASN1_read_bio() had a bug that only showed up when using a | |||
memory BIO. When EOF is reached in the memory BIO, it is | |||
reported as a -1 with BIO_should_retry() set to true. | |||
01-Jul-97 | |||
- Fixed an error in X509_verify_cert() caused by my | |||
miss-understanding how 'do { contine } while(0);' works. | |||
Thanks to Emil Sit <sit@mit.edu> for educating me :-) | |||
30-Jun-97 | |||
- Base64 decoding error. If the last data line did not end with | |||
a '=', sometimes extra data would be returned. | |||
- Another 'cut and paste' bug in x509.c related to setting up the | |||
STDout BIO. | |||
27-Jun-97 | |||
- apps/ciphers.c was not printing due to an editing error. | |||
- Alex Kiernan <alex@hisoft.co.uk> send in a nice fix for | |||
a library build error in util/mk1mf.pl | |||
26-Jun-97 | |||
- Still did not have the auto 'experimental' code removal | |||
script correct. | |||
- A few header tweaks for Watcom 11.0 under Win32 from | |||
Rolf Lindemann <Lindemann@maz-hh.de> | |||
- 0 length OCTET_STRING bug in asn1_parse | |||
- A minor fix with an non-existent function in the MS .def files. | |||
- A few changes to the PKCS7 stuff. | |||
25-Jun-97 | |||
SSLeay 0.8.0 finally it gets released. | |||
24-Jun-97 | |||
Added a SSL_OP_EPHEMERAL_RSA option which causes all SSLv3 RSA keys to | |||
use a temporary RSA key. This is experimental and needs some more work. | |||
Fixed a few Win16 build problems. | |||
23-Jun-97 | |||
SSLv3 bug. I was not doing the 'lookup' of the CERT structure | |||
correctly. I was taking the SSL->ctx->default_cert when I should | |||
have been using SSL->cert. The bug was in ssl/s3_srvr.c | |||
20-Jun-97 | |||
X509_ATTRIBUTES were being encoded wrongly by apps/reg.c and the | |||
rest of the library. Even though I had the code required to do | |||
it correctly, apps/req.c was doing the wrong thing. I have fixed | |||
and tested everything. | |||
Missing a few #ifdef FIONBIO sections in crypto/bio/bss_acpt.c. | |||
19-Jun-97 | |||
Fixed a bug in the SSLv2 server side first packet handling. When | |||
using the non-blocking test BIO, the ssl->s2->first_packet flag | |||
was being reset when a would-block failure occurred when reading | |||
the first 5 bytes of the first packet. This caused the checking | |||
logic to run at the wrong time and cause an error. | |||
Fixed a problem with specifying cipher. If RC4-MD5 were used, | |||
only the SSLv3 version would be picked up. Now this will pick | |||
up both SSLv2 and SSLv3 versions. This required changing the | |||
SSL_CIPHER->mask values so that they only mask the ciphers, | |||
digests, authentication, export type and key-exchange algorithms. | |||
I found that when a SSLv23 session is established, a reused | |||
session, of type SSLv3 was attempting to write the SSLv2 | |||
ciphers, which were invalid. The SSL_METHOD->put_cipher_by_char | |||
method has been modified so it will only write out cipher which | |||
that method knows about. | |||
@ -0,0 +1,443 @@ | |||
SSLeay 0.6.5 | |||
After quite some time (3 months), the new release. I have been very busy | |||
for the last few months and so this is mostly bug fixes and improvments. | |||
The main additions are | |||
- assember for x86 DES. For all those gcc based systems, this is a big | |||
improvement. From 117,000 DES operation a second on a pentium 100, | |||
I now get 191,000. I have also reworked the C version so it | |||
now gives 148,000 DESs per second. | |||
- As mentioned above, the inner DES macros now have some more variant that | |||
sometimes help, sometimes hinder performance. There are now 3 options | |||
DES_PTR (ptr vs array lookup), DES_UNROLL (full vs partial loop unrolling) | |||
and DES_RISC (a more register intensive version of the inner macro). | |||
The crypto/des/des_opts.c program, when compiled and run, will give | |||
an indication of the correct options to use. | |||
- The BIO stuff has been improved. Read doc/bio.doc. There are now | |||
modules for encryption and base64 encoding and a BIO_printf() function. | |||
- The CA program will accept simple one line X509v3 extensions in the | |||
ssleay.cnf file. Have a look at the example. Currently this just | |||
puts the text into the certificate as an OCTET_STRING so currently | |||
the more advanced X509v3 data types are not handled but this is enough | |||
for the netscape extensions. | |||
- There is the start of a nicer higher level interface to the X509 | |||
strucutre. | |||
- Quite a lot of bug fixes. | |||
- CRYPTO_malloc_init() (or CRYPTO_set_mem_functions()) can be used | |||
to define the malloc(), free() and realloc() routines to use | |||
(look in crypto/crypto.h). This is mostly needed for Windows NT/95 when | |||
using DLLs and mixing CRT libraries. | |||
In general, read the 'VERSION' file for changes and be aware that some of | |||
the new stuff may not have been tested quite enough yet, so don't just plonk | |||
in SSLeay 0.6.5 when 0.6.4 used to work and expect nothing to break. | |||
SSLeay 0.6.4 30/08/96 eay | |||
I've just finished some test builds on Windows NT, Windows 3.1, Solaris 2.3, | |||
Solaris 2.5, Linux, IRIX, HPUX 10 and everthing seems to work :-). | |||
The main changes in this release | |||
- Thread safe. have a read of doc/threads.doc and play in the mt directory. | |||
For anyone using 0.6.3 with threads, I found 2 major errors so consider | |||
moving to 0.6.4. I have a test program that builds under NT and | |||
solaris. | |||
- The get session-id callback has changed. Have a read of doc/callback.doc. | |||
- The X509_cert_verify callback (the SSL_verify callback) now | |||
has another argument. Have a read of doc/callback.doc | |||
- 'ca -preserve', sign without re-ordering the DN. Not tested much. | |||
- VMS support. | |||
- Compile time memory leak detection can now be built into SSLeay. | |||
Read doc/memory.doc | |||
- CONF routines now understand '\', '\n', '\r' etc. What this means is that | |||
the SPKAC object mentioned in doc/ns-ca.doc can be on multiple lines. | |||
- 'ssleay ciphers' added, lists the default cipher list for SSLeay. | |||
- RC2 key setup is now compatable with Netscape. | |||
- Modifed server side of SSL implementation, big performance difference when | |||
using session-id reuse. | |||
0.6.3 | |||
Bug fixes and the addition of some nice stuff to the 'ca' program. | |||
Have a read of doc/ns-ca.doc for how hit has been modified so | |||
it can be driven from a CGI script. The CGI script is not provided, | |||
but that is just being left as an excersize for the reader :-). | |||
0.6.2 | |||
This is most bug fixes and functionality improvements. | |||
Additions are | |||
- More thread debugging patches, the thread stuff is still being | |||
tested, but for those keep to play with stuff, have a look in | |||
crypto/cryptlib.c. The application needs to define 1 (or optionaly | |||
a second) callback that is used to implement locking. Compiling | |||
with LOCK_DEBUG spits out lots of locking crud :-). | |||
This is what I'm currently working on. | |||
- SSL_CTX_set_default_passwd_cb() can be used to define the callback | |||
function used in the SSL*_file() functions used to load keys. I was | |||
always of the opinion that people should call | |||
PEM_read_RSAPrivateKey() and pass the callback they want to use, but | |||
it appears they just want to use the SSL_*_file() function() :-(. | |||
- 'enc' now has a -kfile so a key can be read from a file. This is | |||
mostly used so that the passwd does not appear when using 'ps', | |||
which appears imposible to stop under solaris. | |||
- X509v3 certificates now work correctly. I even have more examples | |||
in my tests :-). There is now a X509_EXTENSION type that is used in | |||
X509v3 certificates and CRLv2. | |||
- Fixed that signature type error :-( | |||
- Fixed quite a few potential memory leaks and problems when reusing | |||
X509, CRL and REQ structures. | |||
- EVP_set_pw_prompt() now sets the library wide default password | |||
prompt. | |||
- The 'pkcs7' command will now, given the -print_certs flag, output in | |||
pem format, all certificates and CRL contained within. This is more | |||
of a pre-emtive thing for the new verisign distribution method. I | |||
should also note, that this also gives and example in code, of how | |||
to do this :-), or for that matter, what is involved in going the | |||
other way (list of certs and crl -> pkcs7). | |||
- Added RSA's DESX to the DES library. It is also available via the | |||
EVP_desx_cbc() method and via 'enc desx'. | |||
SSLeay 0.6.1 | |||
The main functional changes since 0.6.0 are as follows | |||
- Bad news, the Microsoft 060 DLL's are not compatable, but the good news is | |||
that from now on, I'll keep the .def numbers the same so they will be. | |||
- RSA private key operations are about 2 times faster that 0.6.0 | |||
- The SSL_CTX now has more fields so default values can be put against | |||
it. When an SSL structure is created, these default values are used | |||
but can be overwritten. There are defaults for cipher, certificate, | |||
private key, verify mode and callback. This means SSL session | |||
creation can now be | |||
ssl=SSL_new() | |||
SSL_set_fd(ssl,sock); | |||
SSL_accept(ssl) | |||
.... | |||
All the other uglyness with having to keep a global copy of the | |||
private key and certificate/verify mode in the server is now gone. | |||
- ssl/ssltest.c - one process talking SSL to its self for testing. | |||
- Storage of Session-id's can be controled via a session_cache_mode | |||
flag. There is also now an automatic default flushing of | |||
old session-id's. | |||
- The X509_cert_verify() function now has another parameter, this | |||
should not effect most people but it now means that the reason for | |||
the failure to verify is now available via SSL_get_verify_result(ssl). | |||
You don't have to use a global variable. | |||
- SSL_get_app_data() and SSL_set_app_data() can be used to keep some | |||
application data against the SSL structure. It is upto the application | |||
to free the data. I don't use it, but it is available. | |||
- SSL_CTX_set_cert_verify_callback() can be used to specify a | |||
verify callback function that completly replaces my certificate | |||
verification code. Xcert should be able to use this :-). | |||
The callback is of the form int app_verify_callback(arg,ssl,cert). | |||
This needs to be documented more. | |||
- I have started playing with shared library builds, have a look in | |||
the shlib directory. It is very simple. If you need a numbered | |||
list of functions, have a look at misc/crypto.num and misc/ssl.num. | |||
- There is some stuff to do locking to make the library thread safe. | |||
I have only started this stuff and have not finished. If anyone is | |||
keen to do so, please send me the patches when finished. | |||
So I have finally made most of the additions to the SSL interface that | |||
I thought were needed. | |||
There will probably be a pause before I make any non-bug/documentation | |||
related changes to SSLeay since I'm feeling like a bit of a break. | |||
eric - 12 Jul 1996 | |||
I saw recently a comment by some-one that we now seem to be entering | |||
the age of perpetual Beta software. | |||
Pioneered by packages like linux but refined to an art form by | |||
netscape. | |||
I too wish to join this trend with the anouncement of SSLeay 0.6.0 :-). | |||
There are quite a large number of sections that are 'works in | |||
progress' in this package. I will also list the major changes and | |||
what files you should read. | |||
BIO - this is the new IO structure being used everywhere in SSLeay. I | |||
started out developing this because of microsoft, I wanted a mechanism | |||
to callback to the application for all IO, so Windows 3.1 DLL | |||
perversion could be hidden from me and the 15 different ways to write | |||
to a file under NT would also not be dictated by me at library build | |||
time. What the 'package' is is an API for a data structure containing | |||
functions. IO interfaces can be written to conform to the | |||
specification. This in not intended to hide the underlying data type | |||
from the application, but to hide it from SSLeay :-). | |||
I have only really finished testing the FILE * and socket/fd modules. | |||
There are also 'filter' BIO's. Currently I have only implemented | |||
message digests, and it is in use in the dgst application. This | |||
functionality will allow base64/encrypto/buffering modules to be | |||
'push' into a BIO without it affecting the semantics. I'm also | |||
working on an SSL BIO which will hide the SSL_accept()/SLL_connet() | |||
from an event loop which uses the interface. | |||
It is also possible to 'attach' callbacks to a BIO so they get called | |||
before and after each operation, alowing extensive debug output | |||
to be generated (try running dgst with -d). | |||
Unfortunaly in the conversion from 0.5.x to 0.6.0, quite a few | |||
functions that used to take FILE *, now take BIO *. | |||
The wrappers are easy to write | |||
function_fp(fp,x) | |||
FILE *fp; | |||
{ | |||
BIO *b; | |||
int ret; | |||
if ((b=BIO_new(BIO_s_file())) == NULL) error..... | |||
BIO_set_fp(b,fp,BIO_NOCLOSE); | |||
ret=function_bio(b,x); | |||
BIO_free(b); | |||
return(ret); | |||
} | |||
Remember, there are no functions that take FILE * in SSLeay when | |||
compiled for Windows 3.1 DLL's. | |||
-- | |||
I have added a general EVP_PKEY type that can hold a public/private | |||
key. This is now what is used by the EVP_ functions and is passed | |||
around internally. I still have not done the PKCS#8 stuff, but | |||
X509_PKEY is defined and waiting :-) | |||
-- | |||
For a full function name listings, have a look at ms/crypt32.def and | |||
ms/ssl32.def. These are auto-generated but are complete. | |||
Things like ASN1_INTEGER_get() have been added and are in here if you | |||
look. I have renamed a few things, again, have a look through the | |||
function list and you will probably find what you are after. I intend | |||
to at least put a one line descrition for each one..... | |||
-- | |||
Microsoft - thats what this release is about, read the MICROSOFT file. | |||
-- | |||
Multi-threading support. I have started hunting through the code and | |||
flaging where things need to be done. In a state of work but high on | |||
the list. | |||
-- | |||
For random numbers, edit e_os.h and set DEVRANDOM (it's near the top) | |||
be be you random data device, otherwise 'RFILE' in e_os.h | |||
will be used, in your home directory. It will be updated | |||
periodically. The environment variable RANDFILE will override this | |||
choice and read/write to that file instead. DEVRANDOM is used in | |||
conjunction to the RFILE/RANDFILE. If you wish to 'seed' the random | |||
number generator, pick on one of these files. | |||
-- | |||
The list of things to read and do | |||
dgst -d | |||
s_client -state (this uses a callback placed in the SSL state loop and | |||
will be used else-where to help debug/monitor what | |||
is happening.) | |||
doc/why.doc | |||
doc/bio.doc <- hmmm, needs lots of work. | |||
doc/bss_file.doc <- one that is working :-) | |||
doc/session.doc <- it has changed | |||
doc/speed.doc | |||
also play with ssleay version -a. I have now added a SSLeay() | |||
function that returns a version number, eg 0600 for this release | |||
which is primarily to be used to check DLL version against the | |||
application. | |||
util/* Quite a few will not interest people, but some may, like | |||
mk1mf.pl, mkdef.pl, | |||
util/do_ms.sh | |||
try | |||
cc -Iinclude -Icrypto -c crypto/crypto.c | |||
cc -Iinclude -Issl -c ssl/ssl.c | |||
You have just built the SSLeay libraries as 2 object files :-) | |||
Have a general rummage around in the bin stall directory and look at | |||
what is in there, like CA.sh and c_rehash | |||
There are lots more things but it is 12:30am on a Friday night and I'm | |||
heading home :-). | |||
eric 22-Jun-1996 | |||
This version has quite a few major bug fixes and improvements. It DOES NOT | |||
do SSLv3 yet. | |||
The main things changed | |||
- A Few days ago I added the s_mult application to ssleay which is | |||
a demo of an SSL server running in an event loop type thing. | |||
It supports non-blocking IO, I have finally gotten it right, SSL_accept() | |||
can operate in non-blocking IO mode, look at the code to see how :-). | |||
Have a read of doc/s_mult as well. This program leaks memory and | |||
file descriptors everywhere but I have not cleaned it up yet. | |||
This is a demo of how to do non-blocking IO. | |||
- The SSL session management has been 'worked over' and there is now | |||
quite an expansive set of functions to manipulate them. Have a read of | |||
doc/session.doc for some-things I quickly whipped up about how it now works. | |||
This assume you know the SSLv2 protocol :-) | |||
- I can now read/write the netscape certificate format, use the | |||
-inform/-outform 'net' options to the x509 command. I have not put support | |||
for this type in the other demo programs, but it would be easy to add. | |||
- asn1parse and 'enc' have been modified so that when reading base64 | |||
encoded files (pem format), they do not require '-----BEGIN' header lines. | |||
The 'enc' program had a buffering bug fixed, it can be used as a general | |||
base64 -> binary -> base64 filter by doing 'enc -a -e' and 'enc -a -d' | |||
respecivly. Leaving out the '-a' flag in this case makes the 'enc' command | |||
into a form of 'cat'. | |||
- The 'x509' and 'req' programs have been fixed and modified a little so | |||
that they generate self-signed certificates correctly. The test | |||
script actually generates a 'CA' certificate and then 'signs' a | |||
'user' certificate. Have a look at this shell script (test/sstest) | |||
to see how things work, it tests most possible combinations of what can | |||
be done. | |||
- The 'SSL_set_pref_cipher()' function has been 'fixed' and the prefered name | |||
of SSL_set_cipher_list() is now the correct API (stops confusion :-). | |||
If this function is used in the client, only the specified ciphers can | |||
be used, with preference given to the order the ciphers were listed. | |||
For the server, if this is used, only the specified ciphers will be used | |||
to accept connections. If this 'option' is not used, a default set of | |||
ciphers will be used. The SSL_CTX_set_cipher_list(SSL_CTX *ctx) sets this | |||
list for all ciphers started against the SSL_CTX. So the order is | |||
SSL cipher_list, if not present, SSL_CTX cipher list, if not | |||
present, then the library default. | |||
What this means is that normally ciphers like | |||
NULL-MD5 will never be used. The only way this cipher can be used | |||
for both ends to specify to use it. | |||
To enable or disable ciphers in the library at build time, modify the | |||
first field for the cipher in the ssl_ciphers array in ssl/ssl_lib.c. | |||
This file also contains the 'pref_cipher' list which is the default | |||
cipher preference order. | |||
- I'm not currently sure if the 'rsa -inform net' and the 'rsa -outform net' | |||
options work. They should, and they enable loading and writing the | |||
netscape rsa private key format. I will be re-working this section of | |||
SSLeay for the next version. What is currently in place is a quick and | |||
dirty hack. | |||
- I've re-written parts of the bignum library. This gives speedups | |||
for all platforms. I now provide assembler for use under Windows NT. | |||
I have not tested the Windows 3.1 assembler but it is quite simple code. | |||
This gives RSAprivate_key operation encryption times of 0.047s (512bit key) | |||
and 0.230s (1024bit key) on a pentium 100 which I consider reasonable. | |||
Basically the times available under linux/solaris x86 can be achieve under | |||
Windows NT. I still don't know how these times compare to RSA's BSAFE | |||
library but I have been emailing with people and with their help, I should | |||
be able to get my library's quite a bit faster still (more algorithm changes). | |||
The object file crypto/bn/asm/x86-32.obj should be used when linking | |||
under NT. | |||
- 'make makefile.one' in the top directory will generate a single makefile | |||
called 'makefile.one' This makefile contains no perl references and | |||
will build the SSLeay library into the 'tmp' and 'out' directories. | |||
util/mk1mf.pl >makefile.one is how this makefile is | |||
generated. The mk1mf.pl command take several option to generate the | |||
makefile for use with cc, gcc, Visual C++ and Borland C++. This is | |||
still under development. I have only build .lib's for NT and MSDOS | |||
I will be working on this more. I still need to play with the | |||
correct compiler setups for these compilers and add some more stuff but | |||
basically if you just want to compile the library | |||
on a 'non-unix' platform, this is a very very good file to start with :-). | |||
Have a look in the 'microsoft' directory for my current makefiles. | |||
I have not yet modified things to link with sockets under Windows NT. | |||
You guys should be able to do this since this is actually outside of the | |||
SSLeay scope :-). I will be doing it for myself soon. | |||
util/mk1mf.pl takes quite a few options including no-rc, rsaref and no-sock | |||
to build without RC2/RC4, to require RSAref for linking, and to | |||
build with no socket code. | |||
- Oh yes, the cipher that was reported to be compatible with RSA's RC2 cipher | |||
that was posted to sci.crypt has been added to the library and SSL. | |||
I take the view that if RC2 is going to be included in a standard, | |||
I'll include the cipher to make my package complete. | |||
There are NO_RC2, NO_RC4 and NO_IDEA macros to remove these ciphers | |||
at compile time. I have not tested this recently but it should all work | |||
and if you are in the USA and don't want RSA threatening to sue you, | |||
you could probably remove the RC4/RC2 code inside these sections. | |||
I may in the future include a perl script that does this code | |||
removal automatically for those in the USA :-). | |||
- I have removed all references to sed in the makefiles. So basically, | |||
the development environment requires perl and sh. The build environment | |||
does not (use the makefile.one makefile). | |||
The Configure script still requires perl, this will probably stay that way | |||
since I have perl for Windows NT :-). | |||
eric (03-May-1996) | |||
PS Have a look in the VERSION file for more details on the changes and | |||
bug fixes. | |||
I have fixed a few bugs, added alpha and x86 assembler and generally cleaned | |||
things up. This version will be quite stable, mostly because I'm on | |||
holidays until 10-March-1996. For any problems in the interum, send email | |||
to Tim Hudson <tjh@mincom.oz.au>. | |||
SSLeay 0.5.0 | |||
12-12-95 | |||
This is going out before it should really be released. | |||
I leave for 11 weeks holidays on the 22-12-95 and so I either sit on | |||
this for 11 weeks or get things out. It is still going to change a | |||
lot in the next week so if you do grab this version, please test and | |||
give me feed back ASAP, inculuding questions on how to do things with | |||
the library. This will prompt me to write documentation so I don't | |||
have to answer the same question again :-). | |||
This 'pre' release version is for people who are interested in the | |||
library. The applications will have to be changed to use | |||
the new version of the SSL interface. I intend to finish more | |||
documentation before I leave but until then, look at the programs in | |||
the apps directory. As far as code goes, it is much much nicer than | |||
the old version. | |||
The current library works, has no memory leaks (as far as I can tell) | |||
and is far more bug free that 0.4.5d. There are no global variable of | |||
consequence (I believe) and I will produce some documentation that | |||
tell where to look for those people that do want to do multi-threaded | |||
stuff. | |||
There should be more documentation. Have a look in the | |||
doc directory. I'll be adding more before I leave, it is a start | |||
by mostly documents the crypto library. Tim Hudson will update | |||
the web page ASAP. The spelling and grammar are crap but | |||
it is better than nothing :-) | |||
Reasons to start playing with version 0.5.0 | |||
- All the programs in the apps directory build into one ssleay binary. | |||
- There is a new version of the 'req' program that generates certificate | |||
requests, there is even documentation for this one :-) | |||
- There is a demo certification authorithy program. Currently it will | |||
look at the simple database and update it. It will generate CRL from | |||
the data base. You need to edit the database by hand to revoke a | |||
certificate, it is my aim to use perl5/Tk but I don't have time to do | |||
this right now. It will generate the certificates but the management | |||
scripts still need to be written. This is not a hard task. | |||
- Things have been cleaned up alot. | |||
- Have a look at the enc and dgst programs in the apps directory. | |||
- It supports v3 of x509 certiticates. | |||
Major things missing. | |||
- I have been working on (and thinging about) the distributed x509 | |||
hierachy problem. I have not had time to put my solution in place. | |||
It will have to wait until I come back. | |||
- I have not put in CRL checking in the certificate verification but | |||
it would not be hard to do. I was waiting until I could generate my | |||
own CRL (which has only been in the last week) and I don't have time | |||
to put it in correctly. | |||
- Montgomery multiplication need to be implemented. I know the | |||
algorithm, just ran out of time. | |||
- PKCS#7. I can load and write the DER version. I need to re-work | |||
things to support BER (if that means nothing, read the ASN1 spec :-). | |||
- Testing of the higher level digital envelope routines. I have not | |||
played with the *_seal() and *_open() type functions. They are | |||
written but need testing. The *_sign() and *_verify() functions are | |||
rock solid. | |||
- PEM. Doing this and PKCS#7 have been dependant on the distributed | |||
x509 heirachy problem. I started implementing my ideas, got | |||
distracted writing a CA program and then ran out of time. I provide | |||
the functionality of RSAref at least. | |||
- Re work the asm. code for the x86. I've changed by low level bignum | |||
interface again, so I really need to tweak the x86 stuff. gcc is | |||
good enough for the other boxes. | |||
@ -0,0 +1,128 @@ | |||
# Installation of SSLeay. | |||
# It depends on perl for a few bits but those steps can be skipped and | |||
# the top level makefile edited by hand | |||
# When bringing the SSLeay distribution back from the evil intel world | |||
# of Windows NT, do the following to make it nice again under unix :-) | |||
# You don't normally need to run this. | |||
sh util/fixNT.sh # This only works for NT now - eay - 21-Jun-1996 | |||
# If you have perl, and it is not in /usr/local/bin, you can run | |||
perl util/perlpath.pl /new/path | |||
# and this will fix the paths in all the scripts. DO NOT put | |||
# /new/path/perl, just /new/path. The build | |||
# environment always run scripts as 'perl perlscript.pl' but some of the | |||
# 'applications' are easier to usr with the path fixed. | |||
# Edit crypto/cryptlib.h, tools/c_rehash, and Makefile.ssl | |||
# to set the install locations if you don't like | |||
# the default location of /usr/local/ssl | |||
# Do this by running | |||
perl util/ssldir.pl /new/ssl/home | |||
# if you have perl, or by hand if not. | |||
# If things have been stuffed up with the sym links, run | |||
make -f Makefile.ssl links | |||
# This will re-populate lib/include with symlinks and for each | |||
# directory, link Makefile to Makefile.ssl | |||
# Setup the machine dependent stuff for the top level makefile | |||
# and some select .h files | |||
# If you don't have perl, this will bomb, in which case just edit the | |||
# top level Makefile.ssl | |||
./Configure 'system type' | |||
# The 'Configure' command contains default configuration parameters | |||
# for lots of machines. Configure edits 5 lines in the top level Makefile | |||
# It modifies the following values in the following files | |||
Makefile.ssl CC CFLAG EX_LIBS BN_MULW | |||
crypto/des/des.h DES_LONG | |||
crypto/des/des_locl.h DES_PTR | |||
crypto/md/md2.h MD2_INT | |||
crypto/rc4/rc4.h RC4_INT | |||
crypto/rc4/rc4_enc.c RC4_INDEX | |||
crypto/rc2/rc2.h RC2_INT | |||
crypto/bf/bf_locl.h BF_INT | |||
crypto/idea/idea.h IDEA_INT | |||
crypto/bn/bn.h BN_LLONG (and defines one of SIXTY_FOUR_BIT, | |||
SIXTY_FOUR_BIT_LONG, THIRTY_TWO_BIT, | |||
SIXTEEN_BIT or EIGHT_BIT) | |||
Please remember that all these files are actually copies of the file with | |||
a .org extention. So if you change crypto/des/des.h, the next time | |||
you run Configure, it will be runover by a 'configured' version of | |||
crypto/des/des.org. So to make the changer the default, change the .org | |||
files. The reason these files have to be edited is because most of | |||
these modifications change the size of fundamental data types. | |||
While in theory this stuff is optional, it often makes a big | |||
difference in performance and when using assember, it is importaint | |||
for the 'Bignum bits' match those required by the assember code. | |||
A warning for people using gcc with sparc cpu's. Gcc needs the -mv8 | |||
flag to use the hardware multiply instruction which was not present in | |||
earlier versions of the sparc CPU. I define it by default. If you | |||
have an old sparc, and it crashes, try rebuilding with this flag | |||
removed. I am leaving this flag on by default because it makes | |||
things run 4 times faster :-) | |||
# clean out all the old stuff | |||
make clean | |||
# Do a make depend only if you have the makedepend command installed | |||
# This is not needed but it does make things nice when developing. | |||
make depend | |||
# make should build everything | |||
make | |||
# fix up the demo certificate hash directory if it has been stuffed up. | |||
make rehash | |||
# test everything | |||
make test | |||
# install the lot | |||
make install | |||
# It is worth noting that all the applications are built into the one | |||
# program, ssleay, which is then has links from the other programs | |||
# names to it. | |||
# The applicatons can be built by themselves, just don't define the | |||
# 'MONOLITH' flag. So to build the 'enc' program stand alone, | |||
gcc -O2 -Iinclude apps/enc.c apps/apps.c libcrypto.a | |||
# Other useful make options are | |||
make makefile.one | |||
# which generate a 'makefile.one' file which will build the complete | |||
# SSLeay distribution with temp. files in './tmp' and 'installable' files | |||
# in './out' | |||
# Have a look at running | |||
perl util/mk1mf.pl help | |||
# this can be used to generate a single makefile and is about the only | |||
# way to generate makefiles for windows. | |||
# There is actually a final way of building SSLeay. | |||
gcc -O2 -c -Icrypto -Iinclude crypto/crypto.c | |||
gcc -O2 -c -Issl -Iinclude ssl/ssl.c | |||
# and you now have the 2 libraries as single object files :-). | |||
# If you want to use the assember code for your particular platform | |||
# (DEC alpha/x86 are the main ones, the other assember is just the | |||
# output from gcc) you will need to link the assember with the above generated | |||
# object file and also do the above compile as | |||
gcc -O2 -DBN_ASM -c -Icrypto -Iinclude crypto/crypto.c | |||
This last option is probably the best way to go when porting to another | |||
platform or building shared libraries. It is not good for development so | |||
I don't normally use it. | |||
To build shared libararies under unix, have a look in shlib, basically | |||
you are on your own, but it is quite easy and all you have to do | |||
is compile 2 (or 3) files. | |||
For mult-threading, have a read of doc/threads.doc. Again it is quite | |||
easy and normally only requires some extra callbacks to be defined | |||
by the application. | |||
The examples for solaris and windows NT/95 are in the mt directory. | |||
have fun | |||
eric 25-Jun-1997 |
@ -0,0 +1,146 @@ | |||
The Microsoft World. | |||
The good news, to build SSLeay for the Microsft World | |||
Windows 3.1 DLL's | |||
perl Configure VC-WIN16 | |||
nmake -f ms\w31dll.mak | |||
Windows NT/95 DLL's | |||
perl Configure VC-WIN32 | |||
nmake -f ms\ntdll.mak | |||
Now the bad news | |||
All builds were done using Microsofts Visual C++ 1.52c and [45].x. | |||
If you are a borland person, you are probably going to have to help me | |||
finish the stuff in util/pl/BC*pl | |||
All builds were made under Windows NT - this means long filenames, so | |||
you may have problems under Windows 3.1 but probably not under 95. | |||
Because file pointers don't work in DLL's under Windows 3.1 (well at | |||
least stdin/stdout don't and I don't like having to differentiate | |||
between these and other file pointers), I now use the BIO file-pointer | |||
module, which needs to be linked into your application. You can either | |||
use the memory buffer BIO for IO, or compile bss_file.c into your | |||
application, it is in the apps directory and is just a copy of | |||
crypto/buffer/bss_file.c with #define APPS_WIN16 added. | |||
I have not yet automated the makefile to automatically copy it into 'out' | |||
for a win 3.1 build.... | |||
All callbacks passed into SSLeay for Windows 3.1 need to be of type | |||
_far _loadds. | |||
I don't support building with the pascal calling convention. | |||
The DLL and static builds are large memory model. | |||
To build static libraries for NT/95 or win 3.1 | |||
perl util/mk1mf.pl VC-WIN32 > mf-stat.nt | |||
perl util/mk1mf.pl VC-WIN16 > mf-stat.w31 | |||
for DLL's | |||
perl util/mk1mf.pl dll VC-WIN32 > mf-dll.nt | |||
perl util/mk1mf.pl dll VC-WIN16 > mf-dll.w31 | |||
Again you will notice that if you dont have perl, you cannot do this. | |||
Now the next importaint issue. Running Configure! | |||
I have small assember code files for critical big number library operation | |||
in crypto/bn/asm. There is, asm code, object files and uuencode | |||
object files. They are | |||
x86nt32.asm - 32bit flat memory model assember - suitable Win32 | |||
x86w16.asm - 16bit assember - used in the msdos build. | |||
x86w32.asm - 32bit assember, win 3.1 segments, used for win16 build. | |||
If you feel compelled to build the 16bit maths routines in the windows 3.1 | |||
build, | |||
perl Configure VC-W31-16 | |||
perl util/mk1mf.pl dll VC-W31-16 > mf-dll.w31 | |||
If you hate assember and don't want anything to do with it, | |||
perl util/mk1mf.pl no-asm VC-WIN16 > mf-dll.w31 | |||
will work for any of the makefile generations. | |||
There are more options to mk1mf.pl but these all leave the temporary | |||
files in 'tmp' and the output files in 'out' by default. | |||
The NT build is done for console mode. | |||
The Windows 3.1 version of SSLeay uses quickwin, the interface is ugly | |||
but it is better than nothing. If you want ugly, try doing anything | |||
that involves getting a password. I decided to be ugly instead of | |||
echoing characters. For Windows 3.1 I would just sugest using the | |||
msdos version of the ssleay application for command line work. | |||
The QuickWin build is primarily for testing. | |||
For both NT and Windows 3.1, I have not written the code so that | |||
s_client, s_server can take input from the keyboard. You can happily | |||
start applications up in separate windows, watch them handshake, and then sit | |||
there for-ever. I have not had the time to get this working, and I've | |||
been able to test things from a unix box to the NT box :-). | |||
Try running ssleay s_server on the windows box | |||
(with either -cert ../apps/server.pem -www) | |||
and run ssleay s_time from another window. | |||
This often stuffs up on Windows 3.1, but I'm not worried since this is | |||
probably a problem with my demo applications, not the libraries. | |||
After a build of one of the version of microsoft SSLeay, | |||
'cd ms' and then run 'test'. This should check everything out and | |||
even does a trial run of generating certificates. | |||
'test.bat' requires that perl be install, you be in the ms directory | |||
(not the test directory, thats for unix so stay out :-) and that the | |||
build output directory be ../out | |||
On a last note, you will probably get division by zero errors and | |||
stuff after a build. This is due to your own inability to follow | |||
instructions :-). | |||
The reasons for the problem is probably one of the following. | |||
1) You did not run Configure. This is critical for windows 3.1 when | |||
using assember. The values in crypto/bn/bn.h must match the | |||
ones requred for the assember code. (remember that if you | |||
edit crypto/bn/bn.h by hand, it will be clobered the next time | |||
you run Configure by the contents of crypto/bn/bn.org). | |||
SSLeay version -o will list the compile options. | |||
For VC-WIN32 you need bn(64,32) or bn(32,32) | |||
For VC-W31-32/VC-WIN16 you need bn(32,32) | |||
For VC-W31-16 you need bn(32,16) or bn(16,16) | |||
For VC-MSDOS you need bn(32,16) or bn(16,16). | |||
The first number will be 2 times bigger than the second if | |||
BN_LLONG is defined in bn.h and the size of the second number | |||
depends on the 'bits' defined at the start of bn.h. Have a | |||
look, it's all reasonably clear. | |||
If you want to start messing with 8 bit builds and things like | |||
that, build without the assember by re-generating a makefile | |||
via 'perl util/mk1mf.pl no-asm'. | |||
2) You tried to build under MS-DOS or Windows 3.1 using the /G3 | |||
option. Don't. It is buggy (thats why you just got that | |||
error) and unless you want to work out which optimising flag | |||
to turn off, I'm not going to help you :-). I also noticed | |||
that code often ran slower when compiled with /G3. | |||
3) Under NT/95, malloc goes stupid. You are probably linking with | |||
the wrong library, there are problems if you mix the threaded | |||
and non-threaded libraries (due to the DLL being staticly | |||
linked with one and the applicaion using another. | |||
Well hopefully thats most of the MS issues handled, see you in ssl-users :-). | |||
eric 30-Aug-1996 | |||
SSLeay 0.6.5 | |||
For Windows 95/NT, add CRYPTO_malloc_init() to your program before any | |||
calls to the SSLeay libraries. This function will insert callbacks so that | |||
the SSLeay libraries will use the same malloc(), free() and realloc() as | |||
your application so 'problem 3)' mentioned above will go away. | |||
There is now DES assember for Windows NT/95. The file is | |||
crypto/des/asm/win32.asm and replaces crypto/des/des_enc.c in the build. | |||
There is also Blowfish assember for Windows NT/95. The file is | |||
crypto/bf/asm/win32.asm and replaces crypto/bf/bf_enc.c in the build. | |||
eric 25-Jun-1997 | |||
@ -0,0 +1,831 @@ | |||
RELATIVE_DIRECTORY=. | |||
AR=ar r | |||
BASENAME=SSLeay | |||
BF_ENC=bf_enc.o | |||
BN_MULW=bn_mulw.o | |||
CC=cc | |||
CFLAG=-O -DNOPROTO | |||
DES_ENC=des_enc.o fcrypt_b.o | |||
DIRS=crypto ssl rsaref apps test tools | |||
EDIRS=times doc bugs util include certs ms shlib mt demos | |||
EX_HEADER= | |||
EX_LIBS= | |||
GENERAL=Makefile | |||
HEADER=e_os.h | |||
INSTALLTOP=/usr/local/ssl | |||
LIBS=libcrypto.a libssl.a | |||
MAKE=make -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
MAN1=1 | |||
MAN3=3 | |||
MISC=COPYRIGHT Configure HISTORY.066 INSTALL Makefile.ssl Makefile README TODO HISTORY README.066 README.080 VERSION PROBLEMS MINFO makefile.one e_os.h MICROSOFT makevms.com | |||
NAME=SSLeay-0.8.1 | |||
ONEDIRS=out tmp | |||
PEX_LIBS=-L. -L.. -L../.. -L../../.. | |||
SDIRS=md sha mdc2 des rc4 rc2 idea bf bn rsa dsa dh buffer bio stack lhash rand err objects evp pem asn1 x509 conf txt_db pkcs7 | |||
SHELL=/bin/sh | |||
TARFILE=SSLeay-0.8.1.tar | |||
TOP=. | |||
VERSION=0.8.1 | |||
WDIRS=windows | |||
WTARFILE=SSLeay-0.8.1-win.tar | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto | |||
ALL=Makefile README cryptlib.c mem.c cversion.c cryptlib.h date.h crypto.h cryptall.h | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I. -I../include -g -DCFLAGS=" \"cc -g\" " | |||
DIR=crypto | |||
EXHEADER=crypto.h cryptall.h | |||
EX_LIBS= | |||
GENERAL=Makefile README | |||
HEADER=cryptlib.h date.h crypto.h cryptall.h | |||
INCLUDE=-I. -I../include | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../libcrypto.a | |||
LIBOBJ=cryptlib.o mem.o cversion.o | |||
LIBS= | |||
LIBSRC=cryptlib.c mem.c cversion.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
PEX_LIBS= | |||
RM=/bin/rm -f | |||
SDIRS=md sha mdc2 des rc4 rc2 idea bf bn rsa dsa dh buffer bio stack lhash rand err objects evp pem x509 asn1 conf txt_db pkcs7 | |||
SRC=cryptlib.c mem.c cversion.c | |||
TOP=.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/md | |||
ALL=Makefile md2_dgst.c md5_dgst.c md2_one.c md5_one.c md5_locl.h md2.h md5.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=md | |||
EXHEADER=md2.h md5.h | |||
GENERAL=Makefile | |||
HEADER=md5_locl.h md2.h md5.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=md2_dgst.o md5_dgst.o md2_one.o md5_one.o | |||
LIBSRC=md2_dgst.c md5_dgst.c md2_one.c md5_one.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=md2_dgst.c md5_dgst.c md2_one.c md5_one.c | |||
TEST=md2test.c md5test.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/sha | |||
ALL=Makefile sha_dgst.c sha1dgst.c sha_one.c sha1_one.c sha_locl.h sha.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=sha | |||
EXHEADER=sha.h | |||
GENERAL=Makefile | |||
HEADER=sha_locl.h sha.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=sha_dgst.o sha1dgst.o sha_one.o sha1_one.o | |||
LIBSRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c | |||
TEST=shatest.c sha1test.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/mdc2 | |||
ALL=Makefile mdc2dgst.c mdc2_one.c mdc2.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=mdc2 | |||
EXHEADER=mdc2.h | |||
GENERAL=Makefile | |||
HEADER=mdc2.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=mdc2dgst.o mdc2_one.o | |||
LIBSRC=mdc2dgst.c mdc2_one.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=mdc2dgst.c mdc2_one.c | |||
TEST=mdc2test.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/des | |||
ALL=Makefile des.org des_locl.org cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c ede_enc.c enc_read.c enc_writ.c fcrypt.c ncbc_enc.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c des_locl.h rpc_des.h podd.h sk.h spr.h des_ver.h des.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
CPP=cc -E | |||
DES_ENC=des_enc.o fcrypt_b.o | |||
DIR=des | |||
EXHEADER=des.h | |||
GENERAL=Makefile des.org des_locl.org | |||
HEADER=des_locl.h rpc_des.h podd.h sk.h spr.h des_ver.h des.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=set_key.o ecb_enc.o ede_enc.o cbc_enc.o cbc3_enc.o ecb3_enc.o cfb64enc.o cfb64ede.o cfb_enc.o ofb64ede.o enc_read.o enc_writ.o ncbc_enc.o ofb64enc.o ofb_enc.o str2key.o pcbc_enc.o qud_cksm.o rand_key.o des_enc.o fcrypt_b.o read2pwd.o fcrypt.o xcbc_enc.o read_pwd.o rpc_enc.o cbc_cksm.o supp.o | |||
LIBSRC=cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c ede_enc.c enc_read.c enc_writ.c fcrypt.c ncbc_enc.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c ede_enc.c enc_read.c enc_writ.c fcrypt.c ncbc_enc.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c | |||
TEST=destest.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/rc4 | |||
ALL=Makefile rc4_enc.c rc4.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=rc4 | |||
EXHEADER=rc4.h | |||
GENERAL=Makefile | |||
HEADER=rc4.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=rc4_enc.o | |||
LIBSRC=rc4_enc.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=rc4_enc.c | |||
TEST=rc4test.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/rc2 | |||
ALL=Makefile rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c rc2_locl.h rc2.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=rc2 | |||
EXHEADER=rc2.h | |||
GENERAL=Makefile | |||
HEADER=rc2_locl.h rc2.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=rc2_ecb.o rc2_skey.o rc2_cbc.o rc2cfb64.o rc2ofb64.o | |||
LIBSRC=rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c | |||
TEST=rc2test.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/idea | |||
ALL=Makefile i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c idea_lcl.h idea.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=idea | |||
EXHEADER=idea.h | |||
GENERAL=Makefile | |||
HEADER=idea_lcl.h idea.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=i_cbc.o i_cfb64.o i_ofb64.o i_ecb.o i_skey.o | |||
LIBSRC=i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c | |||
TEST=ideatest.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/bf | |||
ALL=Makefile bf_skey.c bf_ecb.c bf_enc.c bf_cbc.c bf_cfb64.c bf_ofb64.c bf_pi.h bf_locl.h blowfish.h | |||
APPS= | |||
AR=ar r | |||
BF_ENC=bf_enc.o | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
CPP=cc -E | |||
DIR=bf | |||
EXHEADER=blowfish.h | |||
GENERAL=Makefile | |||
HEADER=bf_pi.h bf_locl.h blowfish.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=bf_skey.o bf_ecb.o bf_enc.o bf_cbc.o bf_cfb64.o bf_ofb64.o | |||
LIBSRC=bf_skey.c bf_ecb.c bf_enc.c bf_cbc.c bf_cfb64.c bf_ofb64.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=bf_skey.c bf_ecb.c bf_enc.c bf_cbc.c bf_cfb64.c bf_ofb64.c | |||
TEST=bftest.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/bn | |||
ALL=Makefile bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mod.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_sub.c bn_word.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_mulw.c bn_recp.c bn_mont.c bn_lcl.h bn_prime.h bn.h | |||
APPS= | |||
AR=ar r | |||
BN_MULW=bn_mulw.o | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=bn | |||
ERR=bn | |||
ERRC=bn_err | |||
EXHEADER=bn.h | |||
GENERAL=Makefile | |||
HEADER=bn_lcl.h bn_prime.h bn.h | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=bn_add.o bn_div.o bn_exp.o bn_lib.o bn_mod.o bn_mul.o bn_print.o bn_rand.o bn_shift.o bn_sub.o bn_word.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o bn_mulw.o bn_recp.o bn_mont.o | |||
LIBSRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mod.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_sub.c bn_word.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_mulw.c bn_recp.c bn_mont.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mod.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_sub.c bn_word.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_mulw.c bn_recp.c bn_mont.c | |||
TEST=bntest.c exptest.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/rsa | |||
ALL=Makefile rsa_enc.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=rsa | |||
ERR=rsa | |||
ERRC=rsa_err | |||
EXHEADER=rsa.h | |||
GENERAL=Makefile | |||
HEADER=rsa.h | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=rsa_enc.o rsa_gen.o rsa_lib.o rsa_sign.o rsa_saos.o rsa_err.o | |||
LIBSRC=rsa_enc.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=rsa_enc.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c | |||
TEST= | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/dsa | |||
ALL=Makefile dsa_gen.c dsa_key.c dsa_lib.c dsa_vrf.c dsa_sign.c dsa_err.c dsa.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=dsa | |||
ERR=dsa | |||
ERRC=dsa_err | |||
EXHEADER=dsa.h | |||
GENERAL=Makefile | |||
HEADER=dsa.h | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=dsa_gen.o dsa_key.o dsa_lib.o dsa_vrf.o dsa_sign.o dsa_err.o | |||
LIBSRC=dsa_gen.c dsa_key.c dsa_lib.c dsa_vrf.c dsa_sign.c dsa_err.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=dsa_gen.c dsa_key.c dsa_lib.c dsa_vrf.c dsa_sign.c dsa_err.c | |||
TEST=dsatest.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/dh | |||
ALL=Makefile dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c dh.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=dh | |||
ERR=dh | |||
ERRC=dh_err | |||
EXHEADER=dh.h | |||
GENERAL=Makefile | |||
HEADER=dh.h | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=dh_gen.o dh_key.o dh_lib.o dh_check.o dh_err.o | |||
LIBSRC=dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c | |||
TEST=dhtest.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/buffer | |||
ALL=Makefile buffer.c buf_err.c buffer.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=buffer | |||
ERR=buffer | |||
ERRC=buf_err | |||
EXHEADER=buffer.h | |||
GENERAL=Makefile | |||
HEADER=buffer.h | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=buffer.o buf_err.o | |||
LIBSRC=buffer.c buf_err.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=buffer.c buf_err.c | |||
TEST= | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/bio | |||
ALL=Makefile bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bio.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=bio | |||
ERR=bio | |||
ERRC=bio_err | |||
EXHEADER=bio.h | |||
GENERAL=Makefile | |||
HEADER=bio.h | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=bio_lib.o bio_cb.o bio_err.o bss_mem.o bss_null.o bss_fd.o bss_file.o bss_sock.o bss_conn.o bf_null.o bf_buff.o b_print.o b_dump.o b_sock.o bss_acpt.o bf_nbio.o | |||
LIBSRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c | |||
TEST= | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/stack | |||
ALL=Makefile stack.c stack.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=stack | |||
EXHEADER=stack.h | |||
GENERAL=Makefile | |||
HEADER=stack.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=stack.o | |||
LIBSRC=stack.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=stack.c | |||
TEST= | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/lhash | |||
ALL=Makefile lhash.c lh_stats.c lhash.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=lhash | |||
EXHEADER=lhash.h | |||
GENERAL=Makefile | |||
HEADER=lhash.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=lhash.o lh_stats.o | |||
LIBSRC=lhash.c lh_stats.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=lhash.c lh_stats.c | |||
TEST= | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/rand | |||
ALL=Makefile md_rand.c randfile.c rand.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS= -g | |||
DIR=rand | |||
EXHEADER=rand.h | |||
GENERAL=Makefile | |||
HEADER=rand.h | |||
INCLUDES= | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=md_rand.o randfile.o | |||
LIBSRC=md_rand.c randfile.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=md_rand.c randfile.c | |||
TEST=randtest.c | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/err | |||
ALL=Makefile err.c err_all.c err_prn.c err.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=error | |||
EXHEADER=err.h | |||
GENERAL=Makefile | |||
HEADER=err.h | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=err.o err_all.o err_prn.o | |||
LIBSRC=err.c err_all.c err_prn.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=err.c err_all.c err_prn.c | |||
TEST= | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/objects | |||
ALL=Makefile README obj_dat.c obj_lib.c obj_err.c objects.h obj_dat.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=objects | |||
ERR=objects | |||
ERRC=obj_err | |||
EXHEADER=objects.h | |||
GENERAL=Makefile README | |||
HEADER=objects.h obj_dat.h | |||
INCLUDES=-I.. -I../../include | |||
INSTALLTOP=/usr/local/ssl | |||
LIB=../../libcrypto.a | |||
LIBOBJ=obj_dat.o obj_lib.o obj_err.o | |||
LIBSRC=obj_dat.c obj_lib.c obj_err.c | |||
MAKE=make -f Makefile.ssl | |||
MAKEDEPEND=makedepend -f Makefile.ssl | |||
MAKEFILE=Makefile.ssl | |||
SRC=obj_dat.c obj_lib.c obj_err.c | |||
TEST= | |||
TOP=../.. | |||
RELATIVE_DIRECTORY= | |||
RELATIVE_DIRECTORY=crypto/evp | |||
ALL=Makefile encode.c digest.c evp_enc.c evp_key.c e_ecb_d.c e_cbc_d.c e_cfb_d.c e_ofb_d.c e_ecb_i.c e_cbc_i.c e_cfb_i.c e_ofb_i.c e_ecb_3d.c e_cbc_3d.c e_rc4.c names.c e_cfb_3d.c e_ofb_3d.c e_xcbc_d.c e_ecb_r2.c e_cbc_r2.c e_cfb_r2.c e_ofb_r2.c e_ecb_bf.c e_cbc_bf.c e_cfb_bf.c e_ofb_bf.c m_null.c m_md2.c m_md5.c m_sha.c m_sha1.c m_dss.c m_dss1.c m_mdc2.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c evp.h | |||
APPS= | |||
AR=ar r | |||
CC=cc | |||
CFLAG=-g | |||
CFLAGS=-I.. -I../../include -g | |||
DIR=evp |