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]
# 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
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";
&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$/)
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/;
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";',));
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
@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:
OpenSSL STATUS Last modified at
- ______________ $Date: 1999/04/27 00:36:14 $
+ ______________ $Date: 1999/04/27 01:13:19 $
DEVELOPMENT STATE
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.
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
#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
* [including the GNU Public Licence.]
*/
+#ifndef NO_DH
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
if (dh != NULL) DH_free(dh);
EXIT(ret);
}
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_DSA
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
if (dsa != NULL) DSA_free(dsa);
EXIT(ret);
}
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_DSA
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
p=n;
#endif
}
+#endif
#include <openssl/evp.h>
#include <openssl/objects.h>
#include <openssl/x509.h>
-#ifdef NO_MD5
+#ifndef NO_MD5
#include <openssl/md5.h>
#endif
#include <openssl/pem.h>
* [including the GNU Public Licence.]
*/
+#ifndef NO_DH
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
}
return(tot);
}
-
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_DSA
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
}
return(tot);
}
-
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
}
return(tot);
}
-
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include <openssl/rsa.h>
#include <openssl/evp.h>
ERR_print_errors(bio_err);
EXIT(1);
}
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
if (rsa != NULL) RSA_free(rsa);
EXIT(ret);
}
-
+#endif
#include <openssl/pem.h>
#include "s_apps.h"
+#if defined(NO_RSA) && !defined(NO_SSL2)
+#define NO_SSL2
+#endif
+
#undef PROG
#define PROG s_client_main
#include <openssl/ssl.h>
#include "s_apps.h"
+#if defined(NO_RSA) && !defined(NO_SSL2)
+#define NO_SSL2
+#endif
+
+#ifndef NO_RSA
static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int export,int keylength);
+#endif
static int sv_body(char *hostname, int s, unsigned char *context);
static int www_body(char *hostname, int s, unsigned char *context);
static void close_accept_socket(void );
goto end;
}
+#ifndef NO_RSA
#if 1
SSL_CTX_set_tmp_rsa_callback(ctx,tmp_rsa_cb);
#else
RSA_free(rsa);
BIO_printf(bio_s_out,"\n");
}
+#endif
#endif
if (cipher != NULL)
return(ret);
}
+#ifndef NO_RSA
static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int export, int keylength)
{
static RSA *rsa_tmp=NULL;
BIO_printf(bio_err,"Generating temp (%d bit) RSA key...",keylength);
BIO_flush(bio_err);
}
-#ifndef NO_RSA
rsa_tmp=RSA_generate_key(keylength,RSA_F4,NULL,NULL);
-#endif
if (!s_quiet)
{
BIO_printf(bio_err,"\n");
}
return(rsa_tmp);
}
+#endif
#include <stdlib.h>
#include <string.h>
+#if defined(NO_RSA) && !defined(NO_SSL2)
+#define NO_SSL2
+#endif
+
#ifdef NO_STDIO
#define APPS_WIN16
#endif
#include <openssl/hmac.h>
#include <openssl/evp.h>
#endif
-#ifndef NO_SHA1
+#ifndef NO_SHA
#include <openssl/sha.h>
#endif
-#ifndef NO_RMD160
+#ifndef NO_RIPEMD
#include <openssl/ripemd.h>
#endif
#ifndef NO_RC4
#ifndef NO_IDEA
#include <openssl/idea.h>
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
#include <openssl/blowfish.h>
#endif
#ifndef NO_CAST
#endif
#ifndef NO_RSA
#include <openssl/rsa.h>
+#include "./testrsa.h"
#endif
#include <openssl/x509.h>
-#include "./testrsa.h"
#ifndef NO_DSA
#include "./testdsa.h"
#endif
unsigned char md5[MD5_DIGEST_LENGTH];
unsigned char hmac[MD5_DIGEST_LENGTH];
#endif
-#ifndef NO_SHA1
+#ifndef NO_SHA
unsigned char sha[SHA_DIGEST_LENGTH];
#endif
-#ifndef NO_RMD160
+#ifndef NO_RIPEMD
unsigned char rmd160[RIPEMD160_DIGEST_LENGTH];
#endif
#ifndef NO_RC4
#ifndef NO_IDEA
IDEA_KEY_SCHEDULE idea_ks;
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
BF_KEY bf_ks;
#endif
#ifndef NO_CAST
#define R_RSA_1024 1
#define R_RSA_2048 2
#define R_RSA_4096 3
+#ifndef NO_RSA
RSA *rsa_key[RSA_NUM];
long rsa_c[RSA_NUM][2];
-#ifndef NO_RSA
double rsa_results[RSA_NUM][2];
static unsigned int rsa_bits[RSA_NUM]={512,1024,2048,4096};
static unsigned char *rsa_data[RSA_NUM]=
int pr_header=0;
apps_startup();
-#ifdef NO_DSA
+#ifndef NO_DSA
memset(dsa_key,0,sizeof(dsa_key));
#endif
if (strcmp(*argv,"hmac") == 0) doit[D_HMAC]=1;
else
#endif
-#ifndef NO_SHA1
+#ifndef NO_SHA
if (strcmp(*argv,"sha1") == 0) doit[D_SHA1]=1;
else
if (strcmp(*argv,"sha") == 0) doit[D_SHA1]=1;
else
#endif
-#ifndef NO_RMD160
+#ifndef NO_RIPEMD
if (strcmp(*argv,"ripemd") == 0) doit[D_RMD160]=1;
else
if (strcmp(*argv,"rmd160") == 0) doit[D_RMD160]=1;
else if (strcmp(*argv,"idea") == 0) doit[D_CBC_IDEA]=1;
else
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
if (strcmp(*argv,"bf-cbc") == 0) doit[D_CBC_BF]=1;
else if (strcmp(*argv,"blowfish") == 0) doit[D_CBC_BF]=1;
else if (strcmp(*argv,"bf") == 0) doit[D_CBC_BF]=1;
#ifndef NO_RC5
BIO_printf(bio_err,"rc5-cbc ");
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
BIO_printf(bio_err,"bf-cbc");
#endif
-#if !defined(NO_IDEA) && !defined(NO_RC2) && !defined(NO_BLOWFISH) && !defined(NO_RC5)
+#if !defined(NO_IDEA) && !defined(NO_RC2) && !defined(NO_BF) && !defined(NO_RC5)
BIO_printf(bio_err,"\n");
#endif
BIO_printf(bio_err,"des-cbc des-ede3 ");
#ifndef NO_RC5
RC5_32_set_key(&rc5_ks,16,key16,12);
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
BF_set_key(&bf_ks,16,key16);
#endif
#ifndef NO_CAST
CAST_set_key(&cast_ks,16,key16);
#endif
-
+#ifndef NO_RSA
memset(rsa_c,0,sizeof(rsa_c));
+#endif
#ifndef SIGALRM
BIO_printf(bio_err,"First we calculate the approximate speed ...\n");
count=10;
c[D_CBC_BF][i]=c[D_CBC_BF][i-1]*l0/l1;
c[D_CBC_CAST][i]=c[D_CBC_CAST][i-1]*l0/l1;
}
+#ifndef NO_RSA
rsa_c[R_RSA_512][0]=count/2000;
rsa_c[R_RSA_512][1]=count/400;
for (i=1; i<RSA_NUM; i++)
}
}
}
+#endif
dsa_c[R_DSA_512][0]=count/1000;
dsa_c[R_DSA_512][1]=count/1000/2;
}
}
#endif
-#ifndef NO_SHA1
+#ifndef NO_SHA
if (doit[D_SHA1])
{
for (j=0; j<SIZE_NUM; j++)
}
}
#endif
-#ifndef NO_RMD160
+#ifndef NO_RIPEMD
if (doit[D_RMD160])
{
for (j=0; j<SIZE_NUM; j++)
}
}
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
if (doit[D_CBC_BF])
{
for (j=0; j<SIZE_NUM; j++)
#ifndef NO_IDEA
printf("%s ",idea_options());
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
printf("%s ",BF_options());
#endif
fprintf(stdout,"\n%s\n",SSLeay_version(SSLEAY_CFLAGS));
#ifndef NO_IDEA
printf("%s ",idea_options());
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
printf("%s ",BF_options());
#endif
printf("\n");
done;
depend:
- $(MAKEDEPEND) $(INCLUDE) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDE) $(DEPFLAG) $(PROGS) $(LIBSRC)
@for i in $(SDIRS) ;\
do \
(cd $$i; echo "making depend in crypto/$$i..."; \
- $(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' depend ); \
+ $(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' DEPFLAG='${DEPFLAG}' depend ); \
done;
clean:
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
* [including the GNU Public Licence.]
*/
+#ifndef NO_DH
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
if (bs != NULL) ASN1_BIT_STRING_free(bs);
return(NULL);
}
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_DSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
if (bs != NULL) ASN1_BIT_STRING_free(bs);
return(NULL);
}
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
if (bs != NULL) ASN1_INTEGER_free(bs);
return(NULL);
}
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
if (bs != NULL) ASN1_INTEGER_free(bs);
return(NULL);
}
-
+#endif
/* Original version from Steven Schoch <schoch@sheba.arc.nasa.gov> */
+#ifndef NO_DSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
if (bs != NULL) ASN1_INTEGER_free(bs);
return(NULL);
}
-
+#endif
* [including the GNU Public Licence.]
*/
-/* Origional version from Steven Schoch <schoch@sheba.arc.nasa.gov> */
+/* Original version from Steven Schoch <schoch@sheba.arc.nasa.gov> */
+#ifndef NO_DSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
if (bs != NULL) ASN1_INTEGER_free(bs);
return(NULL);
}
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_DH
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
*pp=p;
return(ret);
}
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_DSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
*pp=p;
return(ret);
}
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
*pp=p;
return(t);
}
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
*pp=p;
return(t);
}
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_DSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
*pp=p;
return(t);
}
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_DSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
*pp=p;
return(t);
}
-
+#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/rsa.h>
static NETSCAPE_PKEY *d2i_NETSCAPE_PKEY(NETSCAPE_PKEY **a,unsigned char **pp, long length);
static NETSCAPE_PKEY *NETSCAPE_PKEY_new(void);
static void NETSCAPE_PKEY_free(NETSCAPE_PKEY *);
+
int i2d_Netscape_RSA(RSA *a, unsigned char **pp, int (*cb)())
{
int i,j,l[6];
}
#endif /* NO_RC4 */
-
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_BF
+int main(int argc, char *argv[])
+{
+ printf("No BF support\n");
+ return(0);
+}
+#else
#include <openssl/blowfish.h>
char *bf_key[2]={
return(err);
}
+#endif
extern "C" {
#endif
+#ifdef NO_BF
+#error BF is disabled.
+#endif
+
#define BF_ENCRYPT 1
#define BF_DECRYPT 0
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_CAST
+#error CAST is disabled.
+#endif
+
#define CAST_ENCRYPT 1
#define CAST_DECRYPT 0
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_CAST
+int main(int argc, char *argv[])
+{
+ printf("No CAST support\n");
+ return(0);
+}
+#else
#include <openssl/cast.h>
#define FULL_TEST
exit(err);
return(err);
}
-
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_DES
+#error DES is disabled.
+#endif
+
#include <stdio.h>
#include <openssl/opensslconf.h> /* DES_LONG */
#include <io.h>
#endif
#include <string.h>
+
+#ifdef NO_DES
+int main(int argc, char *argv[])
+{
+ printf("No DES support\n");
+ return(0);
+}
+#else
#include <openssl/des.h>
#if defined(PERL5) || defined(__FreeBSD__)
int num;
char *str;
+#ifndef NO_DESCBCM
printf("Doing cbcm\n");
if ((j=des_key_sched(cbc_key,ks)) != 0)
{
printf("\n");
err=1;
}
-
+#endif
printf("Doing ecb\n");
for (i=0; i<NUM_TESTS; i++)
}
#endif
-
+#endif
*/
+#ifndef NO_DESCBCM
#include "des_locl.h"
void des_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out,
tin0=tin1=tout0=tout1=xor0=xor1=0;
tin[0]=tin[1]=0;
}
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_DH
+#error DH is disabled.
+#endif
+
#include <openssl/bn.h>
#define DH_FLAG_CACHE_MONT_P 0x01
#include <openssl/crypto.h>
#include <openssl/bio.h>
#include <openssl/bn.h>
+
+#ifdef NO_DH
+int main(int argc, char *argv[])
+{
+ printf("No DH support\n");
+ return(0);
+}
+#else
#include <openssl/dh.h>
#ifdef WIN16
p=n;
#endif
}
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_DSA
+#error DSA is disabled.
+#endif
+
#include <openssl/bn.h>
#define DSA_FLAG_CACHE_MONT_P 0x01
#include <openssl/rand.h>
#include <openssl/bio.h>
#include <openssl/err.h>
-#include <openssl/dsa.h>
#ifdef WINDOWS
#include "../bio/bss_file.c"
#endif
+#ifdef NO_DSA
+int main(int argc, char *argv[])
+{
+ printf("No DSA support\n");
+ return(0);
+}
+#else
+#include <openssl/dsa.h>
+
#ifdef WIN16
#define MS_CALLBACK _far _loadds
#else
exit(1);
}
}
-
-
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
#ifndef NO_MD5
#include <openssl/md5.h>
#endif
-#if !defined(NO_SHA) || !defined(NO_SHA1)
+#ifndef NO_SHA
#include <openssl/sha.h>
#endif
-#ifndef NO_RMD160
+#ifndef NO_RIPEMD
#include <openssl/ripemd.h>
#endif
#ifndef NO_DES
#ifndef NO_RC5
#include <openssl/rc5.h>
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
#include <openssl/blowfish.h>
#endif
#ifndef NO_CAST
#ifndef NO_RSA
#include <openssl/rsa.h>
-#else
-#define RSA long
#endif
#ifndef NO_DSA
#include <openssl/dsa.h>
-#else
-#define DSA long
#endif
#ifndef NO_DH
#include <openssl/dh.h>
-#else
-#define DH long
#endif
#include <openssl/objects.h>
int references;
union {
char *ptr;
+#ifndef NO_RSA
struct rsa_st *rsa; /* RSA */
+#endif
+#ifndef NO_DSA
struct dsa_st *dsa; /* DSA */
+#endif
+#ifndef NO_DH
struct dh_st *dh; /* DH */
+#endif
} pkey;
int save_parameters;
STACK /*X509_ATTRIBUTE*/ *attributes; /* [ 0 ] */
#ifndef NO_MD5
MD5_CTX md5;
#endif
-#ifndef NO_RMD160
+#ifndef NO_RIPEMD
RIPEMD160_CTX ripemd160;
#endif
-#if !defined(NO_SHA) || !defined(NO_SHA1)
+#ifndef NO_SHA
SHA_CTX sha;
#endif
#ifndef NO_MDC2
#ifndef NO_RC5
RC5_32_KEY rc5_ks;/* key schedule */
#endif
-#ifndef NO_BLOWFISH
+#ifndef NO_BF
BF_KEY bf_ks;/* key schedule */
#endif
#ifndef NO_CAST
EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8)
{
EVP_PKEY *pkey;
+#ifndef NO_RSA
RSA *rsa;
+#endif
+#ifndef NO_DSA
DSA *dsa;
ASN1_INTEGER *dsapriv;
- X509_ALGOR *a;
STACK *ndsa;
BN_CTX *ctx;
+ int plen;
+#endif
+ X509_ALGOR *a;
unsigned char *p;
- int plen, pkeylen;
+ int pkeylen;
char obj_tmp[80];
switch (p8->broken) {
a = p8->pkeyalg;
switch (OBJ_obj2nid(a->algorithm))
{
+#ifndef NO_RSA
case NID_rsaEncryption:
if (!(rsa = d2i_RSAPrivateKey (NULL, &p, pkeylen))) {
EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
}
EVP_PKEY_assign_RSA (pkey, rsa);
break;
-
+#endif
+#ifndef NO_DSA
case NID_dsa:
/* PKCS#8 DSA is weird: you just get a private key integer
* and parameters in the AlgorithmIdentifier the pubkey must
EVP_PKEY_assign_DSA (pkey, dsa);
BN_CTX_free (ctx);
break;
-
+#endif
default:
EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
if (!a->algorithm) strcpy (obj_tmp, "NULL");
PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey)
{
PKCS8_PRIV_KEY_INFO *p8;
+#ifndef NO_DSA
ASN1_INTEGER *dpkey;
unsigned char *p, *q;
int len;
+#endif
if (!(p8 = PKCS8_PRIV_KEY_INFO_new())) {
EVPerr(EVP_F_EVP_PKEY2PKCS8,ERR_R_MALLOC_FAILURE);
return NULL;
return NULL;
}
switch (EVP_PKEY_type(pkey->type)) {
+#ifndef NO_RSA
case EVP_PKEY_RSA:
p8->pkeyalg->algorithm = OBJ_nid2obj(NID_rsaEncryption);
return NULL;
}
break;
-
+#endif
+#ifndef NO_DSA
case EVP_PKEY_DSA:
p8->pkeyalg->algorithm = OBJ_nid2obj(NID_dsa);
}
ASN1_INTEGER_free (dpkey);
break;
-
+#endif
default:
EVPerr(EVP_F_EVP_PKEY2PKCS8, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
PKCS8_PRIV_KEY_INFO_free (p8);
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/evp.h>
EVP_DecryptInit(ctx,NULL,NULL,NULL);
return(i);
}
+#endif
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/rand.h>
+#ifndef NO_RSA
#include <openssl/rsa.h>
+#endif
#include <openssl/evp.h>
#include <openssl/objects.h>
#include <openssl/x509.h>
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_HMAC
+#error No HMAC support.
+#endif
+
#include <openssl/evp.h>
#define HMAC_MAX_MD_CBLOCK 64
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_HMAC
+int main(int argc, char *argv[])
+{
+ printf("No HMAC support\n");
+ return(0);
+}
+#else
#include <openssl/hmac.h>
struct test_st
sprintf(&(buf[i*2]),"%02x",md[i]);
return(buf);
}
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_IDEA
+#error IDEA is disabled.
+#endif
+
#define IDEA_ENCRYPT 1
#define IDEA_DECRYPT 0
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_IDEA
+int main(int argc, char *argv[])
+{
+ printf("No IDEA support\n");
+ return(0);
+}
+#else
#include <openssl/idea.h>
unsigned char k[16]={
ret[16]='\0';
return(ret);
}
-
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_MD2
+#error MD2 is disabled.
+#endif
+
#define MD2_DIGEST_LENGTH 16
#define MD2_BLOCK 16
#include <openssl/opensslconf.h> /* MD2_INT */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#ifdef NO_MD2
+int main(int argc, char *argv[])
+{
+ printf("No MD2 support\n");
+ return(0);
+}
+#else
#include <openssl/md2.h>
char *test[]={
sprintf(&(buf[i*2]),"%02x",md[i]);
return(buf);
}
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_MD5
+#error MD5 is disabled.
+#endif
+
#define MD5_CBLOCK 64
#define MD5_LBLOCK 16
#define MD5_BLOCK 16
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_MD5
+int main(int argc, char *argv[])
+{
+ printf("No MD5 support\n");
+ return(0);
+}
+#else
#include <openssl/md5.h>
char *test[]={
sprintf(&(buf[i*2]),"%02x",md[i]);
return(buf);
}
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
#include <openssl/des.h>
+#ifdef NO_MDC2
+#error MDC2 is disabled.
+#endif
+
#define MDC2_BLOCK 8
#define MDC2_DIGEST_LENGTH 16
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#ifdef NO_DES
+#define NO_MDC2
+#endif
+
+#ifdef NO_MDC2
+int main(int argc, char *argv[])
+{
+ printf("No MDC2 support\n");
+ return(0);
+}
+#else
#include <openssl/mdc2.h>
static unsigned char pad1[16]={
exit(ret);
return(ret);
}
-
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
&(nid_objs[19]),/* OBJ_rsa 2 5 8 1 1 */
&(nid_objs[96]),/* OBJ_mdc2WithRSA 2 5 8 3 100 */
&(nid_objs[95]),/* OBJ_mdc2 2 5 8 3 101 */
-&(nid_objs[125]),/* OBJ_zlib_compression 1 1 1 1 666.2 */
&(nid_objs[124]),/* OBJ_rle_compression 1 1 1 1 666.1 */
+&(nid_objs[125]),/* OBJ_zlib_compression 1 1 1 1 666.2 */
&(nid_objs[104]),/* OBJ_md5WithRSA 1 3 14 3 2 3 */
&(nid_objs[29]),/* OBJ_des_ecb 1 3 14 3 2 6 */
&(nid_objs[31]),/* OBJ_des_cbc 1 3 14 3 2 7 */
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
X509 *PEM_read_X509(FILE *fp,X509 **x,int (*cb)());
X509_REQ *PEM_read_X509_REQ(FILE *fp,X509_REQ **x,int (*cb)());
X509_CRL *PEM_read_X509_CRL(FILE *fp,X509_CRL **x,int (*cb)());
+#ifndef NO_RSA
RSA *PEM_read_RSAPrivateKey(FILE *fp,RSA **x,int (*cb)());
RSA *PEM_read_RSAPublicKey(FILE *fp,RSA **x,int (*cb)());
+#endif
+#ifndef NO_DSA
DSA *PEM_read_DSAPrivateKey(FILE *fp,DSA **x,int (*cb)());
+DSA *PEM_read_DSAparams(FILE *fp,DSA **x,int (*cb)());
+#endif
+#ifndef NO_DH
+DH *PEM_read_DHparams(FILE *fp,DH **x,int (*cb)());
+#endif
EVP_PKEY *PEM_read_PrivateKey(FILE *fp,EVP_PKEY **x,int (*cb)());
PKCS7 *PEM_read_PKCS7(FILE *fp,PKCS7 **x,int (*cb)());
-DH *PEM_read_DHparams(FILE *fp,DH **x,int (*cb)());
-DSA *PEM_read_DSAparams(FILE *fp,DSA **x,int (*cb)());
NETSCAPE_CERT_SEQUENCE *PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp,NETSCAPE_CERT_SEQUENCE **x,int (*cb)());
int PEM_write_X509(FILE *fp,X509 *x);
int PEM_write_X509_REQ(FILE *fp,X509_REQ *x);
int PEM_write_X509_CRL(FILE *fp,X509_CRL *x);
+#ifndef NO_RSA
int PEM_write_RSAPrivateKey(FILE *fp,RSA *x,EVP_CIPHER *enc,unsigned char *kstr,
int klen,int (*cb)());
int PEM_write_RSAPublicKey(FILE *fp,RSA *x);
+#endif
+#ifndef NO_DSA
int PEM_write_DSAPrivateKey(FILE *fp,DSA *x,const EVP_CIPHER *enc,
unsigned char *kstr,
int klen,int (*cb)());
+#endif
int PEM_write_PrivateKey(FILE *fp,EVP_PKEY *x,EVP_CIPHER *enc,
unsigned char *kstr,int klen,int (*cb)());
int PEM_write_PKCS7(FILE *fp,PKCS7 *x);
+#ifndef NO_DH
int PEM_write_DHparams(FILE *fp,DH *x);
+#endif
+#ifndef NO_DSA
int PEM_write_DSAparams(FILE *fp,DSA *x);
+#endif
int PEM_write_NETSCAPE_CERT_SEQUENCE(FILE *fp,NETSCAPE_CERT_SEQUENCE *x);
#endif
X509 *PEM_read_bio_X509(BIO *bp,X509 **x,int (*cb)());
X509_REQ *PEM_read_bio_X509_REQ(BIO *bp,X509_REQ **x,int (*cb)());
X509_CRL *PEM_read_bio_X509_CRL(BIO *bp,X509_CRL **x,int (*cb)());
+#ifndef NO_RSA
RSA *PEM_read_bio_RSAPrivateKey(BIO *bp,RSA **x,int (*cb)());
RSA *PEM_read_bio_RSAPublicKey(BIO *bp,RSA **x,int (*cb)());
+#endif
+#ifndef NO_DSA
DSA *PEM_read_bio_DSAPrivateKey(BIO *bp,DSA **x,int (*cb)());
+#endif
EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp,EVP_PKEY **x,int (*cb)());
PKCS7 *PEM_read_bio_PKCS7(BIO *bp,PKCS7 **x,int (*cb)());
+#ifndef NO_DH
DH *PEM_read_bio_DHparams(BIO *bp,DH **x,int (*cb)());
+#endif
NETSCAPE_CERT_SEQUENCE *PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp,NETSCAPE_CERT_SEQUENCE **x,int (*cb)());
+#ifndef NO_DSA
DSA *PEM_read_bio_DSAparams(BIO *bp,DSA **x,int (*cb)());
+#endif
int PEM_write_bio_X509(BIO *bp,X509 *x);
int PEM_write_bio_X509_REQ(BIO *bp,X509_REQ *x);
int PEM_write_bio_X509_CRL(BIO *bp,X509_CRL *x);
+#ifndef NO_RSA
int PEM_write_bio_RSAPrivateKey(BIO *fp,RSA *x,const EVP_CIPHER *enc,
unsigned char *kstr,int klen,int (*cb)());
int PEM_write_bio_RSAPublicKey(BIO *fp,RSA *x);
+#endif
+#ifndef NO_DSA
int PEM_write_bio_DSAPrivateKey(BIO *fp,DSA *x,const EVP_CIPHER *enc,
unsigned char *kstr,int klen,int (*cb)());
+#endif
int PEM_write_bio_PrivateKey(BIO *fp,EVP_PKEY *x,EVP_CIPHER *enc,
unsigned char *kstr,int klen,int (*cb)());
int PEM_write_bio_PKCS7(BIO *bp,PKCS7 *x);
+#ifndef NO_DH
int PEM_write_bio_DHparams(BIO *bp,DH *x);
+#endif
+#ifndef NO_DSA
int PEM_write_bio_DSAparams(BIO *bp,DSA *x);
+#endif
int PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp,NETSCAPE_CERT_SEQUENCE *x);
#endif
* [including the GNU Public Licence.]
*/
+#ifndef NO_RSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/evp.h>
if (s != NULL) Free(s);
return(ret);
}
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
void PKCS12_PBE_add(void)
{
+#ifndef NO_RC4
EVP_PBE_alg_add(NID_pbe_WithSHA1And128BitRC4, EVP_rc4(), EVP_sha1(),
PKCS12_PBE_keyivgen);
EVP_PBE_alg_add(NID_pbe_WithSHA1And40BitRC4, EVP_rc4_40(), EVP_sha1(),
PKCS12_PBE_keyivgen);
+#endif
EVP_PBE_alg_add(NID_pbe_WithSHA1And3_Key_TripleDES_CBC,
EVP_des_ede3_cbc(), EVP_sha1(), PKCS12_PBE_keyivgen);
EVP_PBE_alg_add(NID_pbe_WithSHA1And2_Key_TripleDES_CBC,
EVP_des_ede_cbc(), EVP_sha1(), PKCS12_PBE_keyivgen);
+#ifndef NO_RC2
EVP_PBE_alg_add(NID_pbe_WithSHA1And128BitRC2_CBC, EVP_rc2_cbc(),
EVP_sha1(), PKCS12_PBE_keyivgen);
EVP_PBE_alg_add(NID_pbe_WithSHA1And40BitRC2_CBC, EVP_rc2_40_cbc(),
EVP_sha1(), PKCS12_PBE_keyivgen);
+#endif
}
int PKCS12_PBE_keyivgen (const char *pass, int passlen, unsigned char *salt,
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_RC2
+#error RC2 is disabled.
+#endif
+
#define RC2_ENCRYPT 1
#define RC2_DECRYPT 0
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_RC2
+int main(int argc, char *argv[])
+{
+ printf("No RC2 support\n");
+ return(0);
+}
+#else
#include <openssl/rc2.h>
unsigned char RC2key[4][16]={
}
#endif
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_RC4
+#error RC4 is disabled.
+#endif
+
#include <openssl/opensslconf.h> /* RC4_INT */
typedef struct rc4_key_st
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#ifdef NO_RC4
+int main(int argc, char *argv[])
+{
+ printf("No RC4 support\n");
+ return(0);
+}
+#else
#include <openssl/rc4.h>
unsigned char keys[7][30]={
exit(err);
return(0);
}
-
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_RC5
+#error RC5 is disabled.
+#endif
+
#define RC5_ENCRYPT 1
#define RC5_DECRYPT 0
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_RC5
+int main(int argc, char *argv[])
+{
+ printf("No RC5 support\n");
+ return(0);
+}
+#else
#include <openssl/rc5.h>
unsigned char RC5key[5][16]={
}
#endif
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_RIPEMD
+#error RIPEMD is disabled.
+#endif
+
#define RIPEMD160_CBLOCK 64
#define RIPEMD160_LBLOCK 16
#define RIPEMD160_BLOCK 16
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_RIPEMD
+int main(int argc, char *argv[])
+{
+ printf("No ripemd support\n");
+ return(0);
+}
+#else
#include <openssl/ripemd.h>
char *test[]={
sprintf(&(buf[i*2]),"%02x",md[i]);
return(buf);
}
-
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
#include <openssl/bn.h>
#include <openssl/crypto.h>
+#ifdef NO_RSA
+#error RSA is disabled.
+#endif
+
typedef struct rsa_st RSA;
typedef struct rsa_meth_st
#include <stdio.h>
#include <string.h>
#include <openssl/e_os.h>
-#include <openssl/rsa.h>
#include <openssl/err.h>
+#ifdef NO_RSA
+int main(int argc, char *argv[])
+{
+ printf("No RSA support\n");
+ return(0);
+}
+#else
+#include <openssl/rsa.h>
#define SetKey \
key->n = BN_bin2bn(n, sizeof(n)-1, key->n); \
}
return err;
}
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
extern "C" {
#endif
+#ifdef NO_SHA
+#error SHA is disabled.
+#endif
+
#define SHA_CBLOCK 64
#define SHA_LBLOCK 16
#define SHA_BLOCK 16
int num;
} SHA_CTX;
+#ifndef NO_SHA0
void SHA_Init(SHA_CTX *c);
void SHA_Update(SHA_CTX *c, unsigned char *data, unsigned long len);
void SHA_Final(unsigned char *md, SHA_CTX *c);
unsigned char *SHA(unsigned char *d, unsigned long n,unsigned char *md);
void SHA_Transform(SHA_CTX *c, unsigned char *data);
+#endif
+#ifndef NO_SHA1
void SHA1_Init(SHA_CTX *c);
void SHA1_Update(SHA_CTX *c, unsigned char *data, unsigned long len);
void SHA1_Final(unsigned char *md, SHA_CTX *c);
unsigned char *SHA1(unsigned char *d, unsigned long n,unsigned char *md);
void SHA1_Transform(SHA_CTX *c, unsigned char *data);
+#endif
#ifdef __cplusplus
}
#endif
#include <string.h>
#include <openssl/sha.h>
+#ifndef NO_SHA1
unsigned char *SHA1(unsigned char *d, unsigned long n, unsigned char *md)
{
SHA_CTX c;
memset(&c,0,sizeof(c));
return(md);
}
+#endif
#include "sha_locl.h"
#include <openssl/opensslv.h>
+#ifndef NO_SHA1
char *SHA1_version="SHA1" OPENSSL_VERSION_PTEXT;
/* Implemented from SHA-1 document - The Secure Hash Algorithm
c->num=0;
/* memset((char *)&c,0,sizeof(c));*/
}
+#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_SHA
+int main(int argc, char *argv[])
+{
+ printf("No SHA support\n");
+ return(0);
+}
+#else
#include <openssl/sha.h>
#undef SHA_0 /* FIPS 180 */
sprintf(&(buf[i*2]),"%02x",md[i]);
return(buf);
}
+#endif
#include "sha_locl.h"
#include <openssl/opensslv.h>
+#ifndef NO_SHA0
char *SHA_version="SHA" OPENSSL_VERSION_PTEXT;
/* Implemented from SHA-0 document - The Secure Hash Algorithm
c->num=0;
/* memset((char *)&c,0,sizeof(c));*/
}
-
+#endif
#include <string.h>
#include <openssl/sha.h>
+#ifndef NO_SHA0
unsigned char *SHA(unsigned char *d, unsigned long n, unsigned char *md)
{
SHA_CTX c;
memset(&c,0,sizeof(c));
return(md);
}
+#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#ifdef NO_SHA
+int main(int argc, char *argv[])
+{
+ printf("No SHA support\n");
+ return(0);
+}
+#else
#include <openssl/sha.h>
#define SHA_0 /* FIPS 180 */
sprintf(&(buf[i*2]),"%02x",md[i]);
return(buf);
}
+#endif
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
#ifndef NO_RSA
#include <openssl/rsa.h>
-#else
-#define RSA long
#endif
#ifndef NO_DSA
#include <openssl/dsa.h>
-#else
-#define DSA long
#endif
#ifndef NO_DH
#include <openssl/dh.h>
-#else
-#define DH long
#endif
#include <openssl/evp.h>
int i2d_X509_CRL_fp(FILE *fp,X509_CRL *crl);
X509_REQ *d2i_X509_REQ_fp(FILE *fp,X509_REQ *req);
int i2d_X509_REQ_fp(FILE *fp,X509_REQ *req);
+#ifndef NO_RSA
RSA *d2i_RSAPrivateKey_fp(FILE *fp,RSA *rsa);
int i2d_RSAPrivateKey_fp(FILE *fp,RSA *rsa);
-DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA *dsa);
-int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa);
RSA *d2i_RSAPublicKey_fp(FILE *fp,RSA *rsa);
int i2d_RSAPublicKey_fp(FILE *fp,RSA *rsa);
#endif
+#ifndef NO_DSA
+DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA *dsa);
+int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa);
+#endif
+#endif
#ifdef HEADER_BIO_H
X509 *d2i_X509_bio(BIO *bp,X509 *x509);
int i2d_X509_CRL_bio(BIO *bp,X509_CRL *crl);
X509_REQ *d2i_X509_REQ_bio(BIO *bp,X509_REQ *req);
int i2d_X509_REQ_bio(BIO *bp,X509_REQ *req);
+#ifndef NO_RSA
RSA *d2i_RSAPrivateKey_bio(BIO *bp,RSA *rsa);
int i2d_RSAPrivateKey_bio(BIO *bp,RSA *rsa);
-DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA *dsa);
-int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa);
RSA *d2i_RSAPublicKey_bio(BIO *bp,RSA *rsa);
int i2d_RSAPublicKey_bio(BIO *bp,RSA *rsa);
#endif
+#ifndef NO_DSA
+DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA *dsa);
+int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa);
+#endif
+#endif
X509 *X509_dup(X509 *x509);
X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa);
X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn);
X509_NAME *X509_NAME_dup(X509_NAME *xn);
X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne);
+#ifndef NO_RSA
RSA *RSAPublicKey_dup(RSA *rsa);
RSA *RSAPrivateKey_dup(RSA *rsa);
+#endif
#endif /* !SSLEAY_MACROS */
lint -DLINT $(INCLUDES) $(SRC)>fluff
depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
+ $(MAKEDEPEND) $(INCLUDES) $(DEPFLFAG) $(PROGS) $(LIBSRC)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new