diff options
author | Richard Levitte <levitte@openssl.org> | 2004-07-12 12:39:52 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2004-07-12 12:39:52 +0000 |
commit | c4798d102050c10950eb69a93eacff03f8202dfe (patch) | |
tree | 13391095c98c3978c2016509edeb44717e8ded27 | |
parent | c16750dcecc668f1a195e43f3f63752ae457bc39 (diff) | |
download | openssl-new-c4798d102050c10950eb69a93eacff03f8202dfe.tar.gz |
Recent changes from HEAD.
40 files changed, 629 insertions, 511 deletions
@@ -712,6 +712,9 @@ Changes between 0.9.7d and 0.9.7e [XX xxx XXXX] + *) Add Delta CRL to the extension code. + [Steve Henson] + *) Various fixes to s3_pkt.c so alerts are sent properly. [David Holmes <d.holmes@f5.com>] @@ -142,7 +142,7 @@ my %table=( "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", "debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -m486 -pedantic -Wshadow -Wall::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", "debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32::::win32:cygwin-shared:::.dll", -"debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -mcpu=i486 -pedantic -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", +"debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -mcpu=i486 -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", "debug-steve-linux-pseudo64", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DOPENSSL_NO_ASM -g -mcpu=i486 -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:SIXTY_FOUR_BIT::dlfcn:linux-shared", "debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", @@ -155,6 +155,12 @@ my %table=( "gcc", "gcc:-O3::(unknown):::BN_LLONG:::", "cc", "cc:-O::(unknown)::::::", +####VOS Configurations +"vos-gcc","gcc:-b hppa1.1-stratus-vos -O3 -Wall -Wuninitialized -D_POSIX_C_SOURCE=200112L -D_BSD::(unknown):VOS:-Wl,-map:BN_LLONG:::::::::::::.so:", +"debug-vos-gcc","gcc:-b hppa1.1-stratus-vos -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLONG:::::::::::::.so:", +"vos-vcc","vcc:-b i386-stratus-vos -O3 -D_POSIX_C_SOURCE=200112L -D_BSD::(unknown):VOS:-Wl,-map::::::::::::::.so:", +"debug-vos-vcc","vcc:-b i386-stratus-vos -O0 -g -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map::::::::::::::.so:", + #### Solaris x86 with GNU C setups # -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have to do it # here because whenever GNU C instantiates an assembler template it @@ -385,7 +391,7 @@ my %table=( "debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn", "debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn", "debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn", +"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}", "linux-mipsel", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "linux-mips", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", @@ -396,7 +402,7 @@ my %table=( "linux-s390x", "gcc:-DB_ENDIAN -DTERMIO -DNO_ASM -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "linux-ia64-ecc", "ecc:-DL_ENDIAN -DTERMIO -O2 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR BF_PTR2 DES_INT DES_UNROLL:asm/x86_64-gcc.o:::::::::dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:asm/x86_64-gcc.o::::::asm/rc4-amd64.o:::dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "NetBSD-m68", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "NetBSD-x86", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", @@ -654,10 +660,6 @@ my $no_sha=0; my $no_rsa=0; my $no_dh=0; -$default_ranlib= &which("ranlib") or $default_ranlib="true"; -$perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl") - or $perl="perl"; - &usage if ($#ARGV < 0); my $flags; @@ -954,9 +956,14 @@ my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; $exe_ext=".exe" if ($target eq "Cygwin"); $exe_ext=".exe" if ($target eq "DJGPP"); +$exe_ext=".pm" if ($target eq "vos-gcc" or $target eq "debug-vos-gcc" or $target eq "vos-vcc" or $target eq "debug-vos-vcc"); $openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq ""); $prefix=$openssldir if $prefix eq ""; +$default_ranlib= &which("ranlib") or $default_ranlib="true"; +$perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl") + or $perl="perl"; + chop $openssldir if $openssldir =~ /\/$/; chop $prefix if $prefix =~ /\/$/; @@ -1693,10 +1700,10 @@ sub which my $path; foreach $path (split /:/, $ENV{PATH}) { - if (-f "$path/$name" and -x _) + if (-f "$path/$name$exe_ext" and -x _) { - return "$path/$name" unless ($name eq "perl" and - system("$path/$name -e " . '\'exit($]<5.0);\'')); + return "$path/$name$exe_ext" unless ($name eq "perl" and + system("$path/$name$exe_ext -e " . '\'exit($]<5.0);\'')); } } } diff --git a/Makefile.org b/Makefile.org index b64bf33da1..96b9ff885a 100644 --- a/Makefile.org +++ b/Makefile.org @@ -377,7 +377,7 @@ dclean: rehash: rehash.time rehash.time: certs - @(OPENSSL="`pwd`/apps/openssl"; OPENSSL_DEBUG_MEMORY=on; \ + @(OPENSSL="`pwd`/apps/openssl$(EXE_EXT)"; OPENSSL_DEBUG_MEMORY=on; \ export OPENSSL OPENSSL_DEBUG_MEMORY; \ LD_LIBRARY_PATH="`pwd`:$$LD_LIBRARY_PATH"; \ DYLD_LIBRARY_PATH="`pwd`:$$DYLD_LIBRARY_PATH"; \ @@ -493,7 +493,9 @@ dist: dist_pem_h: (cd crypto/pem; $(MAKE) CC='${CC}' SDIRS='${SDIRS}' CFLAG='${CFLAG}' pem.h; $(MAKE) clean) -install: all install_docs +install: all install_docs install_sw + +install_sw: @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ $(INSTALL_PREFIX)$(INSTALLTOP)/lib \ $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines \ @@ -173,11 +173,17 @@ textual explanation of what your patch does. Note: For legal reasons, contributions from the US can be accepted only - if a TSA notification and a copy of the patch is sent to crypt@bis.doc.gov; - see http://www.bis.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html [sic] - and http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (EAR Section 740.13(e)). - - The preferred format for changes is "diff -u" output. You might + if a TSU notification and a copy of the patch are sent to crypt@bis.doc.gov + (formerly BXA) with a copy to the ENC Encryption Request Coordinator; + please take some time to look at + http://www.bis.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html [sic] + and + http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (EAR Section 740.13(e)) + for the details. If "your encryption source code is too large to serve as + an email attachment", they are glad to receive it by fax instead; hope you + have a cheap long-distance plan. + + Our preferred format for changes is "diff -u" output. You might generate it like this: # cd openssl-work @@ -1818,10 +1818,10 @@ $rc4_obj = asm/rx86-elf.o $rmd160_obj = asm/rm86-elf.o $rc5_obj = asm/r586-elf.o $dso_scheme = dlfcn -$shared_target= -$shared_cflag = +$shared_target= linux-shared +$shared_cflag = -fPIC $shared_ldflag = -$shared_extension = +$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR) $ranlib = $arflags = @@ -2002,7 +2002,7 @@ $arflags = *** debug-steve $cc = gcc -$cflags = -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -mcpu=i486 -pedantic -Wall -Werror -Wshadow -pipe +$cflags = -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -mcpu=i486 -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe $unistd = $thread_cflag = -D_REENTRANT $sys_id = @@ -2075,6 +2075,56 @@ $shared_extension = $ranlib = $arflags = +*** debug-vos-gcc +$cc = gcc +$cflags = -b hppa1.1-stratus-vos -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG +$unistd = +$thread_cflag = (unknown) +$sys_id = VOS +$lflags = -Wl,-map +$bn_ops = BN_LLONG +$bn_obj = +$des_obj = +$bf_obj = +$md5_obj = +$sha1_obj = +$cast_obj = +$rc4_obj = +$rmd160_obj = +$rc5_obj = +$dso_scheme = +$shared_target= +$shared_cflag = +$shared_ldflag = .so +$shared_extension = +$ranlib = +$arflags = + +*** debug-vos-vcc +$cc = vcc +$cflags = -b i386-stratus-vos -O0 -g -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG +$unistd = +$thread_cflag = (unknown) +$sys_id = VOS +$lflags = -Wl,-map +$bn_ops = +$bn_obj = +$des_obj = +$bf_obj = +$md5_obj = +$sha1_obj = +$cast_obj = +$rc4_obj = +$rmd160_obj = +$rc5_obj = +$dso_scheme = +$shared_target= +$shared_cflag = +$shared_ldflag = .so +$shared_extension = +$ranlib = +$arflags = + *** dgux-R3-gcc $cc = gcc $cflags = -O3 -fomit-frame-pointer @@ -3081,7 +3131,7 @@ $cflags = -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall $unistd = $thread_cflag = -D_REENTRANT $sys_id = -$lflags = +$lflags = -ldl $bn_ops = BN_LLONG $bn_obj = $des_obj = @@ -3532,14 +3582,14 @@ $unistd = $thread_cflag = -D_REENTRANT $sys_id = $lflags = -ldl -$bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR BF_PTR2 DES_INT DES_UNROLL +$bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL $bn_obj = asm/x86_64-gcc.o $des_obj = $bf_obj = $md5_obj = $sha1_obj = $cast_obj = -$rc4_obj = +$rc4_obj = asm/rc4-amd64.o $rmd160_obj = $rc5_obj = $dso_scheme = dlfcn @@ -3675,6 +3725,31 @@ $shared_extension = $ranlib = $arflags = +*** netware-libc-gcc +$cc = i586-netware-gcc +$cflags = -nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall +$unistd = +$thread_cflag = +$sys_id = +$lflags = RC4_INDEX MD2_INT +$bn_ops = +$bn_obj = +$des_obj = +$bf_obj = +$md5_obj = +$sha1_obj = +$cast_obj = +$rc4_obj = +$rmd160_obj = +$rc5_obj = +$dso_scheme = +$shared_target= +$shared_cflag = +$shared_ldflag = +$shared_extension = +$ranlib = +$arflags = + *** newsos4-gcc $cc = gcc $cflags = -O -DB_ENDIAN @@ -4425,6 +4500,56 @@ $shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR) $ranlib = $arflags = +*** vos-gcc +$cc = gcc +$cflags = -b hppa1.1-stratus-vos -O3 -Wall -Wuninitialized -D_POSIX_C_SOURCE=200112L -D_BSD +$unistd = +$thread_cflag = (unknown) +$sys_id = VOS +$lflags = -Wl,-map +$bn_ops = BN_LLONG +$bn_obj = +$des_obj = +$bf_obj = +$md5_obj = +$sha1_obj = +$cast_obj = +$rc4_obj = +$rmd160_obj = +$rc5_obj = +$dso_scheme = +$shared_target= +$shared_cflag = +$shared_ldflag = .so +$shared_extension = +$ranlib = +$arflags = + +*** vos-vcc +$cc = vcc +$cflags = -b i386-stratus-vos -O3 -D_POSIX_C_SOURCE=200112L -D_BSD +$unistd = +$thread_cflag = (unknown) +$sys_id = VOS +$lflags = -Wl,-map +$bn_ops = +$bn_obj = +$des_obj = +$bf_obj = +$md5_obj = +$sha1_obj = +$cast_obj = +$rc4_obj = +$rmd160_obj = +$rc5_obj = +$dso_scheme = +$shared_target= +$shared_cflag = +$shared_ldflag = .so +$shared_extension = +$ranlib = +$arflags = + *** vxworks-mipsle $cc = ccmips $cflags = -B$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/ -DL_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -DCPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I$(WIND_BASE)/target/h diff --git a/apps/Makefile.ssl b/apps/Makefile.ssl index 90225904be..3d75664660 100644 --- a/apps/Makefile.ssl +++ b/apps/Makefile.ssl @@ -85,7 +85,7 @@ top: all: exe -exe: $(PROGRAM) +exe: $(EXE) req: sreq.o $(A_OBJ) $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ @@ -151,8 +151,8 @@ $(DLIBSSL): $(DLIBCRYPTO): (cd ..; $(MAKE) DIRS=crypto all) -$(PROGRAM): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL) - $(RM) $(PROGRAM) +$(EXE): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL) + $(RM) $(EXE) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -162,12 +162,12 @@ $(PROGRAM): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL) LIBRARIES="$(LIBSSL) $(LIBKRB5) $(LIBCRYPTO)" ; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(PROGRAM) LDFLAGS="$(CFLAG)" \ + APPNAME=$(EXE) LDFLAGS="$(CFLAG)" \ OBJECTS="$(PROGRAM).o $(E_OBJ)" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} - -(cd ..; OPENSSL="`pwd`/apps/openssl"; export OPENSSL; \ + -(cd ..; OPENSSL="`pwd`/apps/$(EXE)"; export OPENSSL; \ LD_LIBRARY_PATH="`pwd`:$$LD_LIBRARY_PATH"; \ DYLD_LIBRARY_PATH="`pwd`:$$DYLD_LIBRARY_PATH"; \ SHLIB_PATH="`pwd`:$$SHLIB_PATH"; \ diff --git a/apps/asn1pars.c b/apps/asn1pars.c index 305db15903..f1d8bc8b98 100644 --- a/apps/asn1pars.c +++ b/apps/asn1pars.c @@ -309,6 +309,7 @@ bad: for (i=0; i<sk_num(osk); i++) { ASN1_TYPE *atmp; + int typ; j=atoi(sk_value(osk,i)); if (j == 0) { @@ -327,6 +328,15 @@ bad: ERR_print_errors(bio_err); goto end; } + typ = ASN1_TYPE_get(at); + if ((typ == V_ASN1_OBJECT) + || (typ == V_ASN1_NULL)) + { + BIO_printf(bio_err, "Can't parse %s type\n", + typ == V_ASN1_NULL ? "NULL" : "OBJECT"); + ERR_print_errors(bio_err); + goto end; + } /* hmm... this is a little evil but it works */ tmpbuf=at->value.asn1_string->data; tmplen=at->value.asn1_string->length; diff --git a/apps/speed.c b/apps/speed.c index c398009be5..a3b0833b69 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -253,11 +253,7 @@ #endif #undef BUFSIZE -/* BUFSIZE needs to be one cipherblock larger than the largest number in the - lengths array (see below), to make space for padding when doing EVP tests. - 1024 extra bytes may seem much, but hey, it doesn't hurt! - -- Richard Levitte */ -#define BUFSIZE ((long)1024*9+1) +#define BUFSIZE ((long)1024*8+1) int run=0; static char ftime_used = 0, times_used = 0, gettimeofday_used = 0, getrusage_used = 0; @@ -1812,6 +1808,7 @@ int MAIN(int argc, char **argv) EVP_DecryptInit_ex(&ctx,evp_cipher,NULL,key16,iv); else EVP_EncryptInit_ex(&ctx,evp_cipher,NULL,key16,iv); + EVP_CIPHER_CTX_set_padding(&ctx, 0); Time_F(START); if(decrypt) @@ -23,6 +23,7 @@ PREFIX="" SUFFIX="" TEST="false" +EXE="" # pick up any command line args to config for i @@ -284,6 +285,14 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in echo "${MACHINE}-whatever-sysv4"; exit 0 ;; + VOS:*:*:i786) + echo "i386-stratus-vos"; exit 0 + ;; + + VOS:*:*:*) + echo "hppa1.1-stratus-vos"; exit 0 + ;; + *:4*:R4*:m88k) echo "${MACHINE}-whatever-sysv4"; exit 0 ;; @@ -672,6 +681,10 @@ EOF *-*-UnixWare21*) OUT="unixware-2.1" ;; *-*-Unixware20*) OUT="unixware-2.0" ;; *-*-Unixware21*) OUT="unixware-2.1" ;; + *-*-vos) + options="$options no-threads no-shared no-asm no-dso" + EXE=".pm" + OUT="vos-$CC" ;; BS2000-siemens-sysv4) OUT="BS2000-OSD" ;; RM*-siemens-sysv4) OUT="ReliantUNIX" ;; *-siemens-sysv4) OUT="SINIX" ;; @@ -819,8 +832,8 @@ fi if [ ".$PERL" = . ] ; then for i in . `echo $PATH | sed 's/:/ /g'`; do - if [ -f "$i/perl5" ] ; then - PERL="$i/perl5" + if [ -f "$i/perl5$EXE" ] ; then + PERL="$i/perl5$EXE" break; fi; done @@ -828,9 +841,9 @@ fi if [ ".$PERL" = . ] ; then for i in . `echo $PATH | sed 's/:/ /g'`; do - if [ -f "$i/perl" ] ; then - if "$i/perl" -e 'exit($]<5.0)'; then - PERL="$i/perl" + if [ -f "$i/perl$EXE" ] ; then + if "$i/perl$EXE" -e 'exit($]<5.0)'; then + PERL="$i/perl$EXE" break; fi; fi; diff --git a/crypto/Makefile.ssl b/crypto/Makefile.ssl index 88dec01917..45fd130446 100644 --- a/crypto/Makefile.ssl +++ b/crypto/Makefile.ssl @@ -38,14 +38,14 @@ GENERAL=Makefile README crypto-lib.com install.com LIB= $(TOP)/libcrypto.a SHARED_LIB= libcrypto$(SHLIB_EXT) -LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c -LIBOBJ= cryptlib.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o +LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c +LIBOBJ= cryptlib.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o SRC= $(LIBSRC) EXHEADER= crypto.h tmdiff.h opensslv.h opensslconf.h ebcdic.h symhacks.h \ ossl_typ.h -HEADER= cryptlib.h buildinf.h md32_common.h o_time.h o_str.h $(EXHEADER) +HEADER= cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h $(EXHEADER) ALL= $(GENERAL) $(SRC) $(HEADER) @@ -214,6 +214,8 @@ mem_dbg.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h mem_dbg.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h mem_dbg.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h mem_dbg.o: mem_dbg.c +o_dir.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h +o_dir.o: LPdir_unix.c o_dir.c o_dir.h o_str.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_str.c o_str.o: o_str.h o_time.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_time.c diff --git a/crypto/asn1/p5_pbev2.c b/crypto/asn1/p5_pbev2.c index 91e1c8987d..1aff49570a 100644 --- a/crypto/asn1/p5_pbev2.c +++ b/crypto/asn1/p5_pbev2.c @@ -1,6 +1,6 @@ /* p5_pbev2.c */ /* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL - * project 1999. + * project 1999-2004. */ /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. All rights reserved. @@ -113,8 +113,9 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, if(!(scheme->parameter = ASN1_TYPE_new())) goto merr; /* Create random IV */ - if (RAND_pseudo_bytes(iv, EVP_CIPHER_iv_length(cipher)) < 0) - goto err; + if (EVP_CIPHER_iv_length(cipher) && + RAND_pseudo_bytes(iv, EVP_CIPHER_iv_length(cipher)) < 0) + goto err; EVP_CIPHER_CTX_init(&ctx); @@ -123,6 +124,7 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, if(EVP_CIPHER_param_to_asn1(&ctx, scheme->parameter) < 0) { ASN1err(ASN1_F_PKCS5_PBE2_SET, ASN1_R_ERROR_SETTING_CIPHER_PARAMS); + EVP_CIPHER_CTX_cleanup(&ctx); goto err; } EVP_CIPHER_CTX_cleanup(&ctx); diff --git a/crypto/bn/asm/ia64.S b/crypto/bn/asm/ia64.S index 7dfda85566..7b82b820e6 100644 --- a/crypto/bn/asm/ia64.S +++ b/crypto/bn/asm/ia64.S @@ -1,6 +1,6 @@ .explicit .text -.ident "ia64.S, Version 2.0" +.ident "ia64.S, Version 2.1" .ident "IA-64 ISA artwork by Andy Polyakov <appro@fy.chalmers.se>" // @@ -35,7 +35,7 @@ // What does it mean? You might ratiocinate that the original code // should run just faster... Because sum of latencies is smaller... // Wrong! Note that getf latency increased. This means that if a loop is -// scheduled for lower latency (and they are), then it will suffer from +// scheduled for lower latency (as they were), then it will suffer from // stall condition and the code will therefore turn anti-scalable, e.g. // original bn_mul_words spun at 5*n or 2.5 times slower than expected // on Itanium2! What to do? Reschedule loops for Itanium2? But then @@ -145,6 +145,12 @@ // -Drum=nop.m in command line. // +#if defined(_HPUX_SOURCE) && !defined(_LP64) +#define ADDP addp4 +#else +#define ADDP add +#endif + #if 1 // // bn_[add|sub]_words routines. @@ -178,27 +184,12 @@ bn_add_words: brp.loop.imp .L_bn_add_words_ctop,.L_bn_add_words_cend-16 } .body -{ .mib; -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r14=0,r32 // rp -#else - mov r14=r32 // rp -#endif +{ .mib; ADDP r14=0,r32 // rp mov r9=pr };; -{ .mii; -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r15=0,r33 // ap -#else - mov r15=r33 // ap -#endif +{ .mii; ADDP r15=0,r33 // ap mov ar.lc=r10 mov ar.ec=6 } -{ .mib; -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r16=0,r34 // bp -#else - mov r16=r34 // bp -#endif +{ .mib; ADDP r16=0,r34 // bp mov pr.rot=1<<16 };; .L_bn_add_words_ctop: @@ -246,27 +237,12 @@ bn_sub_words: brp.loop.imp .L_bn_sub_words_ctop,.L_bn_sub_words_cend-16 } .body -{ .mib; -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r14=0,r32 // rp -#else - mov r14=r32 // rp -#endif +{ .mib; ADDP r14=0,r32 // rp mov r9=pr };; -{ .mii; -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r15=0,r33 // ap -#else - mov r15=r33 // ap -#endif +{ .mii; ADDP r15=0,r33 // ap mov ar.lc=r10 mov ar.ec=6 } -{ .mib; -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r16=0,r34 // bp -#else - mov r16=r34 // bp -#endif +{ .mib; ADDP r16=0,r34 // bp mov pr.rot=1<<16 };; .L_bn_sub_words_ctop: @@ -332,16 +308,10 @@ bn_mul_words: #ifndef XMA_TEMPTATION -{ .mii; -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r14=0,r32 // rp - addp4 r15=0,r33 // ap -#else - mov r14=r32 // rp - mov r15=r33 // ap -#endif +{ .mmi; ADDP r14=0,r32 // rp + ADDP r15=0,r33 // ap mov ar.lc=r10 } -{ .mii; mov r40=0 // serves as r35 at first (p27) +{ .mmi; mov r40=0 // serves as r35 at first (p27) mov ar.ec=13 };; // This loop spins in 2*(n+12) ticks. It's scheduled for data in Itanium @@ -424,89 +394,64 @@ bn_mul_words: .global bn_mul_add_words# .proc bn_mul_add_words# .align 64 -//.skip 0 // makes the loop split at 64-byte boundary +.skip 48 // makes the loop body aligned at 64-byte boundary bn_mul_add_words: .prologue .fframe 0 .save ar.pfs,r2 -{ .mii; alloc r2=ar.pfs,4,12,0,16 - cmp4.le p6,p0=r34,r0 };; -{ .mfb; mov r8=r0 // return value -(p6) br.ret.spnt.many b0 };; - .save ar.lc,r3 -{ .mii; sub r10=r34,r0,1 - mov r3=ar.lc - mov r9=pr };; + .save pr,r9 +{ .mmi; alloc r2=ar.pfs,4,4,0,8 + cmp4.le p6,p0=r34,r0 + mov r3=ar.lc };; +{ .mib; mov r8=r0 // return value + sub r10=r34,r0,1 +(p6) br.ret.spnt.many b0 };; .body -{ .mib; setf.sig f8=r35 // w - mov pr.rot=0x800001<<16 - // ------^----- serves as (p50) at first (p27) +{ .mib; setf.sig f8=r35 // w + mov r9=pr brp.loop.imp .L_bn_mul_add_words_ctop,.L_bn_mul_add_words_cend-16 } -{ .mii; -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r14=0,r32 // rp - addp4 r15=0,r33 // ap -#else - mov r14=r32 // rp - mov r15=r33 // ap -#endif +{ .mmi; ADDP r14=0,r32 // rp + ADDP r15=0,r33 // ap mov ar.lc=r10 } -{ .mii; mov r40=0 // serves as r35 at first (p27) -#if defined(_HPUX_SOURCE) && defined(_ILP32) - addp4 r18=0,r32 // rp copy -#else - mov r18=r32 // rp copy -#endif - mov ar.ec=15 };; - -// This loop spins in 3*(n+14) ticks on Itanium and should spin in -// 2*(n+14) on "wider" IA-64 implementations (to be verified with new -// µ-architecture manuals as they become available). As usual it's -// possible to compress the epilogue, down to 10 in this case, at the -// cost of scalability. Compressed (and therefore non-scalable) loop -// running at 3*(n+11) would buy you ~10% on Itanium but take ~35% -// from "wider" IA-64 so let it be scalable! Special attention was -// paid for having the loop body split at 64-byte boundary. ld8 is -// scheduled for L1 cache as the data is more than likely there. -// Indeed, bn_mul_words has put it there a moment ago:-) +{ .mii; ADDP r16=0,r32 // rp copy + mov pr.rot=0x2001<<16 + // ------^----- serves as (p40) at first (p27) + mov ar.ec=11 };; + +// This loop spins in 3*(n+10) ticks on Itanium and in 2*(n+10) on +// Itanium 2. Yes, unlike previous versions it scales:-) Previous +// version was peforming *all* additions in IALU and was starving +// for those even on Itanium 2. In this version one addition is +// moved to FPU and is folded with multiplication. This is at cost +// of propogating the result from previous call to this subroutine +// to L2 cache... In other words negligible even for shorter keys. +// *Overall* performance improvement [over previous version] varies +// from 11 to 22 percent depending on key length. .L_bn_mul_add_words_ctop: -{ .mfi; (p25) getf.sig r36=f52 // low - (p21) xmpy.lu f48=f37,f8 - (p28) cmp.ltu p54,p50=r41,r39 } -{ .mfi; (p16) ldf8 f32=[r15],8 - (p21) xmpy.hu f40=f37,f8 - (p28) add r45=r45,r41 };; -{ .mii; (p25) getf.sig r32=f44 // high - .pred.rel "mutex",p50,p54 - (p50) add r40=r38,r35 // (p27) - (p54) add r40=r38,r35,1 } // (p27) -{ .mfb; (p28) cmp.ltu.unc p60,p0=r45,r41 - (p0) nop.f 0x0 - (p0) nop.b 0x0 } -{ .mii; (p27) ld8 r44=[r18],8 - (p62) cmp.eq.or p61,p0=-1,r46 - (p62) add r46=1,r46 } -{ .mfb; (p30) st8 [r14]=r47,8 - (p0) nop.f 0x0 +.pred.rel "mutex",p40,p42 +{ .mfi; (p23) getf.sig r36=f45 // low + (p20) xma.lu f42=f36,f8,f50 // low + (p40) add r39=r39,r35 } // (p27) +{ .mfi; (p16) ldf8 f32=[r15],8 // *(ap++) + (p20) xma.hu f36=f36,f8,f50 // high + (p42) add r39=r39,r35,1 };; // (p27) +{ .mmi; (p24) getf.sig r32=f40 // high + (p16) ldf8 f46=[r16],8 // *(rp1++) + (p40) cmp.ltu p41,p39=r39,r35 } // (p27) +{ .mib; (p26) st8 [r14]=r39,8 // *(rp2++) + (p42) cmp.leu p41,p39=r39,r35 // (p27) br.ctop.sptk .L_bn_mul_add_words_ctop};; .L_bn_mul_add_words_cend: -{ .mii; nop.m 0x0 -.pred.rel "mutex",p53,p57 -(p53) add r8=r38,r0 -(p57) add r8=r38,r0,1 } -{ .mfb; nop.m 0x0 - nop.f 0x0 - nop.b 0x0 };; -{ .mii; -(p63) add r8=1,r8 - mov pr=r9,0x1ffff - mov ar.lc=r3 } -{ .mfb; rum 1<<5 // clear um.mfh - nop.f 0x0 +{ .mmi; .pred.rel "mutex",p40,p42 +(p40) add r8=r35,r0 +(p42) add r8=r35,r0,1 + mov pr=r9,0x1ffff } +{ .mib; rum 1<<5 // clear um.mfh + mov ar.lc=r3 br.ret.sptk.many b0 };; .endp bn_mul_add_words# #endif @@ -527,7 +472,8 @@ bn_sqr_words: sxt4 r34=r34 };; { .mii; cmp.le p6,p0=r34,r0 mov r8=r0 } // return value -{ .mfb; nop.f 0x0 +{ .mfb; ADDP r32=0,r32 + nop.f 0x0 (p6) br.ret.spnt.many b0 };; .save ar.lc,r3 @@ -536,11 +482,7 @@ bn_sqr_words: mov r9=pr };; .body -#if defined(_HPUX_SOURCE) && defined(_ILP32) -{ .mii; addp4 r32=0,r32 - addp4 r33=0,r33 };; -#endif -{ .mib; +{ .mib; ADDP r33=0,r33 mov pr.rot=1<<16 brp.loop.imp .L_bn_sqr_words_ctop,.L_bn_sqr_words_cend-16 } @@ -605,7 +547,7 @@ bn_sqr_comba8: .prologue .fframe 0 .save ar.pfs,r2 -#if defined(_HPUX_SOURCE) && defined(_ILP32) +#if defined(_HPUX_SOURCE) && !defined(_LP64) { .mii; alloc r2=ar.pfs,2,1,0,0 addp4 r33=0,r33 addp4 r32=0,r32 };; @@ -631,6 +573,10 @@ bn_sqr_comba8: // clause in Itanium µ-architecture manual? Comments are welcomed and // highly appreciated. // +// On Itanium 2 it takes ~190 ticks. This is because of stalls on +// result from getf.sig. I do nothing about it at this point for +// reasons depicted below. +// // However! It should be noted that even 160 ticks is darn good result // as it's over 10 (yes, ten, spelled as t-e-n) times faster than the // C version (compiled with gcc with inline assembler). I really @@ -673,7 +619,7 @@ bn_mul_comba8: .prologue .fframe 0 .save ar.pfs,r2 -#if defined(_HPUX_SOURCE) && defined(_ILP32) +#if defined(_HPUX_SOURCE) && !defined(_LP64) { .mii; alloc r2=ar.pfs,3,0,0,0 addp4 r33=0,r33 addp4 r34=0,r34 };; @@ -1231,7 +1177,7 @@ bn_sqr_comba4: .prologue .fframe 0 .save ar.pfs,r2 -#if defined(_HPUX_SOURCE) && defined(_ILP32) +#if defined(_HPUX_SOURCE) && !defined(_LP64) { .mii; alloc r2=ar.pfs,2,1,0,0 addp4 r32=0,r32 addp4 r33=0,r33 };; @@ -1264,7 +1210,7 @@ bn_mul_comba4: .prologue .fframe 0 .save ar.pfs,r2 -#if defined(_HPUX_SOURCE) && defined(_ILP32) +#if defined(_HPUX_SOURCE) && !defined(_LP64) { .mii; alloc r2=ar.pfs,3,0,0,0 addp4 r33=0,r33 addp4 r34=0,r34 };; @@ -1448,8 +1394,8 @@ bn_mul_comba4: #define I r21 #if 0 -// Some preprocessors (most notably HP-UX) apper to be allergic to -// macros enclosed to parenthesis as these three will be. +// Some preprocessors (most notably HP-UX) appear to be allergic to +// macros enclosed to parenthesis [as these three were]. #define cont p16 #define break p0 // p20 #define equ p24 @@ -1581,9 +1527,18 @@ bn_div_words: // output: f8 = (int)(a/b) // clobbered: f8,f9,f10,f11,pred pred=p15 -// This procedure is essentially Intel code and therefore is -// copyrighted to Intel Corporation (I suppose...). It's sligtly -// modified for specific needs. +// One can argue that this snippet is copyrighted to Intel +// Corporation, as it's essentially identical to one of those +// found in "Divide, Square Root and Remainder" section at +// http://www.intel.com/software/products/opensource/libraries/num.htm. +// Yes, I admit that the referred code was used as template, +// but after I realized that there hardly is any other instruction +// sequence which would perform this operation. I mean I figure that +// any independent attempt to implement high-performance division +// will result in code virtually identical to the Intel code. It +// should be noted though that below division kernel is 1 cycle +// faster than Intel one (note commented splits:-), not to mention +// original prologue (rather lack of one) and epilogue. .align 32 .skip 16 .L_udiv64_32_b6: diff --git a/crypto/bn/bn.h b/crypto/bn/bn.h index 11f5a9e65b..1b3d574641 100644 --- a/crypto/bn/bn.h +++ b/crypto/bn/bn.h @@ -802,6 +802,7 @@ void ERR_load_BN_strings(void); #define BN_R_NOT_IMPLEMENTED 116 #define BN_R_NOT_INITIALIZED 107 #define BN_R_NO_INVERSE 108 +#define BN_R_NO_SOLUTION 117 #define BN_R_P_IS_NOT_PRIME 112 #define BN_R_TOO_MANY_ITERATIONS 113 #define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 diff --git a/crypto/bn/bn_err.c b/crypto/bn/bn_err.c index 747591f9cb..b42208ae0b 100644 --- a/crypto/bn/bn_err.c +++ b/crypto/bn/bn_err.c @@ -116,6 +116,7 @@ static ERR_STRING_DATA BN_str_reasons[]= {BN_R_NOT_IMPLEMENTED ,"not implemented"}, {BN_R_NOT_INITIALIZED ,"not initialized"}, {BN_R_NO_INVERSE ,"no inverse"}, +{BN_R_NO_SOLUTION ,"no solution"}, {BN_R_P_IS_NOT_PRIME ,"p is not prime"}, {BN_R_TOO_MANY_ITERATIONS ,"too many iterations"}, {BN_R_TOO_MANY_TEMPORARY_VARIABLES ,"too many temporary variables"}, diff --git a/crypto/bn/bn_gf2m.c b/crypto/bn/bn_gf2m.c index c10287e9cb..3fbf0e1b48 100644 --- a/crypto/bn/bn_gf2m.c +++ b/crypto/bn/bn_gf2m.c @@ -992,7 +992,11 @@ int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a_, const unsigned int p if (!BN_GF2m_mod_sqr_arr(w, z, p, ctx)) goto err; if (!BN_GF2m_add(w, z, w)) goto err; - if (BN_GF2m_cmp(w, a)) goto err; + if (BN_GF2m_cmp(w, a)) + { + BNerr(BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR, BN_R_NO_SOLUTION); + goto err; + } if (!BN_copy(r, z)) goto err; bn_check_top(r); diff --git a/crypto/crypto-lib.com b/crypto/crypto-lib.com index bc872a35d7..19efe4cadb 100644 --- a/crypto/crypto-lib.com +++ b/crypto/crypto-lib.com @@ -161,7 +161,7 @@ $! $ APPS_DES = "DES/DES,CBC3_ENC" $ APPS_PKCS7 = "ENC/ENC;DEC/DEC;SIGN/SIGN;VERIFY/VERIFY,EXAMPLE" $ -$ LIB_ = "cryptlib,mem,mem_clr,mem_dbg,cversion,ex_data,tmdiff,cpt_err,ebcdic,uid,o_time,o_str" +$ LIB_ = "cryptlib,mem,mem_clr,mem_dbg,cversion,ex_data,tmdiff,cpt_err,ebcdic,uid,o_time,o_str,o_dir" $ LIB_MD2 = "md2_dgst,md2_one" $ LIB_MD4 = "md4_dgst,md4_one" $ LIB_MD5 = "md5_dgst,md5_one" @@ -275,7 +275,7 @@ $! $! Setup exceptional compilations $! $ COMPILEWITH_CC3 = ",bss_rtcp," -$ COMPILEWITH_CC4 = ",a_utctm,bss_log,o_time," +$ COMPILEWITH_CC4 = ",a_utctm,bss_log,o_time,o_dir" $ COMPILEWITH_CC5 = ",md2_dgst,md4_dgst,md5_dgst,mdc2dgst," + - "sha_dgst,sha1dgst,rmd_dgst,bf_enc," $! diff --git a/crypto/ec/ec2_smpt.c b/crypto/ec/ec2_smpt.c index f7e3d38150..72a8d57051 100644 --- a/crypto/ec/ec2_smpt.c +++ b/crypto/ec/ec2_smpt.c @@ -77,6 +77,9 @@ int ec_GF2m_simple_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p BIGNUM *tmp, *x, *y, *z; int ret = 0, z0; + /* clear error queue */ + ERR_clear_error(); + if (ctx == NULL) { ctx = new_ctx = BN_CTX_new(); @@ -104,7 +107,19 @@ int ec_GF2m_simple_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p if (!group->meth->field_div(group, tmp, &group->b, tmp, ctx)) goto err; if (!BN_GF2m_add(tmp, &group->a, tmp)) goto err; if (!BN_GF2m_add(tmp, x, tmp)) goto err; - if (!BN_GF2m_mod_solve_quad_arr(z, tmp, group->poly, ctx)) goto err; + if (!BN_GF2m_mod_solve_quad_arr(z, tmp, group->poly, ctx)) + { + unsigned long err = ERR_peek_last_error(); + + if (ERR_GET_LIB(err) == ERR_LIB_BN && ERR_GET_REASON(err) == BN_R_NO_SOLUTION) + { + ERR_clear_error(); + ECerr(EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES, EC_R_INVALID_COMPRESSED_POINT); + } + else + ECerr(EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES, ERR_R_BN_LIB); + goto err; + } z0 = (BN_is_odd(z)) ? 1 : 0; if (!group->meth->field_mul(group, y, x, z, ctx)) goto err; if (z0 != y_bit) diff --git a/crypto/ec/ec_curve.c b/crypto/ec/ec_curve.c index c5b54c733e..a523b206c7 100644 --- a/crypto/ec/ec_curve.c +++ b/crypto/ec/ec_curve.c @@ -3,7 +3,7 @@ * Written by Nils Larsch for the OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2004 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -102,7 +102,7 @@ static const EC_CURVE_DATA _EC_NIST_PRIME_192 = { "07192b95ffc8da78631011ed6b24cdd573f977a11e794811", "FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831",1, _EC_NIST_PRIME_192_SEED, 20, - "192 bit prime curve from X9.62 and SECG" + "NIST/X9.62/SECG curve over a 192 bit prime field" }; static const unsigned char _EC_NIST_PRIME_224_SEED[] = { @@ -117,7 +117,7 @@ static const EC_CURVE_DATA _EC_NIST_PRIME_224 = { "bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", "FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D",1, _EC_NIST_PRIME_224_SEED, 20, - "SECG/NIST recommended curve over a 224 bit prime field" + "NIST/SECG curve over a 224 bit prime field" }; static const unsigned char _EC_NIST_PRIME_384_SEED[] = { @@ -138,7 +138,7 @@ static const EC_CURVE_DATA _EC_NIST_PRIME_384 = { "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0" "DB248B0A77AECEC196ACCC52973",1, _EC_NIST_PRIME_384_SEED, 20, - "SECG/NIST recommended curve over a 384 bit prime field" + "NIST/SECG curve over a 384 bit prime field" }; static const unsigned char _EC_NIST_PRIME_521_SEED[] = { @@ -159,7 +159,7 @@ static const EC_CURVE_DATA _EC_NIST_PRIME_521 = { "1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51" "868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409",1, _EC_NIST_PRIME_521_SEED, 20, - "SECG/NIST recommended curve over a 521 bit prime field" + "NIST/SECG curve over a 521 bit prime field" }; /* the x9.62 prime curves (minus the nist prime curves) */ static const unsigned char _EC_X9_62_PRIME_192V2_SEED[] = { @@ -174,7 +174,7 @@ static const EC_CURVE_DATA _EC_X9_62_PRIME_192V2 = { "6574d11d69b6ec7a672bb82a083df2f2b0847de970b2de15", "FFFFFFFFFFFFFFFFFFFFFFFE5FB1A724DC80418648D8DD31",1, _EC_X9_62_PRIME_192V2_SEED, 20, - "192 bit prime curve from X9.62" + "X9.62 curve over a 192 bit prime field" }; static const unsigned char _EC_X9_62_PRIME_192V3_SEED[] = { @@ -189,7 +189,7 @@ static const EC_CURVE_DATA _EC_X9_62_PRIME_192V3 = { "38a90f22637337334b49dcb66a6dc8f9978aca7648a943b0", "FFFFFFFFFFFFFFFFFFFFFFFF7A62D031C83F4294F640EC13",1, _EC_X9_62_PRIME_192V3_SEED, 20, - "192 bit prime curve from X9.62" + "X9.62 curve over a 192 bit prime field" }; static const unsigned char _EC_X9_62_PRIME_239V1_SEED[] = { @@ -204,7 +204,7 @@ static const EC_CURVE_DATA _EC_X9_62_PRIME_239V1 = { "7debe8e4e90a5dae6e4054ca530ba04654b36818ce226b39fccb7b02f1ae", "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFF9E5E9A9F5D9071FBD1522688909D0B",1, _EC_X9_62_PRIME_239V1_SEED, 20, - "239 bit prime curve from X9.62" + "X9.62 curve over a 239 bit prime field" }; static const unsigned char _EC_X9_62_PRIME_239V2_SEED[] = { @@ -219,7 +219,7 @@ static const EC_CURVE_DATA _EC_X9_62_PRIME_239V2 = { "5b0125e4dbea0ec7206da0fc01d9b081329fb555de6ef460237dff8be4ba", "7FFFFFFFFFFFFFFFFFFFFFFF800000CFA7E8594377D414C03821BC582063",1, _EC_X9_62_PRIME_239V2_SEED, 20, - "239 bit prime curve from X9.62" + "X9.62 curve over a 239 bit prime field" }; static const unsigned char _EC_X9_62_PRIME_239V3_SEED[] = { @@ -234,7 +234,7 @@ static const EC_CURVE_DATA _EC_X9_62_PRIME_239V3 = { "1607e6898f390c06bc1d552bad226f3b6fcfe48b6e818499af18e3ed6cf3", "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFF975DEB41B3A6057C3C432146526551",1, _EC_X9_62_PRIME_239V3_SEED, 20, - "239 bit prime curve from X9.62" + "X9.62 curve over a 239 bit prime field" }; static const unsigned char _EC_X9_62_PRIME_256V1_SEED[] = { @@ -249,7 +249,7 @@ static const EC_CURVE_DATA _EC_X9_62_PRIME_256V1 = { "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5", "FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551",1, _EC_X9_62_PRIME_256V1_SEED, 20, - "256 bit prime curve from X9.62 and SECG" + "X9.62/SECG curve over a 256 bit prime field" }; /* the secg prime curves (minus the nist and x9.62 prime curves) */ static const unsigned char _EC_SECG_PRIME_112R1_SEED[] = { @@ -264,7 +264,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_112R1 = { "a89ce5af8724c0a23e0e0ff77500", "DB7C2ABF62E35E7628DFAC6561C5",1, _EC_SECG_PRIME_112R1_SEED, 20, - "SECG/WTLS recommended curve over a 112 bit prime field" + "SECG/WTLS curve over a 112 bit prime field" }; static const unsigned char _EC_SECG_PRIME_112R2_SEED[] = { @@ -279,7 +279,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_112R2 = { "adcd46f5882e3747def36e956e97", "36DF0AAFD8B8D7597CA10520D04B",4, _EC_SECG_PRIME_112R2_SEED, 20, - "SECG recommended curve over a 112 bit prime field" + "SECG curve over a 112 bit prime field" }; static const unsigned char _EC_SECG_PRIME_128R1_SEED[] = { @@ -294,7 +294,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_128R1 = { "cf5ac8395bafeb13c02da292dded7a83", "FFFFFFFE0000000075A30D1B9038A115",1, _EC_SECG_PRIME_128R1_SEED, 20, - "SECG recommended curve over a 128 bit prime field" + "SECG curve over a 128 bit prime field" }; static const unsigned char _EC_SECG_PRIME_128R2_SEED[] = { @@ -309,7 +309,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_128R2 = { "27b6916a894d3aee7106fe805fc34b44", "3FFFFFFF7FFFFFFFBE0024720613B5A3",4, _EC_SECG_PRIME_128R2_SEED, 20, - "SECG recommended curve over a 128 bit prime field" + "SECG curve over a 128 bit prime field" }; static const EC_CURVE_DATA _EC_SECG_PRIME_160K1 = { @@ -321,7 +321,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_160K1 = { "938cf935318fdced6bc28286531733c3f03c4fee", "0100000000000000000001B8FA16DFAB9ACA16B6B3",1, NULL, 0, - "SECG recommended curve over a 160 bit prime field" + "SECG curve over a 160 bit prime field" }; static const unsigned char _EC_SECG_PRIME_160R1_SEED[] = { @@ -336,7 +336,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_160R1 = { "23a628553168947d59dcc912042351377ac5fb32", "0100000000000000000001F4C8F927AED3CA752257",1, _EC_SECG_PRIME_160R1_SEED, 20, - "SECG recommended curve over a 160 bit prime field" + "SECG curve over a 160 bit prime field" }; static const unsigned char _EC_SECG_PRIME_160R2_SEED[] = { @@ -351,7 +351,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_160R2 = { "feaffef2e331f296e071fa0df9982cfea7d43f2e", "0100000000000000000000351EE786A818F3A1A16B",1, _EC_SECG_PRIME_160R2_SEED, 20, - "SECG/WTLS recommended curve over a 160 bit prime field" + "SECG/WTLS curve over a 160 bit prime field" }; static const EC_CURVE_DATA _EC_SECG_PRIME_192K1 = { @@ -363,7 +363,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_192K1 = { "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d", "FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D",1, NULL, 20, - "SECG recommended curve over a 192 bit prime field" + "SECG curve over a 192 bit prime field" }; static const EC_CURVE_DATA _EC_SECG_PRIME_224K1 = { @@ -375,7 +375,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_224K1 = { "7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5", "010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7",1, NULL, 20, - "SECG recommended curve over a 224 bit prime field" + "SECG curve over a 224 bit prime field" }; static const EC_CURVE_DATA _EC_SECG_PRIME_256K1 = { @@ -387,7 +387,7 @@ static const EC_CURVE_DATA _EC_SECG_PRIME_256K1 = { "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141",1, NULL, 20, - "SECG recommended curve over a 256 bit prime field" + "SECG curve over a 256 bit prime field" }; /* some wap/wtls curves */ @@ -400,7 +400,7 @@ static const EC_CURVE_DATA _EC_WTLS_8 = { "2", "0100000000000001ECEA551AD837E9",1, NULL, 20, - "112 bit prime curve from the WTLS standard" + "WTLS curve over a 112 bit prime field" }; static const EC_CURVE_DATA _EC_WTLS_9 = { @@ -412,7 +412,7 @@ static const EC_CURVE_DATA _EC_WTLS_9 = { "2", "0100000000000000000001CDC98AE0E2DE574ABF33",1, NULL, 20, - "160 bit prime curve from the WTLS standard" + "WTLS curve over a 160 bit prime field" }; static const EC_CURVE_DATA _EC_WTLS_12 = { @@ -424,7 +424,7 @@ static const EC_CURVE_DATA _EC_WTLS_12 = { "bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", "FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D", 1, NULL, 0, - "224 bit prime curve from the WTLS standard" + "WTLS curvs over a 224 bit prime field" }; /* characteristic two curves */ @@ -440,7 +440,7 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_113R1 = { "00A52830277958EE84D1315ED31886", "0100000000000000D9CCEC8A39E56F", 2, _EC_SECG_CHAR2_113R1_SEED, 20, - "SECG recommended curve over a 113 bit binary field" + "SECG curve over a 113 bit binary field" }; static const unsigned char _EC_SECG_CHAR2_113R2_SEED[] = { @@ -455,7 +455,7 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_113R2 = { "00B3ADC94ED1FE674C06E695BABA1D", "010000000000000108789B2496AF93", 2, _EC_SECG_CHAR2_113R2_SEED, 20, - "SECG recommended curve over a 113 bit binary field" + "SECG curve over a 113 bit binary field" }; static const unsigned char _EC_SECG_CHAR2_131R1_SEED[] = { @@ -470,7 +470,7 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_131R1 = { "078C6E7EA38C001F73C8134B1B4EF9E150", "0400000000000000023123953A9464B54D", 2, _EC_SECG_CHAR2_131R1_SEED, 20, - "SECG/WTLS recommended curve over a 131 bit binary field" + "SECG/WTLS curve over a 131 bit binary field" }; static const unsigned char _EC_SECG_CHAR2_131R2_SEED[] = { @@ -485,10 +485,10 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_131R2 = { "0648F06D867940A5366D9E265DE9EB240F", "0400000000000000016954A233049BA98F", 2, _EC_SECG_CHAR2_131R2_SEED, 20, - "SECG recommended curve over a 131 bit binary field" + "SECG curve over a 131 bit binary field" }; -static const EC_CURVE_DATA _EC_SECG_CHAR2_163K1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_163K = { NID_X9_62_characteristic_two_field, "0800000000000000000000000000000000000000C9", "1", @@ -497,7 +497,7 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_163K1 = { "0289070FB05D38FF58321F2E800536D538CCDAA3D9", "04000000000000000000020108A2E0CC0D99F8A5EF", 2, NULL, 0, - "\n\tSECG/NIST/WTLS recommended curve over a 163 bit binary field" + "NIST/SECG/WTLS curve over a 163 bit binary field" }; static const unsigned char _EC_SECG_CHAR2_163R1_SEED[] = { @@ -520,13 +520,13 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_163R1 = { #else NULL, 0, #endif - "SECG recommended curve over a 163 bit binary field" + "SECG curve over a 163 bit binary field" }; -static const unsigned char _EC_SECG_CHAR2_163R2_SEED[] = { +static const unsigned char _EC_NIST_CHAR2_163B_SEED[] = { 0x85,0xE2,0x5B,0xFE,0x5C,0x86,0x22,0x6C,0xDB,0x12, 0x01,0x6F,0x75,0x53,0xF9,0xD0,0xE6,0x93,0xA2,0x68}; -static const EC_CURVE_DATA _EC_SECG_CHAR2_163R2 ={ +static const EC_CURVE_DATA _EC_NIST_CHAR2_163B ={ NID_X9_62_characteristic_two_field, "0800000000000000000000000000000000000000C9", "1", @@ -538,11 +538,11 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_163R2 ={ * basis representation (and not the polynomial representation used here) */ #if 0 - _EC_SECG_CHAR2_163R2_SEED, 20, + _EC_NIST_CHAR2_163B_SEED, 20, #else NULL, 0, #endif - "SECG/NIST recommended curve over a 163 bit binary field" + "NIST/SECG curve over a 163 bit binary field" }; static const unsigned char _EC_SECG_CHAR2_193R1_SEED[] = { @@ -557,7 +557,7 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_193R1 = { "0025E399F2903712CCF3EA9E3A1AD17FB0B3201B6AF7CE1B05", "01000000000000000000000000C7F34A778F443ACC920EBA49", 2, _EC_SECG_CHAR2_193R1_SEED, 20, - "SECG recommended curve over a 193 bit binary field" + "SECG curve over a 193 bit binary field" }; static const unsigned char _EC_SECG_CHAR2_193R2_SEED[] = { @@ -572,10 +572,10 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_193R2 = { "01CE94335607C304AC29E7DEFBD9CA01F596F927224CDECF6C", "010000000000000000000000015AAB561B005413CCD4EE99D5", 2, _EC_SECG_CHAR2_193R2_SEED, 20, - "SECG recommended curve over a 193 bit binary field" + "SECG curve over a 193 bit binary field" }; -static const EC_CURVE_DATA _EC_SECG_CHAR2_233K1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_233K = { NID_X9_62_characteristic_two_field, "020000000000000000000000000000000000000004000000000000000001", "0", @@ -584,13 +584,13 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_233K1 = { "01DB537DECE819B7F70F555A67C427A8CD9BF18AEB9B56E0C11056FAE6A3", "008000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF", 4, NULL, 0, - "\n\tSECG/NIST/WTLS recommended curve over a 233 bit binary field" + "NIST/SECG/WTLS curve over a 233 bit binary field" }; -static const unsigned char _EC_SECG_CHAR2_233R1_SEED[] = { +static const unsigned char _EC_NIST_CHAR2_233B_SEED[] = { 0x74,0xD5,0x9F,0xF0,0x7F,0x6B,0x41,0x3D,0x0E,0xA1, 0x4B,0x34,0x4B,0x20,0xA2,0xDB,0x04,0x9B,0x50,0xC3}; -static const EC_CURVE_DATA _EC_SECG_CHAR2_233R1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_233B = { NID_X9_62_characteristic_two_field, "020000000000000000000000000000000000000004000000000000000001", "000000000000000000000000000000000000000000000000000000000001", @@ -598,8 +598,8 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_233R1 = { "00FAC9DFCBAC8313BB2139F1BB755FEF65BC391F8B36F8F8EB7371FD558B", "01006A08A41903350678E58528BEBF8A0BEFF867A7CA36716F7E01F81052", "01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7", 2, - _EC_SECG_CHAR2_233R1_SEED, 20, - "\n\tSECG/NIST/WTLS recommended curve over a 233 bit binary field" + _EC_NIST_CHAR2_233B_SEED, 20, + "NIST/SECG/WTLS curve over a 233 bit binary field" }; static const EC_CURVE_DATA _EC_SECG_CHAR2_239K1 = { @@ -611,10 +611,10 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_239K1 = { "76310804F12E549BDB011C103089E73510ACB275FC312A5DC6B76553F0CA", "2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5", 4, NULL, 0, - "SECG recommended curve over a 239 bit binary field" + "SECG curve over a 239 bit binary field" }; -static const EC_CURVE_DATA _EC_SECG_CHAR2_283K1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_283K = { NID_X9_62_characteristic_two_field, "080000000000000000000000000000000000000000000000000000000000000000001" "0A1", @@ -627,13 +627,13 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_283K1 = { "01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163" "C61", 4, NULL, 20, - "SECG/NIST recommended curve over a 283 bit binary field" + "NIST/SECG curve over a 283 bit binary field" }; -static const unsigned char _EC_SECG_CHAR2_283R1_SEED[] = { +static const unsigned char _EC_NIST_CHAR2_283B_SEED[] = { 0x77,0xE2,0xB0,0x73,0x70,0xEB,0x0F,0x83,0x2A,0x6D, 0xD5,0xB6,0x2D,0xFC,0x88,0xCD,0x06,0xBB,0x84,0xBE}; -static const EC_CURVE_DATA _EC_SECG_CHAR2_283R1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_283B = { NID_X9_62_characteristic_two_field, "080000000000000000000000000000000000000000000000000000000000000000001" "0A1", @@ -647,11 +647,11 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_283R1 = { "2F4", "03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB" "307", 2, - _EC_SECG_CHAR2_283R1_SEED, 20, - "SECG/NIST recommended curve over a 283 bit binary field" + _EC_NIST_CHAR2_283B_SEED, 20, + "NIST/SECG curve over a 283 bit binary field" }; -static const EC_CURVE_DATA _EC_SECG_CHAR2_409K1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_409K = { NID_X9_62_characteristic_two_field, "020000000000000000000000000000000000000000000000000000000000000000000" "00000000000008000000000000000000001", @@ -664,13 +664,13 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_409K1 = { "007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400" "EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF", 4, NULL, 0, - "SECG/NIST recommended curve over a 409 bit binary field" + "NIST/SECG curve over a 409 bit binary field" }; -static const unsigned char _EC_SECG_CHAR2_409R1_SEED[] = { +static const unsigned char _EC_NIST_CHAR2_409B_SEED[] = { 0x40,0x99,0xB5,0xA4,0x57,0xF9,0xD6,0x9F,0x79,0x21, 0x3D,0x09,0x4C,0x4B,0xCD,0x4D,0x42,0x62,0x21,0x0B}; -static const EC_CURVE_DATA _EC_SECG_CHAR2_409R1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_409B = { NID_X9_62_characteristic_two_field, "020000000000000000000000000000000000000000000000000000000000000000000" "00000000000008000000000000000000001", @@ -684,11 +684,11 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_409R1 = { "F1FDF4B4F40D2181B3681C364BA0273C706", "010000000000000000000000000000000000000000000000000001E2AAD6A612F3330" "7BE5FA47C3C9E052F838164CD37D9A21173", 2, - _EC_SECG_CHAR2_409R1_SEED, 20, - "SECG/NIST recommended curve over a 409 bit binary field" + _EC_NIST_CHAR2_409B_SEED, 20, + "NIST/SECG curve over a 409 bit binary field" }; -static const EC_CURVE_DATA _EC_SECG_CHAR2_571K1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_571K = { NID_X9_62_characteristic_two_field, "800000000000000000000000000000000000000000000000000000000000000000000" "000000000000000000000000000000000000000000000000000000000000000000000" @@ -705,13 +705,13 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_571K1 = { "000131850E1F19A63E4B391A8DB917F4138B630D84BE5D639381E91DEB45CFE778F63" "7C1001", 4, NULL, 0, - "SECG/NIST recommended curve over a 571 bit binary field" + "NIST/SECG curve over a 571 bit binary field" }; -static const unsigned char _EC_SECG_CHAR2_571R1_SEED[] = { +static const unsigned char _EC_NIST_CHAR2_571B_SEED[] = { 0x2A,0xA0,0x58,0xF7,0x3A,0x0E,0x33,0xAB,0x48,0x6B, 0x0F,0x61,0x04,0x10,0xC5,0x3A,0x7F,0x13,0x23,0x10}; -static const EC_CURVE_DATA _EC_SECG_CHAR2_571R1 = { +static const EC_CURVE_DATA _EC_NIST_CHAR2_571B = { NID_X9_62_characteristic_two_field, "800000000000000000000000000000000000000000000000000000000000000000000" "000000000000000000000000000000000000000000000000000000000000000000000" @@ -731,8 +731,8 @@ static const EC_CURVE_DATA _EC_SECG_CHAR2_571R1 = { "03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" "FFFE661CE18FF55987308059B186823851EC7DD9CA1161DE93D5174D66E8382E9BB2F" "E84E47", 2, - _EC_SECG_CHAR2_571R1_SEED, 20, - "SECG/NIST recommended curve over a 571 bit binary field" + _EC_NIST_CHAR2_571B_SEED, 20, + "NIST/SECG curve over a 571 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_163V1_SEED[] = { @@ -747,7 +747,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_163V1 = { "01EC23211B5966ADEA1D3F87F7EA5848AEF0B7CA9F", "0400000000000000000001E60FC8821CC74DAEAFC1", 2, _EC_X9_62_CHAR2_163V1_SEED, 20, - "163 bit binary curve from X9.62" + "X9.62 curve over a 163 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_163V2_SEED[] = { @@ -762,7 +762,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_163V2 = { "079F684DDF6684C5CD258B3890021B2386DFD19FC5", "03FFFFFFFFFFFFFFFFFFFDF64DE1151ADBB78F10A7", 2, _EC_X9_62_CHAR2_163V2_SEED, 20, - "163 bit binary curve from X9.62" + "X9.62 curve over a 163 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_163V3_SEED[] = { @@ -777,7 +777,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_163V3 = { "05B935590C155E17EA48EB3FF3718B893DF59A05D0", "03FFFFFFFFFFFFFFFFFFFE1AEE140F110AFF961309", 2, _EC_X9_62_CHAR2_163V3_SEED, 20, - "163 bit binary curve from X9.62" + "X9.62 curve over a 163 bit binary field" }; static const EC_CURVE_DATA _EC_X9_62_CHAR2_176V1 = { @@ -789,7 +789,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_176V1 = { "6FA4539C2DADDDD6BAB5167D61B436E1D92BB16A562C", "00010092537397ECA4F6145799D62B0A19CE06FE26AD", 0xFF6E, NULL, 0, - "176 bit binary curve from X9.62" + "X9.62 curve over a 176 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_191V1_SEED[] = { @@ -804,7 +804,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_191V1 = { "765BE73433B3F95E332932E70EA245CA2418EA0EF98018FB", "40000000000000000000000004A20E90C39067C893BBB9A5", 2, _EC_X9_62_CHAR2_191V1_SEED, 20, - "191 bit binary curve from X9.62" + "X9.62 curve over a 191 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_191V2_SEED[] = { @@ -819,7 +819,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_191V2 = { "17434386626D14F3DBF01760D9213A3E1CF37AEC437D668A", "20000000000000000000000050508CB89F652824E06B8173", 4, _EC_X9_62_CHAR2_191V2_SEED, 20, - "191 bit binary curve from X9.62" + "X9.62 curve over a 191 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_191V3_SEED[] = { @@ -834,7 +834,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_191V3 = { "545A39176196575D985999366E6AD34CE0A77CD7127B06BE", "155555555555555555555555610C0B196812BFB6288A3EA3", 6, _EC_X9_62_CHAR2_191V3_SEED, 20, - "191 bit binary curve from X9.62" + "X9.62 curve over a 191 bit binary field" }; static const EC_CURVE_DATA _EC_X9_62_CHAR2_208W1 = { @@ -846,7 +846,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_208W1 = { "0F55B51A06E78E9AC38A035FF520D8B01781BEB1A6BB08617DE3", "000101BAF95C9723C57B6C21DA2EFF2D5ED588BDD5717E212F9D", 0xFE48, NULL, 0, - "208 bit binary curve from X9.62" + "X9.62 curve over a 208 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_239V1_SEED[] = { @@ -861,7 +861,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_239V1 = { "61D8EE5077C33FECF6F1A16B268DE469C3C7744EA9A971649FC7A9616305", "2000000000000000000000000000000F4D42FFE1492A4993F1CAD666E447", 4, _EC_X9_62_CHAR2_239V1_SEED, 20, - "239 bit binary curve from X9.62" + "X9.62 curve over a 239 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_239V2_SEED[] = { @@ -876,7 +876,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_239V2 = { "5667334C45AFF3B5A03BAD9DD75E2C71A99362567D5453F7FA6E227EC833", "1555555555555555555555555555553C6F2885259C31E3FCDF154624522D", 6, _EC_X9_62_CHAR2_239V2_SEED, 20, - "239 bit binary curve from X9.62" + "X9.62 curve over a 239 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_239V3_SEED[] = { @@ -891,7 +891,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_239V3 = { "2E5A0EAF6E5E1305B9004DCE5C0ED7FE59A35608F33837C816D80B79F461", "0CCCCCCCCCCCCCCCCCCCCCCCCCCCCCAC4912D2D9DF903EF9888B8A0E4CFF", 0xA, _EC_X9_62_CHAR2_239V3_SEED, 20, - "239 bit binary curve from X9.62" + "X9.62 curve over a 239 bit binary field" }; static const EC_CURVE_DATA _EC_X9_62_CHAR2_272W1 = { @@ -905,7 +905,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_272W1 = { "000100FAF51354E0E39E4892DF6E319C72C8161603FA45AA7B998A167B8F1E629521", 0xFF06, NULL, 0, - "272 bit binary curve from X9.62" + "X9.62 curve over a 272 bit binary field" }; static const EC_CURVE_DATA _EC_X9_62_CHAR2_304W1 = { @@ -923,7 +923,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_304W1 = { "000101D556572AABAC800101D556572AABAC8001022D5C91DD173F8FB561DA6899164" "443051D", 0xFE2E, NULL, 0, - "304 bit binary curve from X9.62" + "X9.62 curve over a 304 bit binary field" }; static const unsigned char _EC_X9_62_CHAR2_359V1_SEED[] = { @@ -944,7 +944,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_359V1 = { "01AF286BCA1AF286BCA1AF286BCA1AF286BCA1AF286BC9FB8F6B85C556892C20A7EB9" "64FE7719E74F490758D3B", 0x4C, _EC_X9_62_CHAR2_359V1_SEED, 20, - "359 bit binary curve from X9.62" + "X9.62 curve over a 359 bit binary field" }; static const EC_CURVE_DATA _EC_X9_62_CHAR2_368W1 = { @@ -962,7 +962,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_368W1 = { "00010090512DA9AF72B08349D98A5DD4C7B0532ECA51CE03E2D10F3B7AC579BD87E90" "9AE40A6F131E9CFCE5BD967", 0xFF70, NULL, 0, - "368 bit binary curve from X9.62" + "X9.62 curve over a 368 bit binary field" }; static const EC_CURVE_DATA _EC_X9_62_CHAR2_431R1 = { @@ -980,7 +980,7 @@ static const EC_CURVE_DATA _EC_X9_62_CHAR2_431R1 = { "0340340340340340340340340340340340340340340340340340340323C313FAB5058" "9703B5EC68D3587FEC60D161CC149C1AD4A91", 0x2760, NULL, 0, - "431 bit binary curve from X9.62" + "X9.62 curve over a 431 bit binary field" }; static const EC_CURVE_DATA _EC_WTLS_1 = { @@ -992,7 +992,7 @@ static const EC_CURVE_DATA _EC_WTLS_1 = { "00F44B4AF1ECC2630E08785CEBCC15", "00FFFFFFFFFFFFFFFDBF91AF6DEA73", 2, NULL, 0, - "113 bit binary curve from the WTLS standard" + "WTLS curve over a 113 bit binary field" }; /* IPSec curves */ @@ -1064,25 +1064,25 @@ static const ec_list_element curve_list[] = { { NID_X9_62_prime239v3, &_EC_X9_62_PRIME_239V3}, { NID_X9_62_prime256v1, &_EC_X9_62_PRIME_256V1}, /* characteristic two field curves */ - /* secg curves */ + /* NIST/SECG curves */ { NID_sect113r1, &_EC_SECG_CHAR2_113R1}, { NID_sect113r2, &_EC_SECG_CHAR2_113R2}, { NID_sect131r1, &_EC_SECG_CHAR2_131R1}, { NID_sect131r2, &_EC_SECG_CHAR2_131R2}, - { NID_sect163k1, &_EC_SECG_CHAR2_163K1}, + { NID_sect163k1, &_EC_NIST_CHAR2_163K }, { NID_sect163r1, &_EC_SECG_CHAR2_163R1}, - { NID_sect163r2, &_EC_SECG_CHAR2_163R2}, + { NID_sect163r2, &_EC_NIST_CHAR2_163B }, { NID_sect193r1, &_EC_SECG_CHAR2_193R1}, { NID_sect193r2, &_EC_SECG_CHAR2_193R2}, - { NID_sect233k1, &_EC_SECG_CHAR2_233K1}, - { NID_sect233r1, &_EC_SECG_CHAR2_233R1}, + { NID_sect233k1, &_EC_NIST_CHAR2_233K }, + { NID_sect233r1, &_EC_NIST_CHAR2_233B }, { NID_sect239k1, &_EC_SECG_CHAR2_239K1}, - { NID_sect283k1, &_EC_SECG_CHAR2_283K1}, - { NID_sect283r1, &_EC_SECG_CHAR2_283R1}, - { NID_sect409k1, &_EC_SECG_CHAR2_409K1}, - { NID_sect409r1, &_EC_SECG_CHAR2_409R1}, - { NID_sect571k1, &_EC_SECG_CHAR2_571K1}, - { NID_sect571r1, &_EC_SECG_CHAR2_571R1}, + { NID_sect283k1, &_EC_NIST_CHAR2_283K }, + { NID_sect283r1, &_EC_NIST_CHAR2_283B }, + { NID_sect409k1, &_EC_NIST_CHAR2_409K }, + { NID_sect409r1, &_EC_NIST_CHAR2_409B }, + { NID_sect571k1, &_EC_NIST_CHAR2_571K }, + { NID_sect571r1, &_EC_NIST_CHAR2_571B }, /* X9.62 curves */ { NID_X9_62_c2pnb163v1, &_EC_X9_62_CHAR2_163V1}, { NID_X9_62_c2pnb163v2, &_EC_X9_62_CHAR2_163V2}, @@ -1102,15 +1102,15 @@ static const ec_list_element curve_list[] = { { NID_X9_62_c2tnb431r1, &_EC_X9_62_CHAR2_431R1}, /* the WAP/WTLS curves */ { NID_wap_wsg_idm_ecid_wtls1, &_EC_WTLS_1}, - { NID_wap_wsg_idm_ecid_wtls3, &_EC_SECG_CHAR2_163K1}, + { NID_wap_wsg_idm_ecid_wtls3, &_EC_NIST_CHAR2_163K}, { NID_wap_wsg_idm_ecid_wtls4, &_EC_SECG_CHAR2_113R1}, { NID_wap_wsg_idm_ecid_wtls5, &_EC_X9_62_CHAR2_163V1}, { NID_wap_wsg_idm_ecid_wtls6, &_EC_SECG_PRIME_112R1}, { NID_wap_wsg_idm_ecid_wtls7, &_EC_SECG_PRIME_160R2}, { NID_wap_wsg_idm_ecid_wtls8, &_EC_WTLS_8}, { NID_wap_wsg_idm_ecid_wtls9, &_EC_WTLS_9 }, - { NID_wap_wsg_idm_ecid_wtls10, &_EC_SECG_CHAR2_233K1}, - { NID_wap_wsg_idm_ecid_wtls11, &_EC_SECG_CHAR2_233R1}, + { NID_wap_wsg_idm_ecid_wtls10, &_EC_NIST_CHAR2_233K}, + { NID_wap_wsg_idm_ecid_wtls11, &_EC_NIST_CHAR2_233B}, { NID_wap_wsg_idm_ecid_wtls12, &_EC_WTLS_12}, /* IPSec curves */ { NID_ipsec3, &_EC_IPSEC_155_ID3}, diff --git a/crypto/ec/ecp_smpl.c b/crypto/ec/ecp_smpl.c index 9937719520..87ebf7b89e 100644 --- a/crypto/ec/ecp_smpl.c +++ b/crypto/ec/ecp_smpl.c @@ -640,6 +640,9 @@ int ec_GFp_simple_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *po BIGNUM *tmp1, *tmp2, *x, *y; int ret = 0; + /* clear error queue*/ + ERR_clear_error(); + if (ctx == NULL) { ctx = new_ctx = BN_CTX_new(); @@ -711,11 +714,11 @@ int ec_GFp_simple_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *po if (!BN_mod_sqrt(y, tmp1, &group->field, ctx)) { - unsigned long err = ERR_peek_error(); + unsigned long err = ERR_peek_last_error(); if (ERR_GET_LIB(err) == ERR_LIB_BN && ERR_GET_REASON(err) == BN_R_NOT_A_SQUARE) { - (void)ERR_get_error(); + ERR_clear_error(); ECerr(EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES, EC_R_INVALID_COMPRESSED_POINT); } else diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c index b532c45de3..36213964dd 100644 --- a/crypto/evp/evp_lib.c +++ b/crypto/evp/evp_lib.c @@ -68,7 +68,7 @@ int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type) if (c->cipher->set_asn1_parameters != NULL) ret=c->cipher->set_asn1_parameters(c,type); else - ret=1; + ret=-1; return(ret); } @@ -79,7 +79,7 @@ int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type) if (c->cipher->get_asn1_parameters != NULL) ret=c->cipher->get_asn1_parameters(c,type); else - ret=1; + ret=-1; return(ret); } diff --git a/crypto/evp/evp_test.c b/crypto/evp/evp_test.c index 28460173f7..2dc8b8c158 100644 --- a/crypto/evp/evp_test.c +++ b/crypto/evp/evp_test.c @@ -162,6 +162,7 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, if(!EVP_EncryptInit_ex(&ctx,c,NULL,key,iv)) { fprintf(stderr,"EncryptInit failed\n"); + ERR_print_errors_fp(stderr); test1_exit(10); } EVP_CIPHER_CTX_set_padding(&ctx,0); @@ -169,11 +170,13 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, if(!EVP_EncryptUpdate(&ctx,out,&outl,plaintext,pn)) { fprintf(stderr,"Encrypt failed\n"); + ERR_print_errors_fp(stderr); test1_exit(6); } if(!EVP_EncryptFinal_ex(&ctx,out+outl,&outl2)) { fprintf(stderr,"EncryptFinal failed\n"); + ERR_print_errors_fp(stderr); test1_exit(7); } @@ -198,6 +201,7 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, if(!EVP_DecryptInit_ex(&ctx,c,NULL,key,iv)) { fprintf(stderr,"DecryptInit failed\n"); + ERR_print_errors_fp(stderr); test1_exit(11); } EVP_CIPHER_CTX_set_padding(&ctx,0); @@ -205,11 +209,13 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, if(!EVP_DecryptUpdate(&ctx,out,&outl,ciphertext,cn)) { fprintf(stderr,"Decrypt failed\n"); + ERR_print_errors_fp(stderr); test1_exit(6); } if(!EVP_DecryptFinal_ex(&ctx,out+outl,&outl2)) { fprintf(stderr,"DecryptFinal failed\n"); + ERR_print_errors_fp(stderr); test1_exit(7); } @@ -272,16 +278,19 @@ static int test_digest(const char *digest, if(!EVP_DigestInit_ex(&ctx,d, NULL)) { fprintf(stderr,"DigestInit failed\n"); + ERR_print_errors_fp(stderr); EXIT(100); } if(!EVP_DigestUpdate(&ctx,plaintext,pn)) { fprintf(stderr,"DigestUpdate failed\n"); + ERR_print_errors_fp(stderr); EXIT(101); } if(!EVP_DigestFinal_ex(&ctx,md,&mdn)) { fprintf(stderr,"DigestFinal failed\n"); + ERR_print_errors_fp(stderr); EXIT(101); } EVP_MD_CTX_cleanup(&ctx); diff --git a/crypto/o_str.c b/crypto/o_str.c index 42b25d078f..7189d13352 100644 --- a/crypto/o_str.c +++ b/crypto/o_str.c @@ -57,9 +57,13 @@ */ #include <ctype.h> -#include <strings.h> -#include "o_str.h" #include <openssl/e_os2.h> +#ifdef OPENSSL_SYS_WINDOWS +# include <string.h> +#else +# include <strings.h> +#endif +#include "o_str.h" #undef strncasecmp #undef strcasecmp diff --git a/crypto/o_str.h b/crypto/o_str.h index 744a6e27d3..4a70a9e00b 100644 --- a/crypto/o_str.h +++ b/crypto/o_str.h @@ -59,7 +59,7 @@ #ifndef HEADER_O_STR_H #define HEADER_O_STR_H -#include <string.h> +#include <stddef.h> /* to get size_t */ int OPENSSL_strcasecmp(const char *str1, const char *str2); int OPENSSL_strncasecmp(const char *str1, const char *str2, size_t n); diff --git a/crypto/pem/pem.h b/crypto/pem/pem.h index 57a2cfe92c..ce5b75c315 100644 --- a/crypto/pem/pem.h +++ b/crypto/pem/pem.h @@ -229,7 +229,7 @@ int PEM_write_##name(FILE *fp, type *x) \ { \ return(PEM_ASN1_write((int (*)())i2d_##asn1,str,fp, (char *)x, \ NULL,NULL,0,NULL,NULL)); \ -} +} #define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ diff --git a/crypto/rand/rand_egd.c b/crypto/rand/rand_egd.c index 3eb36c7e5a..e34f07c5e8 100644 --- a/crypto/rand/rand_egd.c +++ b/crypto/rand/rand_egd.c @@ -95,7 +95,7 @@ * RAND_egd() is a wrapper for RAND_egd_bytes() with numbytes=255. */ -#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) +#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_VOS) int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes) { return(-1); diff --git a/crypto/rc4/Makefile.ssl b/crypto/rc4/Makefile.ssl index 3e602662be..a965c02d94 100644 --- a/crypto/rc4/Makefile.ssl +++ b/crypto/rc4/Makefile.ssl @@ -67,6 +67,8 @@ asm/rx86bsdi.o: asm/rx86unix.cpp asm/rx86unix.cpp: asm/rc4-586.pl ../perlasm/x86asm.pl (cd asm; $(PERL) rc4-586.pl cpp >rx86unix.cpp) +asm/rc4-amd64.s: asm/rc4-amd64.pl; $(PERL) $< $@ + files: $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO diff --git a/crypto/sha/asm/sha512-sse2.pl b/crypto/sha/asm/sha512-sse2.pl index 797aedacd7..0596d5c503 100644 --- a/crypto/sha/asm/sha512-sse2.pl +++ b/crypto/sha/asm/sha512-sse2.pl @@ -23,7 +23,7 @@ # 2.4GHz P4 1.4GHz AMD32 1.4GHz AMD64(*) # SHA256/gcc(*) 54 43 59 # SHA512/gcc 17 23 92 -# SHA512/sse2 54(**) 55(**) +# SHA512/sse2 61(**) 57(**) # SHA512/icc 26 28 # SHA256/icc(*) 65 54 # @@ -81,9 +81,6 @@ sub SHA2_ROUND() &movq ("mm4",&QWP($Foff,$W512)); # load f &movq ("mm5",&QWP($Goff,$W512)); # load g &movq ("mm6",&QWP($Hoff,$W512)); # load h - &movq (&QWP($Foff,$W512),$E); # f = e - &movq (&QWP($Goff,$W512),"mm4"); # g = f - &movq (&QWP($Hoff,$W512),"mm5"); # h = g &movq ("mm2",$E); # %mm2 is sliding right &movq ("mm3",$E); # %mm3 is sliding left @@ -100,6 +97,10 @@ sub SHA2_ROUND() &pxor ("mm7","mm2"); &pxor ("mm7","mm3"); # T1=Sigma1_512(e) + &movq (&QWP($Foff,$W512),$E); # f = e + &movq (&QWP($Goff,$W512),"mm4"); # g = f + &movq (&QWP($Hoff,$W512),"mm5"); # h = g + &pxor ("mm4","mm5"); # f^=g &pand ("mm4",$E); # f&=e &pxor ("mm4","mm5"); # f^=g @@ -108,9 +109,6 @@ sub SHA2_ROUND() &movq ("mm2",&QWP($Boff,$W512)); # load b &movq ("mm3",&QWP($Coff,$W512)); # load c &movq ($E,&QWP($Doff,$W512)); # e = d - &movq (&QWP($Boff,$W512),$A); # b = a - &movq (&QWP($Coff,$W512),"mm2"); # c = b - &movq (&QWP($Doff,$W512),"mm3"); # d = c &paddq ("mm7","mm6"); # T1+=h &paddq ("mm7",&QWP(0,$K512,$kidx,8)); # T1+=K512[i] @@ -132,12 +130,15 @@ sub SHA2_ROUND() &pxor ("mm6","mm4"); &pxor ("mm6","mm5"); # T2=Sigma0_512(a) - &movq ("mm4","mm2"); # %mm4=b - &pand ("mm2",$A); # b&=a - &pand ("mm4","mm3"); # %mm4&=c - &pand ("mm3",$A); # c&=a - &pxor ("mm4","mm2"); # %mm4^=b&a - &pxor ("mm4","mm3"); # %mm4^=c&a + &movq (&QWP($Boff,$W512),$A); # b = a + &movq (&QWP($Coff,$W512),"mm2"); # c = b + &movq (&QWP($Doff,$W512),"mm3"); # d = c + + &movq ("mm4",$A); # %mm4=a + &por ($A,"mm3"); # a=a|c + &pand ("mm4","mm3"); # %mm4=a&c + &pand ($A,"mm2"); # a=(a|c)&b + &por ("mm4",$A); # %mm4=(a&c)|((a|c)&b) &paddq ("mm6","mm4"); # T2+=Maj(a,b,c) &movq ($A,"mm7"); # a=T1 @@ -201,8 +202,6 @@ $func="sha512_block_sse2"; # available memory slots to fill. It will only relieve some # pressure off memory bus... -&align(8); -&set_label("_1st_loop"); # 0-15 # flip input stream byte order... &mov ("eax",&DWP(0,$data,$Widx,8)); &mov ("ebx",&DWP(4,$data,$Widx,8)); @@ -213,10 +212,24 @@ $func="sha512_block_sse2"; &mov (&DWP(128+0,$W512,$Widx,8),"ebx"); # copy of W512[i] &mov (&DWP(128+4,$W512,$Widx,8),"eax"); +&align(8); +&set_label("_1st_loop"); # 0-15 + # flip input stream byte order... + &mov ("eax",&DWP(0+8,$data,$Widx,8)); + &mov ("ebx",&DWP(4+8,$data,$Widx,8)); + &bswap ("eax"); + &bswap ("ebx"); + &mov (&DWP(0+8,$W512,$Widx,8),"ebx"); # W512[i] + &mov (&DWP(4+8,$W512,$Widx,8),"eax"); + &mov (&DWP(128+0+8,$W512,$Widx,8),"ebx"); # copy of W512[i] + &mov (&DWP(128+4+8,$W512,$Widx,8),"eax"); +&set_label("_1st_looplet"); &SHA2_ROUND($Widx,$Widx); &inc($Widx); -&cmp ($Widx,16) +&cmp ($Widx,15) &jl (&label("_1st_loop")); +&je (&label("_1st_looplet")); # playing similar trick on 2nd loop + # does not improve performance... $Kidx = "ebx"; # start using %ebx as Kidx &mov ($Kidx,$Widx); diff --git a/crypto/symhacks.h b/crypto/symhacks.h index 67fa4304b3..40237178d9 100644 --- a/crypto/symhacks.h +++ b/crypto/symhacks.h @@ -157,10 +157,8 @@ #define SSL_get_ex_data_X509_STORE_CTX_idx SSL_get_ex_d_X509_STORE_CTX_idx #undef SSL_add_file_cert_subjects_to_stack #define SSL_add_file_cert_subjects_to_stack SSL_add_file_cert_subjs_to_stk -#if 0 /* This function is not defined i VMS. */ #undef SSL_add_dir_cert_subjects_to_stack #define SSL_add_dir_cert_subjects_to_stack SSL_add_dir_cert_subjs_to_stk -#endif #undef SSL_CTX_use_certificate_chain_file #define SSL_CTX_use_certificate_chain_file SSL_CTX_use_cert_chain_file #undef SSL_CTX_set_cert_verify_callback diff --git a/crypto/x509v3/ext_dat.h b/crypto/x509v3/ext_dat.h index bf693698b7..7be8565189 100644 --- a/crypto/x509v3/ext_dat.h +++ b/crypto/x509v3/ext_dat.h @@ -60,7 +60,8 @@ extern X509V3_EXT_METHOD v3_bcons, v3_nscert, v3_key_usage, v3_ext_ku; extern X509V3_EXT_METHOD v3_pkey_usage_period, v3_sxnet, v3_info, v3_sinfo; extern X509V3_EXT_METHOD v3_ns_ia5_list[], v3_alt[], v3_skey_id, v3_akey_id; -extern X509V3_EXT_METHOD v3_crl_num, v3_crl_reason, v3_crl_invdate, v3_cpols, v3_crld; +extern X509V3_EXT_METHOD v3_crl_num, v3_crl_reason, v3_crl_invdate; +extern X509V3_EXT_METHOD v3_delta_crl, v3_cpols, v3_crld; extern X509V3_EXT_METHOD v3_ocsp_nonce, v3_ocsp_accresp, v3_ocsp_acutoff; extern X509V3_EXT_METHOD v3_ocsp_crlid, v3_ocsp_nocheck, v3_ocsp_serviceloc; extern X509V3_EXT_METHOD v3_crl_hold; @@ -91,6 +92,7 @@ static X509V3_EXT_METHOD *standard_exts[] = { &v3_akey_id, &v3_crld, &v3_ext_ku, +&v3_delta_crl, &v3_crl_reason, #ifndef OPENSSL_NO_OCSP &v3_crl_invdate, diff --git a/crypto/x509v3/pcy_node.c b/crypto/x509v3/pcy_node.c index 254f3484d4..dcc1554e29 100644 --- a/crypto/x509v3/pcy_node.c +++ b/crypto/x509v3/pcy_node.c @@ -56,7 +56,6 @@ * */ -#include <memory.h> #include <openssl/asn1.h> #include <openssl/x509.h> #include <openssl/x509v3.h> diff --git a/crypto/x509v3/v3_int.c b/crypto/x509v3/v3_int.c index fd6bebbb73..85e79c05ca 100644 --- a/crypto/x509v3/v3_int.c +++ b/crypto/x509v3/v3_int.c @@ -67,6 +67,13 @@ X509V3_EXT_METHOD v3_crl_num = { 0, 0,0,0,0, NULL}; +X509V3_EXT_METHOD v3_delta_crl = { + NID_delta_crl, 0, ASN1_ITEM_ref(ASN1_INTEGER), + 0,0,0,0, + (X509V3_EXT_I2S)i2s_ASN1_INTEGER, + 0, + 0,0,0,0, NULL}; + static void * s2i_asn1_int(X509V3_EXT_METHOD *meth, X509V3_CTX *ctx, char *value) { return s2i_ASN1_INTEGER(meth, value); diff --git a/doc/crypto/BN_num_bytes.pod b/doc/crypto/BN_num_bytes.pod index 61589fb9ac..a6a2e3f819 100644 --- a/doc/crypto/BN_num_bytes.pod +++ b/doc/crypto/BN_num_bytes.pod @@ -16,8 +16,14 @@ BN_num_bits, BN_num_bytes, BN_num_bits_word - get BIGNUM size =head1 DESCRIPTION -These functions return the size of a B<BIGNUM> in bytes or bits, -and the size of an unsigned integer in bits. +BN_num_bytes() returns the size of a B<BIGNUM> in bytes. + +BN_num_bits_word() returns the number of significant bits in a word. +If we take 0x00000432 as an example, it returns 11, not 16, not 32. +Basically, except for a zero, it returns I<floor(log2(w))+1>. + +BN_num_bits() returns the number of significant bits in a B<BIGNUM>, +following the same principle as BN_num_bits_word(). BN_num_bytes() is a macro. @@ -25,9 +31,23 @@ BN_num_bytes() is a macro. The size. +=head1 NOTES + +Some have tried using BN_num_bits() on individual numbers in RSA keys, +DH keys and DSA keys, and found that they don't always come up with +the number of bits they expected (something like 512, 1024, 2048, +...). This is because generating a number with some specific number +of bits doesn't always set the highest bits, thereby making the number +of I<significant> bits a little lower. If you want to know the "key +size" of such a key, either use functions like RSA_size(), DH_size() +and DSA_size(), or use BN_num_bytes() and multiply with 8 (although +there's no real guarantee that will match the "key size", just a lot +more probability). + =head1 SEE ALSO -L<bn(3)|bn(3)> +L<bn(3)|bn(3)>, L<DH_size(3)|DH_size(3)>, L<DSA_size(3)|DSA_size(3)>, +L<RSA_size(3)|RSA_size(3)> =head1 HISTORY @@ -195,6 +195,11 @@ extern "C" { # endif #endif +/* --------------------------------- VOS ----------------------------------- */ +#ifdef OPENSSL_SYSNAME_VOS +# define OPENSSL_SYS_VOS +#endif + /* ------------------------------- VxWorks --------------------------------- */ #ifdef OPENSSL_SYSNAME_VXWORKS # define OPENSSL_SYS_VXWORKS diff --git a/makevms.com b/makevms.com index 8033ffc8d7..860540001e 100755 --- a/makevms.com +++ b/makevms.com @@ -365,7 +365,7 @@ $! Copy a lot of files around. $! $ SOFTLINKS: $! -$! Tell The User We Are Partly Rebuilding The [.TEST] Directory. +$! Tell The User We Are Partly Rebuilding The [.APPS] Directory. $! $ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C', '[.APPS]MD5.C' And '[.APPS]RMD160.C' Files." $! @@ -396,6 +396,7 @@ $! $! Copy all the *TEST.C files from [.CRYPTO...] into [.TEST] $! $ COPY SYS$DISK:[.CRYPTO.*]%*TEST.C SYS$DISK:[.TEST] +$ COPY SYS$DISK:[.CRYPTO.SHA]SHA%%%T.C SYS$DISK:[.TEST] $ COPY SYS$DISK:[.CRYPTO.EVP]EVPTESTS.TXT SYS$DISK:[.TEST] $! $! Copy all the *TEST.C files from [.SSL...] into [.TEST] diff --git a/ssl/Makefile.ssl b/ssl/Makefile.ssl index 3adc71e5d8..d82699d18f 100644 --- a/ssl/Makefile.ssl +++ b/ssl/Makefile.ssl @@ -500,26 +500,26 @@ ssl_asn1.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h ssl_asn1.o: ../include/openssl/stack.h ../include/openssl/symhacks.h ssl_asn1.o: ../include/openssl/tls1.h ../include/openssl/x509.h ssl_asn1.o: ../include/openssl/x509_vfy.h ssl_asn1.c ssl_locl.h -ssl_cert.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_cert.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_cert.o: ../include/openssl/comp.h ../include/openssl/conf.h -ssl_cert.o: ../include/openssl/crypto.h ../include/openssl/dh.h -ssl_cert.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h -ssl_cert.o: ../include/openssl/ec.h ../include/openssl/ecdh.h -ssl_cert.o: ../include/openssl/ecdsa.h ../include/openssl/err.h -ssl_cert.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_cert.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_cert.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_cert.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_cert.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_cert.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -ssl_cert.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssl_cert.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssl_cert.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssl_cert.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssl_cert.o: ../include/openssl/tls1.h ../include/openssl/x509.h -ssl_cert.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h -ssl_cert.o: ssl_cert.c ssl_locl.h +ssl_cert.o: ../crypto/o_dir.h ../e_os.h ../include/openssl/asn1.h +ssl_cert.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_cert.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_cert.o: ../include/openssl/conf.h ../include/openssl/crypto.h +ssl_cert.o: ../include/openssl/dh.h ../include/openssl/dsa.h +ssl_cert.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +ssl_cert.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h +ssl_cert.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_cert.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_cert.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_cert.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_cert.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_cert.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_cert.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssl_cert.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssl_cert.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssl_cert.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssl_cert.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssl_cert.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h +ssl_cert.o: ../include/openssl/x509v3.h ssl_cert.c ssl_locl.h ssl_ciph.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h ssl_ciph.o: ../include/openssl/buffer.h ../include/openssl/comp.h ssl_ciph.o: ../include/openssl/crypto.h ../include/openssl/dsa.h diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 258da8b21d..4cab28a200 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -116,19 +116,7 @@ # include <sys/types.h> #endif -#if !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_VMS) && !defined(NeXT) && !defined(MAC_OS_pre_X) -#include <dirent.h> -#endif - -#if defined(WIN32) -#include <windows.h> -#endif - -#ifdef NeXT -#include <sys/dir.h> -#define dirent direct -#endif - +#include "o_dir.h" #include <openssl/objects.h> #include <openssl/bio.h> #include <openssl/pem.h> @@ -761,131 +749,52 @@ err: * certs may have been added to \c stack. */ -#ifndef OPENSSL_SYS_WIN32 -#ifndef OPENSSL_SYS_VMS /* XXXX This may be fixed in the future */ -#ifndef OPENSSL_SYS_MACINTOSH_CLASSIC /* XXXXX: Better scheme needed! */ - int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, const char *dir) { - DIR *d; - struct dirent *dstruct; + OPENSSL_DIR_CTX *d = NULL; + const char *filename; int ret = 0; CRYPTO_w_lock(CRYPTO_LOCK_READDIR); - d = opendir(dir); /* Note that a side effect is that the CAs will be sorted by name */ - if(!d) - { - SYSerr(SYS_F_OPENDIR, get_last_sys_error()); - ERR_add_error_data(3, "opendir('", dir, "')"); - SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, ERR_R_SYS_LIB); - goto err; - } - - while((dstruct=readdir(d))) + + while((filename = OPENSSL_DIR_read(&d, dir))) { char buf[1024]; int r; - - if(strlen(dir)+strlen(dstruct->d_name)+2 > sizeof buf) + + if(strlen(dir)+strlen(filename)+2 > sizeof buf) { SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK,SSL_R_PATH_TOO_LONG); goto err; } - - r = BIO_snprintf(buf,sizeof buf,"%s/%s",dir,dstruct->d_name); + +#ifdef OPENSSL_SYS_VMS + r = BIO_snprintf(buf,sizeof buf,"%s%s",dir,filename); +#else + r = BIO_snprintf(buf,sizeof buf,"%s/%s",dir,filename); +#endif if (r <= 0 || r >= (int)sizeof(buf)) goto err; if(!SSL_add_file_cert_subjects_to_stack(stack,buf)) goto err; } - ret = 1; - -err: - if (d) closedir(d); - CRYPTO_w_unlock(CRYPTO_LOCK_READDIR); - return ret; - } - -#endif -#endif - -#else /* OPENSSL_SYS_WIN32 */ - -int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, - const char *dir) - { - WIN32_FIND_DATA FindFileData; - HANDLE hFind; - int ret = 0; -#ifdef OPENSSL_SYS_WINCE - WCHAR* wdir = NULL; -#endif - - CRYPTO_w_lock(CRYPTO_LOCK_READDIR); - -#ifdef OPENSSL_SYS_WINCE - /* convert strings to UNICODE */ - { - BOOL result = FALSE; - int i; - wdir = malloc((strlen(dir)+1)*2); - if (wdir == NULL) - goto err_noclose; - for (i=0; i<(int)strlen(dir)+1; i++) - wdir[i] = (short)dir[i]; - } -#endif -#ifdef OPENSSL_SYS_WINCE - hFind = FindFirstFile(wdir, &FindFileData); -#else - hFind = FindFirstFile(dir, &FindFileData); -#endif - /* Note that a side effect is that the CAs will be sorted by name */ - if(hFind == INVALID_HANDLE_VALUE) + if (errno) { SYSerr(SYS_F_OPENDIR, get_last_sys_error()); - ERR_add_error_data(3, "opendir('", dir, "')"); + ERR_add_error_data(3, "OPENSSL_DIR_read(&ctx, '", dir, "')"); SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, ERR_R_SYS_LIB); - goto err_noclose; - } - - do - { - char buf[1024]; - int r; - -#ifdef OPENSSL_SYS_WINCE - if(strlen(dir)+_tcslen(FindFileData.cFileName)+2 > sizeof buf) -#else - if(strlen(dir)+strlen(FindFileData.cFileName)+2 > sizeof buf) -#endif - { - SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK,SSL_R_PATH_TOO_LONG); - goto err; - } - - r = BIO_snprintf(buf,sizeof buf,"%s/%s",dir,FindFileData.cFileName); - if (r <= 0 || r >= sizeof buf) - goto err; - if(!SSL_add_file_cert_subjects_to_stack(stack,buf)) - goto err; + goto err; } - while (FindNextFile(hFind, &FindFileData) != FALSE); + ret = 1; err: - FindClose(hFind); -err_noclose: -#ifdef OPENSSL_SYS_WINCE - if (wdir != NULL) - free(wdir); -#endif + if (d) OPENSSL_DIR_end(&d); CRYPTO_w_unlock(CRYPTO_LOCK_READDIR); return ret; } -#endif diff --git a/test/Makefile.ssl b/test/Makefile.ssl index de522ed72d..b5c23a639f 100644 --- a/test/Makefile.ssl +++ b/test/Makefile.ssl @@ -68,16 +68,16 @@ EVPTEST= evp_test TESTS= alltests -EXE= $(BNTEST) $(ECTEST) $(ECDSATEST) $(ECDHTEST) $(IDEATEST) \ - $(MD2TEST) $(MD4TEST) $(MD5TEST) $(HMACTEST) \ - $(RC2TEST) $(RC4TEST) $(RC5TEST) \ - $(DESTEST) $(SHATEST) $(SHA1TEST) $(SHA256TEST) $(SHA512TEST) \ - $(MDC2TEST) $(RMDTEST) \ - $(RANDTEST) $(DHTEST) $(ENGINETEST) \ - $(BFTEST) $(CASTTEST) $(SSLTEST) $(EXPTEST) $(DSATEST) $(RSATEST) \ - $(EVPTEST) +EXE= $(BNTEST)$(EXE_EXT) $(ECTEST)$(EXE_EXT) $(ECDSATEST)$(EXE_EXT) $(ECDHTEST)$(EXE_EXT) $(IDEATEST)$(EXE_EXT) \ + $(MD2TEST)$(EXE_EXT) $(MD4TEST)$(EXE_EXT) $(MD5TEST)$(EXE_EXT) $(HMACTEST)$(EXE_EXT) \ + $(RC2TEST)$(EXE_EXT) $(RC4TEST)$(EXE_EXT) $(RC5TEST)$(EXE_EXT) \ + $(DESTEST)$(EXE_EXT) $(SHATEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT) \ + $(MDC2TEST)$(EXE_EXT) $(RMDTEST)$(EXE_EXT) \ + $(RANDTEST)$(EXE_EXT) $(DHTEST)$(EXE_EXT) $(ENGINETEST)$(EXE_EXT) \ + $(BFTEST)$(EXE_EXT) $(CASTTEST)$(EXE_EXT) $(SSLTEST)$(EXE_EXT) $(EXPTEST)$(EXE_EXT) $(DSATEST)$(EXE_EXT) $(RSATEST)$(EXE_EXT) \ + $(EVPTEST)$(EXE_EXT) -# $(METHTEST) +# $(METHTEST)$(EXE_EXT) OBJ= $(BNTEST).o $(ECTEST).o $(ECDSATEST).o $(ECDHTEST).o $(IDEATEST).o \ $(MD2TEST).o $(MD4TEST).o $(MD5TEST).o \ @@ -107,7 +107,7 @@ top: all: exe -exe: $(EXE) dummytest +exe: $(EXE) dummytest$(EXE_EXT) files: $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO @@ -310,7 +310,7 @@ $(DLIBSSL): $(DLIBCRYPTO): (cd ..; $(MAKE) DIRS=crypto all) -$(RSATEST): $(RSATEST).o $(DLIBCRYPTO) +$(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -320,13 +320,13 @@ $(RSATEST): $(RSATEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(RSATEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(RSATEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(RSATEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(BNTEST): $(BNTEST).o $(DLIBCRYPTO) +$(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -336,13 +336,13 @@ $(BNTEST): $(BNTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(BNTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(BNTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(BNTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(ECTEST): $(ECTEST).o $(DLIBCRYPTO) +$(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -352,13 +352,13 @@ $(ECTEST): $(ECTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(ECTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(ECTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(ECTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(EXPTEST): $(EXPTEST).o $(DLIBCRYPTO) +$(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -368,13 +368,13 @@ $(EXPTEST): $(EXPTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(EXPTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(EXPTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(EXPTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(IDEATEST): $(IDEATEST).o $(DLIBCRYPTO) +$(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -384,13 +384,13 @@ $(IDEATEST): $(IDEATEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(IDEATEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(IDEATEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(IDEATEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(MD2TEST): $(MD2TEST).o $(DLIBCRYPTO) +$(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -400,13 +400,13 @@ $(MD2TEST): $(MD2TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(MD2TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(MD2TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(MD2TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(SHATEST): $(SHATEST).o $(DLIBCRYPTO) +$(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -416,13 +416,13 @@ $(SHATEST): $(SHATEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(SHATEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(SHATEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(SHATEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(SHA1TEST): $(SHA1TEST).o $(DLIBCRYPTO) +$(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -432,13 +432,13 @@ $(SHA1TEST): $(SHA1TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(SHA1TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(SHA1TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(SHA1TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(SHA256TEST): $(SHA256TEST).o $(DLIBCRYPTO) +$(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -448,13 +448,13 @@ $(SHA256TEST): $(SHA256TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(SHA256TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(SHA256TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(SHA256TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(SHA512TEST): $(SHA512TEST).o $(DLIBCRYPTO) +$(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -464,13 +464,13 @@ $(SHA512TEST): $(SHA512TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(SHA512TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(SHA512TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(SHA512TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(RMDTEST): $(RMDTEST).o $(DLIBCRYPTO) +$(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -480,13 +480,13 @@ $(RMDTEST): $(RMDTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(RMDTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(RMDTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(RMDTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(MDC2TEST): $(MDC2TEST).o $(DLIBCRYPTO) +$(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -496,13 +496,13 @@ $(MDC2TEST): $(MDC2TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(MDC2TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(MDC2TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(MDC2TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(MD4TEST): $(MD4TEST).o $(DLIBCRYPTO) +$(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -512,13 +512,13 @@ $(MD4TEST): $(MD4TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(MD4TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(MD4TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(MD4TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(MD5TEST): $(MD5TEST).o $(DLIBCRYPTO) +$(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -528,13 +528,13 @@ $(MD5TEST): $(MD5TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(MD5TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(MD5TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(MD5TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(HMACTEST): $(HMACTEST).o $(DLIBCRYPTO) +$(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -544,13 +544,13 @@ $(HMACTEST): $(HMACTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(HMACTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(HMACTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(HMACTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(RC2TEST): $(RC2TEST).o $(DLIBCRYPTO) +$(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -560,13 +560,13 @@ $(RC2TEST): $(RC2TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(RC2TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(RC2TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(RC2TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(BFTEST): $(BFTEST).o $(DLIBCRYPTO) +$(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -576,13 +576,13 @@ $(BFTEST): $(BFTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(BFTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(BFTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(BFTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(CASTTEST): $(CASTTEST).o $(DLIBCRYPTO) +$(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -592,13 +592,13 @@ $(CASTTEST): $(CASTTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(CASTTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(CASTTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(CASTTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(RC4TEST): $(RC4TEST).o $(DLIBCRYPTO) +$(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -608,13 +608,13 @@ $(RC4TEST): $(RC4TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(RC4TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(RC4TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(RC4TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(RC5TEST): $(RC5TEST).o $(DLIBCRYPTO) +$(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -624,13 +624,13 @@ $(RC5TEST): $(RC5TEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(RC5TEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(RC5TEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(RC5TEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(DESTEST): $(DESTEST).o $(DLIBCRYPTO) +$(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -640,13 +640,13 @@ $(DESTEST): $(DESTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(DESTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(DESTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(DESTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(RANDTEST): $(RANDTEST).o $(DLIBCRYPTO) +$(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -656,13 +656,13 @@ $(RANDTEST): $(RANDTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(RANDTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(RANDTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(RANDTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(DHTEST): $(DHTEST).o $(DLIBCRYPTO) +$(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -672,13 +672,13 @@ $(DHTEST): $(DHTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(DHTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(DHTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(DHTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(DSATEST): $(DSATEST).o $(DLIBCRYPTO) +$(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -688,13 +688,13 @@ $(DSATEST): $(DSATEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(DSATEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(DSATEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(DSATEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(METHTEST): $(METHTEST).o $(DLIBCRYPTO) +$(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -704,13 +704,13 @@ $(METHTEST): $(METHTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(METHTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(METHTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(METHTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(SSLTEST): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO) +$(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -720,13 +720,13 @@ $(SSLTEST): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO) LIBRARIES="$(LIBSSL) $(LIBKRB5) $(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(SSLTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(SSLTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(SSLTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(ENGINETEST): $(ENGINETEST).o $(DLIBCRYPTO) +$(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -736,13 +736,13 @@ $(ENGINETEST): $(ENGINETEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(ENGINETEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(ENGINETEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(ENGINETEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(EVPTEST): $(EVPTEST).o $(DLIBCRYPTO) +$(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -752,13 +752,13 @@ $(EVPTEST): $(EVPTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(EVPTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(EVPTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(EVPTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(ECDSATEST): $(ECDSATEST).o $(DLIBCRYPTO) +$(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -768,13 +768,13 @@ $(ECDSATEST): $(ECDSATEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(ECDSATEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(ECDSATEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(ECDSATEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ link_app.$${shlib_target} -$(ECDHTEST): $(ECDHTEST).o $(DLIBCRYPTO) +$(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -784,7 +784,7 @@ $(ECDHTEST): $(ECDHTEST).o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=$(ECDHTEST) LDFLAGS="$(CFLAGS)" \ + APPNAME=$(ECDHTEST)$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="$(ECDHTEST).o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ @@ -793,14 +793,14 @@ $(ECDHTEST): $(ECDHTEST).o $(DLIBCRYPTO) #$(AESTEST).o: $(AESTEST).c # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c -#$(AESTEST): $(AESTEST).o $(DLIBCRYPTO) +#$(AESTEST)$(EXE_EXT): $(AESTEST).o $(DLIBCRYPTO) # if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \ -# $(CC) -o $(AESTEST) $(CFLAGS) $(AESTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \ +# $(CC) -o $(AESTEST)$(EXE_EXT) $(CFLAGS) $(AESTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \ # else \ -# $(CC) -o $(AESTEST) $(CFLAGS) $(AESTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \ +# $(CC) -o $(AESTEST)$(EXE_EXT) $(CFLAGS) $(AESTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \ # fi -dummytest: dummytest.o $(DLIBCRYPTO) +dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO) shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ @@ -810,7 +810,7 @@ dummytest: dummytest.o $(DLIBCRYPTO) LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(NEWMAKE) -f $(TOP)/Makefile.shared \ - APPNAME=dummytest LDFLAGS="$(CFLAGS)" \ + APPNAME=dummytest$(EXE_EXT) LDFLAGS="$(CFLAGS)" \ OBJECTS="dummytest.o" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ LIBRPATH=$(INSTALLTOP)/lib \ diff --git a/util/libeay.num b/util/libeay.num index 3f70cd9586..2dc32dc7dd 100755 --- a/util/libeay.num +++ b/util/libeay.num @@ -3231,3 +3231,5 @@ EVP_sha384 3633 EXIST::FUNCTION:SHA,SHA512 EVP_sha512 3634 EXIST::FUNCTION:SHA,SHA512 EVP_sha224 3635 EXIST::FUNCTION:SHA,SHA256 EVP_sha256 3636 EXIST::FUNCTION:SHA,SHA256 +OPENSSL_DIR_end 3637 EXIST::FUNCTION: +OPENSSL_DIR_read 3638 EXIST::FUNCTION: diff --git a/util/mkdef.pl b/util/mkdef.pl index c4cfa47375..204a056a48 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -221,6 +221,7 @@ my $ssl="ssl/ssl.h"; $ssl.=" ssl/kssl.h"; my $crypto ="crypto/crypto.h"; +$crypto.=" crypto/o_dir.h"; $crypto.=" crypto/des/des.h crypto/des/des_old.h" ; # unless $no_des; $crypto.=" crypto/idea/idea.h" ; # unless $no_idea; $crypto.=" crypto/rc4/rc4.h" ; # unless $no_rc4; diff --git a/util/ssleay.num b/util/ssleay.num index faaa227473..e3c33661d7 100755 --- a/util/ssleay.num +++ b/util/ssleay.num @@ -170,7 +170,7 @@ SSL_add_file_cert_subjs_to_stk 185 EXIST:VMS:FUNCTION:STDIO SSL_set_tmp_rsa_callback 186 EXIST::FUNCTION:RSA SSL_set_tmp_dh_callback 187 EXIST::FUNCTION:DH SSL_add_dir_cert_subjects_to_stack 188 EXIST:!VMS:FUNCTION:STDIO -SSL_add_dir_cert_subjs_to_stk 188 NOEXIST::FUNCTION: +SSL_add_dir_cert_subjs_to_stk 188 EXIST:VMS:FUNCTION:STDIO SSL_set_session_id_context 189 EXIST::FUNCTION: SSL_CTX_use_certificate_chain_file 222 EXIST:!VMS:FUNCTION:STDIO SSL_CTX_use_cert_chain_file 222 EXIST:VMS:FUNCTION:STDIO |