diff options
115 files changed, 480 insertions, 140 deletions
@@ -5,6 +5,9 @@ Changes between 0.9.2b and 0.9.3 + *) New Configure option no-<cipher> (rsa, idea, rc5, ...). + [Ulf Möller] + *) Add the PKCS#12 API documentation to openssl.txt. Preliminary support for extension adding in x509 utility. [Steve Henson] @@ -20,16 +20,9 @@ my $usage="Usage: Configure [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [rsaref] [no # rsaref use RSAref # no-asm do not use assembler # 386 generate 80386 code +# no-CIPHER build without specified algorithm # -D, -L, -l, -f, -K: compiler options are passed through # -# -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 @@ -255,6 +248,7 @@ my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32 my $installprefix=""; my $openssldir=""; my $no_asm=0; +my @skip=(); my $Makefile="Makefile.ssl"; my $des_locl="crypto/des/des_locl.h"; my $des ="crypto/des/des.h"; @@ -284,12 +278,21 @@ $perl=&which("perl5") or $perl=&which("perl"); &usage if ($#ARGV < 0); my $flags=""; +my $depflags=""; my $libs=""; my $target=""; foreach (@ARGV) { if (/^no-asm$/) { $no_asm=1; } + elsif (/^no-(.+)$/) + { + my $algo=$1; + push @skip,$algo; + $algo =~ tr/[a-z]/[A-Z]/; + $flags .= "-DNO_$algo "; + $depflags .= "-DNO_$algo "; + } elsif (/^386$/) { $processor=386; } elsif (/^rsaref$/) @@ -390,14 +393,24 @@ if ($rmd160_obj =~ /\.o$/) open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n"; open(OUT,">$Makefile") || die "unable to create $Makefile:$!\n"; +my $sdirs=0; while (<IN>) { chop; + $sdirs = 1 if /^SDIRS=/; + $sdirs = 0 unless /\\$/; + if ($sdirs) { + my $dir; + foreach $dir (@skip) { + s/$dir//; + } + } s/^INSTALLTOP=.*$/INSTALLTOP=$installprefix/; s/^OPENSSLDIR=.*$/OPENSSLDIR=$openssldir/; s/^PLATFORM=.*$/PLATFORM=$target/; s/^CC=.*$/CC= $cc/; s/^CFLAG=.*$/CFLAG= $cflags/; + s/^DEPFLAG=.*$/DEPFLAG= $depflags/; s/^EX_LIBS=.*$/EX_LIBS= $lflags/; s/^BN_ASM=.*$/BN_ASM= $bn_obj/; s/^DES_ENC=.*$/DES_ENC= $des_obj/; @@ -551,6 +564,7 @@ if($IsWindows) { close(OUT); } else { (system 'make -f Makefile.ssl links') == 0 or exit $?; + (system 'make depend') == 0 or exit $? if $depflags ne ""; &dofile("tools/c_rehash",$openssldir,'^DIR=', 'DIR=%s',); &dofile("util/mk1mf.pl",$openssldir, ('^\$INSTALLTOP=','$INSTALLTOP="%s";',)); diff --git a/Makefile.org b/Makefile.org index 869fe8cc5a..7531f5a2db 100644 --- a/Makefile.org +++ b/Makefile.org @@ -43,6 +43,7 @@ OPENSSLDIR=/usr/local/ssl CC= gcc #CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM CFLAG= -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM +DEPFLAG= PEX_LIBS= -L. -L.. -L../.. -L../../.. EX_LIBS= AR=ar r @@ -246,7 +247,7 @@ depend: @for i in $(DIRS) ;\ do \ (cd $$i && echo "making dependancies $$i..." && \ - $(MAKE) SDIRS='${SDIRS}' depend ) || exit 1; \ + $(MAKE) SDIRS='${SDIRS}' DEPFLAG='${DEPFLAG}' depend ) || exit 1; \ done; lint: @@ -1,6 +1,6 @@ OpenSSL STATUS Last modified at - ______________ $Date: 1999/04/27 00:36:14 $ + ______________ $Date: 1999/04/27 01:13:19 $ DEVELOPMENT STATE @@ -149,13 +149,6 @@ o Properly initialize the PRNG in the absence of /dev/random. - o > NO_RSA (ejs@bfd.com) - > ./Configure -DNO_IDEA -DNO_RC5 -DNO_RC4 -DNO_RC2 -DNO_RSA -DNO_ERR linux-elf - > I tried for a whole day to do this and could not get it to work. Linux - > machine, kernel 2.0.36 and 2.2.1, redhat 5.2 latest, gcc and egcs , no - > go. I also noticed the even with -DNO_IDEA, _DNO_RC2, etc. the make - > still goes into those subdirectories and 'makes'. - o ERR_error_string(..., buf) does not know how large buf is, there should be ERR_error_string_n(..., buf, bufsize) or similar. diff --git a/apps/Makefile.ssl b/apps/Makefile.ssl index 83c19aad14..5971ada4cc 100644 --- a/apps/Makefile.ssl +++ b/apps/Makefile.ssl @@ -109,7 +109,7 @@ lint: lint -DLINT $(INCLUDES) $(SRC)>fluff depend: - $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(SRC) + $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(SRC) dclean: $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new diff --git a/apps/ciphers.c b/apps/ciphers.c index 3c76782b7e..08e47be4f7 100644 --- a/apps/ciphers.c +++ b/apps/ciphers.c @@ -66,6 +66,10 @@ #include <openssl/err.h> #include <openssl/ssl.h> +#if defined(NO_RSA) && !defined(NO_SSL2) +#define NO_SSL2 +#endif + #undef PROG #define PROG ciphers_main @@ -56,6 +56,7 @@ * [including the GNU Public Licence.] */ +#ifndef NO_DH #include <stdio.h> #include <stdlib.h> #include <time.h> @@ -308,3 +309,4 @@ end: if (dh != NULL) DH_free(dh); |