diff options
| author | djm <> | 2009-04-06 06:30:08 +0000 |
|---|---|---|
| committer | djm <> | 2009-04-06 06:30:08 +0000 |
| commit | 40d5d67842948fbf904eb73da8f09a2ebcd2e243 (patch) | |
| tree | 6e736297805c79ec70ef2ba631b5dbb38c60ef68 /src/lib/libssl/src | |
| parent | c38e9fa1885187364cfeba026e9bf38d6845886f (diff) | |
| download | openbsd-40d5d67842948fbf904eb73da8f09a2ebcd2e243.tar.gz openbsd-40d5d67842948fbf904eb73da8f09a2ebcd2e243.tar.bz2 openbsd-40d5d67842948fbf904eb73da8f09a2ebcd2e243.zip | |
import of OpenSSL 0.9.8k
Diffstat (limited to 'src/lib/libssl/src')
63 files changed, 328 insertions, 173 deletions
diff --git a/src/lib/libssl/src/CHANGES b/src/lib/libssl/src/CHANGES index c888c56c26..04d332e338 100644 --- a/src/lib/libssl/src/CHANGES +++ b/src/lib/libssl/src/CHANGES | |||
| @@ -2,11 +2,51 @@ | |||
| 2 | OpenSSL CHANGES | 2 | OpenSSL CHANGES |
| 3 | _______________ | 3 | _______________ |
| 4 | 4 | ||
| 5 | Changes between 0.9.8i and 0.9.8j [07 Jan 2009] | 5 | Changes between 0.9.8j and 0.9.8k [25 Mar 2009] |
| 6 | 6 | ||
| 7 | *) Properly check EVP_VerifyFinal() and similar return values | 7 | *) Don't set val to NULL when freeing up structures, it is freed up by |
| 8 | (CVE-2008-5077). | 8 | underlying code. If sizeof(void *) > sizeof(long) this can result in |
| 9 | [Ben Laurie, Bodo Moeller, Google Security Team] | 9 | zeroing past the valid field. (CVE-2009-0789) |
| 10 | [Paolo Ganci <Paolo.Ganci@AdNovum.CH>] | ||
| 11 | |||
| 12 | *) Fix bug where return value of CMS_SignerInfo_verify_content() was not | ||
| 13 | checked correctly. This would allow some invalid signed attributes to | ||
| 14 | appear to verify correctly. (CVE-2009-0591) | ||
| 15 | [Ivan Nestlerode <inestlerode@us.ibm.com>] | ||
| 16 | |||
| 17 | *) Reject UniversalString and BMPString types with invalid lengths. This | ||
| 18 | prevents a crash in ASN1_STRING_print_ex() which assumes the strings have | ||
| 19 | a legal length. (CVE-2009-0590) | ||
| 20 | [Steve Henson] | ||
| 21 | |||
| 22 | *) Set S/MIME signing as the default purpose rather than setting it | ||
| 23 | unconditionally. This allows applications to override it at the store | ||
| 24 | level. | ||
| 25 | [Steve Henson] | ||
| 26 | |||
| 27 | *) Permit restricted recursion of ASN1 strings. This is needed in practice | ||
| 28 | to handle some structures. | ||
| 29 | [Steve Henson] | ||
| 30 | |||
| 31 | *) Improve efficiency of mem_gets: don't search whole buffer each time | ||
| 32 | for a '\n' | ||
| 33 | [Jeremy Shapiro <jnshapir@us.ibm.com>] | ||
| 34 | |||
| 35 | *) New -hex option for openssl rand. | ||
| 36 | [Matthieu Herrb] | ||
| 37 | |||
| 38 | *) Print out UTF8String and NumericString when parsing ASN1. | ||
| 39 | [Steve Henson] | ||
| 40 | |||
| 41 | *) Support NumericString type for name components. | ||
| 42 | [Steve Henson] | ||
| 43 | |||
| 44 | *) Allow CC in the environment to override the automatically chosen | ||
| 45 | compiler. Note that nothing is done to ensure flags work with the | ||
| 46 | chosen compiler. | ||
| 47 | [Ben Laurie] | ||
| 48 | |||
| 49 | Changes between 0.9.8i and 0.9.8j [07 Jan 2009] | ||
| 10 | 50 | ||
| 11 | *) Properly check EVP_VerifyFinal() and similar return values | 51 | *) Properly check EVP_VerifyFinal() and similar return values |
| 12 | (CVE-2008-5077). | 52 | (CVE-2008-5077). |
diff --git a/src/lib/libssl/src/Configure b/src/lib/libssl/src/Configure index 09b58f2113..c6dbfae482 100644 --- a/src/lib/libssl/src/Configure +++ b/src/lib/libssl/src/Configure | |||
| @@ -101,6 +101,11 @@ my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta | |||
| 101 | # SHA512_ASM sha512_block is implemented in assembler | 101 | # SHA512_ASM sha512_block is implemented in assembler |
| 102 | # AES_ASM ASE_[en|de]crypt is implemented in assembler | 102 | # AES_ASM ASE_[en|de]crypt is implemented in assembler |
| 103 | 103 | ||
| 104 | # Minimum warning options... any contributions to OpenSSL should at least get | ||
| 105 | # past these. | ||
| 106 | |||
| 107 | my $gcc_devteam_warn = "-Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED"; | ||
| 108 | |||
| 104 | my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL"; | 109 | my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL"; |
| 105 | 110 | ||
| 106 | # MD2_CHAR slags pentium pros | 111 | # MD2_CHAR slags pentium pros |
| @@ -154,15 +159,15 @@ my %table=( | |||
| 154 | "debug-ben", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown):::::bn86-elf.o co86-elf.o", | 159 | "debug-ben", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown):::::bn86-elf.o co86-elf.o", |
| 155 | "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", | 160 | "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", |
| 156 | "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", | 161 | "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", |
| 157 | "debug-ben-debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::::", | 162 | "debug-ben-debug", "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -g3 -O2 -pipe::(unknown)::::::", |
| 158 | "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::", | 163 | "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::", |
| 159 | "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", | 164 | "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", |
| 160 | "debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", | 165 | "debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", |
| 161 | "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:::${no_asm}:win32:cygwin-shared:::.dll", | 166 | "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:::${no_asm}:win32:cygwin-shared:::.dll", |
| 162 | "debug-steve64", "gcc:-m64 -DL_ENDIAN -DTERMIO -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -DOPENSSL_NO_DEPRECATED -g -pedantic -Wall -Werror -Wno-long-long -Wsign-compare -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | 167 | "debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", |
| 163 | "debug-steve32", "gcc:-m32 -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -DOPENSSL_NO_DEPRECATED -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | 168 | "debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAFESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", |
| 169 | "debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
| 164 | "debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -m32 -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", | 170 | "debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -m32 -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", |
| 165 | "debug-steve-opt", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -m32 -O3 -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", | ||
| 166 | "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:${no_asm}:dlfcn:linux-shared", | 171 | "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:${no_asm}:dlfcn:linux-shared", |
| 167 | "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)", | 172 | "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)", |
| 168 | "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}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | 173 | "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}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", |
| @@ -948,6 +953,10 @@ print "Configuring for $target\n"; | |||
| 948 | 953 | ||
| 949 | my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1); | 954 | my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1); |
| 950 | my $cc = $fields[$idx_cc]; | 955 | my $cc = $fields[$idx_cc]; |
| 956 | # Allow environment CC to override compiler... | ||
| 957 | if($ENV{CC}) { | ||
| 958 | $cc = $ENV{CC}; | ||
| 959 | } | ||
| 951 | my $cflags = $fields[$idx_cflags]; | 960 | my $cflags = $fields[$idx_cflags]; |
| 952 | my $unistd = $fields[$idx_unistd]; | 961 | my $unistd = $fields[$idx_unistd]; |
| 953 | my $thread_cflag = $fields[$idx_thread_cflag]; | 962 | my $thread_cflag = $fields[$idx_thread_cflag]; |
| @@ -1048,7 +1057,6 @@ foreach (sort (keys %disabled)) | |||
| 1048 | print "\n"; | 1057 | print "\n"; |
| 1049 | } | 1058 | } |
| 1050 | 1059 | ||
| 1051 | |||
| 1052 | my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; | 1060 | my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; |
| 1053 | 1061 | ||
| 1054 | $IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin" && !is_msys()); | 1062 | $IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin" && !is_msys()); |
| @@ -1443,6 +1451,8 @@ while (<IN>) | |||
| 1443 | } | 1451 | } |
| 1444 | } | 1452 | } |
| 1445 | $sdirs = 0 unless /\\$/; | 1453 | $sdirs = 0 unless /\\$/; |
| 1454 | s/fips // if (/^DIRS=/ && !$fips); | ||
| 1455 | s/engines // if (/^DIRS=/ && $disabled{"engine"}); | ||
| 1446 | s/^VERSION=.*/VERSION=$version/; | 1456 | s/^VERSION=.*/VERSION=$version/; |
| 1447 | s/^MAJOR=.*/MAJOR=$major/; | 1457 | s/^MAJOR=.*/MAJOR=$major/; |
| 1448 | s/^MINOR=.*/MINOR=$minor/; | 1458 | s/^MINOR=.*/MINOR=$minor/; |
diff --git a/src/lib/libssl/src/FAQ b/src/lib/libssl/src/FAQ index ce71246fb8..942a671f2c 100644 --- a/src/lib/libssl/src/FAQ +++ b/src/lib/libssl/src/FAQ | |||
| @@ -78,7 +78,7 @@ OpenSSL - Frequently Asked Questions | |||
| 78 | * Which is the current version of OpenSSL? | 78 | * Which is the current version of OpenSSL? |
| 79 | 79 | ||
| 80 | The current version is available from <URL: http://www.openssl.org>. | 80 | The current version is available from <URL: http://www.openssl.org>. |
| 81 | OpenSSL 0.9.8j was released on Jan 7th, 2009. | 81 | OpenSSL 0.9.8k was released on Mar 25th, 2009. |
| 82 | 82 | ||
| 83 | In addition to the current stable release, you can also access daily | 83 | In addition to the current stable release, you can also access daily |
| 84 | snapshots of the OpenSSL development version at <URL: | 84 | snapshots of the OpenSSL development version at <URL: |
diff --git a/src/lib/libssl/src/MacOS/GetHTTPS.src/ErrorHandling.hpp b/src/lib/libssl/src/MacOS/GetHTTPS.src/ErrorHandling.hpp index 3036df7ee0..fbfbe786b7 100644 --- a/src/lib/libssl/src/MacOS/GetHTTPS.src/ErrorHandling.hpp +++ b/src/lib/libssl/src/MacOS/GetHTTPS.src/ErrorHandling.hpp | |||
| @@ -29,7 +29,7 @@ OSErr AppendErrorMessageToHandle(Handle inoutHandle); | |||
| 29 | 29 | ||
| 30 | 30 | ||
| 31 | 31 | ||
| 32 | // A bunch of evil macros that would be uneccessary if I were always using C++ ! | 32 | // A bunch of evil macros that would be unnecessary if I were always using C++ ! |
| 33 | 33 | ||
| 34 | #define SetErrorMessageAndBailIfNil(theArg,theMessage) \ | 34 | #define SetErrorMessageAndBailIfNil(theArg,theMessage) \ |
| 35 | { \ | 35 | { \ |
diff --git a/src/lib/libssl/src/Makefile b/src/lib/libssl/src/Makefile index fe0fe16843..57d742e4d4 100644 --- a/src/lib/libssl/src/Makefile +++ b/src/lib/libssl/src/Makefile | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | ## Makefile for OpenSSL | 4 | ## Makefile for OpenSSL |
| 5 | ## | 5 | ## |
| 6 | 6 | ||
| 7 | VERSION=0.9.8j | 7 | VERSION=0.9.8k |
| 8 | MAJOR=0 | 8 | MAJOR=0 |
| 9 | MINOR=9.8 | 9 | MINOR=9.8 |
| 10 | SHLIB_VERSION_NUMBER=0.9.8 | 10 | SHLIB_VERSION_NUMBER=0.9.8 |
| @@ -133,7 +133,7 @@ FIPSCANLIB= | |||
| 133 | 133 | ||
| 134 | BASEADDR=0xFB00000 | 134 | BASEADDR=0xFB00000 |
| 135 | 135 | ||
| 136 | DIRS= crypto fips ssl engines apps test tools | 136 | DIRS= crypto ssl engines apps test tools |
| 137 | SHLIBDIRS= crypto ssl | 137 | SHLIBDIRS= crypto ssl |
| 138 | 138 | ||
| 139 | # dirs in crypto to build | 139 | # dirs in crypto to build |
| @@ -506,6 +506,9 @@ links: | |||
| 506 | @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl | 506 | @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl |
| 507 | @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) | 507 | @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) |
| 508 | @set -e; target=links; $(RECURSIVE_BUILD_CMD) | 508 | @set -e; target=links; $(RECURSIVE_BUILD_CMD) |
| 509 | @if [ -z "$(FIPSCANLIB)" ]; then \ | ||
| 510 | set -e; target=links; dir=fips ; $(BUILD_CMD) ; \ | ||
| 511 | fi | ||
| 509 | 512 | ||
| 510 | gentests: | 513 | gentests: |
| 511 | @(cd test && echo "generating dummy tests (if needed)..." && \ | 514 | @(cd test && echo "generating dummy tests (if needed)..." && \ |
diff --git a/src/lib/libssl/src/Makefile.org b/src/lib/libssl/src/Makefile.org index 4be7dad7d6..d1b56b2f58 100644 --- a/src/lib/libssl/src/Makefile.org +++ b/src/lib/libssl/src/Makefile.org | |||
| @@ -504,6 +504,9 @@ links: | |||
| 504 | @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl | 504 | @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl |
| 505 | @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) | 505 | @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) |
| 506 | @set -e; target=links; $(RECURSIVE_BUILD_CMD) | 506 | @set -e; target=links; $(RECURSIVE_BUILD_CMD) |
| 507 | @if [ -z "$(FIPSCANLIB)" ]; then \ | ||
| 508 | set -e; target=links; dir=fips ; $(BUILD_CMD) ; \ | ||
| 509 | fi | ||
| 507 | 510 | ||
| 508 | gentests: | 511 | gentests: |
| 509 | @(cd test && echo "generating dummy tests (if needed)..." && \ | 512 | @(cd test && echo "generating dummy tests (if needed)..." && \ |
diff --git a/src/lib/libssl/src/NEWS b/src/lib/libssl/src/NEWS index 322c3848f2..37156fc593 100644 --- a/src/lib/libssl/src/NEWS +++ b/src/lib/libssl/src/NEWS | |||
| @@ -5,6 +5,11 @@ | |||
| 5 | This file gives a brief overview of the major changes between each OpenSSL | 5 | This file gives a brief overview of the major changes between each OpenSSL |
| 6 | release. For more details please read the CHANGES file. | 6 | release. For more details please read the CHANGES file. |
| 7 | 7 | ||
| 8 | Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k: | ||
| 9 | |||
| 10 | o Fix various build issues. | ||
| 11 | o Fix security issues (CVE-2009-0590, CVE-2009-0591, CVE-2009-0789) | ||
| 12 | |||
| 8 | Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j: | 13 | Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j: |
| 9 | 14 | ||
| 10 | o Fix security issue (CVE-2008-5077) | 15 | o Fix security issue (CVE-2008-5077) |
diff --git a/src/lib/libssl/src/README b/src/lib/libssl/src/README index b3baac4a36..99a6a7b4bf 100644 --- a/src/lib/libssl/src/README +++ b/src/lib/libssl/src/README | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | 1 | ||
| 2 | OpenSSL 0.9.8j | 2 | OpenSSL 0.9.8k |
| 3 | 3 | ||
| 4 | Copyright (c) 1998-2008 The OpenSSL Project | 4 | Copyright (c) 1998-2008 The OpenSSL Project |
| 5 | Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson | 5 | Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson |
diff --git a/src/lib/libssl/src/apps/apps.c b/src/lib/libssl/src/apps/apps.c index 367eb177e1..498722a5a2 100644 --- a/src/lib/libssl/src/apps/apps.c +++ b/src/lib/libssl/src/apps/apps.c | |||
| @@ -2428,7 +2428,7 @@ static void readbn(BIGNUM **bn, BIO *bconn) | |||
| 2428 | int l; | 2428 | int l; |
| 2429 | 2429 | ||
| 2430 | l = BIO_gets(bconn, buf, sizeof buf); | 2430 | l = BIO_gets(bconn, buf, sizeof buf); |
| 2431 | assert(l >= 0); | 2431 | assert(l > 0); |
| 2432 | assert(buf[l-1] == '\n'); | 2432 | assert(buf[l-1] == '\n'); |
| 2433 | buf[l-1] = '\0'; | 2433 | buf[l-1] = '\0'; |
| 2434 | BN_hex2bn(bn, buf); | 2434 | BN_hex2bn(bn, buf); |
diff --git a/src/lib/libssl/src/apps/ca.c b/src/lib/libssl/src/apps/ca.c index 87f0405f5d..68516ee9bd 100644 --- a/src/lib/libssl/src/apps/ca.c +++ b/src/lib/libssl/src/apps/ca.c | |||
| @@ -83,7 +83,7 @@ | |||
| 83 | # else | 83 | # else |
| 84 | # include <unixlib.h> | 84 | # include <unixlib.h> |
| 85 | # endif | 85 | # endif |
| 86 | # elif !defined(OPENSSL_SYS_VXWORKS) && !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_NETWARE) | 86 | # elif !defined(OPENSSL_SYS_VXWORKS) && !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_NETWARE) && !defined(__TANDEM) |
| 87 | # include <sys/file.h> | 87 | # include <sys/file.h> |
| 88 | # endif | 88 | # endif |
| 89 | #endif | 89 | #endif |
diff --git a/src/lib/libssl/src/apps/enc.c b/src/lib/libssl/src/apps/enc.c index 47c6eb604d..f4f9a4c4a4 100644 --- a/src/lib/libssl/src/apps/enc.c +++ b/src/lib/libssl/src/apps/enc.c | |||
| @@ -533,7 +533,8 @@ bad: | |||
| 533 | BIO_printf(bio_err,"invalid hex iv value\n"); | 533 | BIO_printf(bio_err,"invalid hex iv value\n"); |
| 534 | goto end; | 534 | goto end; |
| 535 | } | 535 | } |
| 536 | if ((hiv == NULL) && (str == NULL)) | 536 | if ((hiv == NULL) && (str == NULL) |
| 537 | && EVP_CIPHER_iv_length(cipher) != 0) | ||
| 537 | { | 538 | { |
| 538 | /* No IV was explicitly set and no IV was generated | 539 | /* No IV was explicitly set and no IV was generated |
| 539 | * during EVP_BytesToKey. Hence the IV is undefined, | 540 | * during EVP_BytesToKey. Hence the IV is undefined, |
diff --git a/src/lib/libssl/src/apps/engine.c b/src/lib/libssl/src/apps/engine.c index 1d0dd9bfbc..17bd81fb79 100644 --- a/src/lib/libssl/src/apps/engine.c +++ b/src/lib/libssl/src/apps/engine.c | |||
| @@ -252,7 +252,7 @@ static int util_verbose(ENGINE *e, int verbose, BIO *bio_out, const char *indent | |||
| 252 | /* Now decide on the output */ | 252 | /* Now decide on the output */ |
| 253 | if(xpos == 0) | 253 | if(xpos == 0) |
| 254 | /* Do an indent */ | 254 | /* Do an indent */ |
| 255 | xpos = BIO_printf(bio_out, indent); | 255 | xpos = BIO_puts(bio_out, indent); |
| 256 | else | 256 | else |
| 257 | /* Otherwise prepend a ", " */ | 257 | /* Otherwise prepend a ", " */ |
| 258 | xpos += BIO_printf(bio_out, ", "); | 258 | xpos += BIO_printf(bio_out, ", "); |
| @@ -263,7 +263,7 @@ static int util_verbose(ENGINE *e, int verbose, BIO *bio_out, const char *indent | |||
| 263 | (xpos + (int)strlen(name) > line_wrap)) | 263 | (xpos + (int)strlen(name) > line_wrap)) |
| 264 | { | 264 | { |
| 265 | BIO_printf(bio_out, "\n"); | 265 | BIO_printf(bio_out, "\n"); |
| 266 | xpos = BIO_printf(bio_out, indent); | 266 | xpos = BIO_puts(bio_out, indent); |
| 267 | } | 267 | } |
| 268 | xpos += BIO_printf(bio_out, "%s", name); | 268 | xpos += BIO_printf(bio_out, "%s", name); |
| 269 | } | 269 | } |
diff --git a/src/lib/libssl/src/apps/rand.c b/src/lib/libssl/src/apps/rand.c index c3b26c466d..44a1d46a03 100644 --- a/src/lib/libssl/src/apps/rand.c +++ b/src/lib/libssl/src/apps/rand.c | |||
| @@ -68,7 +68,8 @@ | |||
| 68 | 68 | ||
| 69 | /* -out file - write to file | 69 | /* -out file - write to file |
| 70 | * -rand file:file - PRNG seed files | 70 | * -rand file:file - PRNG seed files |
| 71 | * -base64 - encode output | 71 | * -base64 - base64 encode output |
| 72 | * -hex - hex encode output | ||
| 72 | * num - write 'num' bytes | 73 | * num - write 'num' bytes |
| 73 | */ | 74 | */ |
| 74 | 75 | ||
| @@ -84,6 +85,7 @@ int MAIN(int argc, char **argv) | |||
| 84 | char *outfile = NULL; | 85 | char *outfile = NULL; |
| 85 | char *inrand = NULL; | 86 | char *inrand = NULL; |
| 86 | int base64 = 0; | 87 | int base64 = 0; |
| 88 | int hex = 0; | ||
| 87 | BIO *out = NULL; | 89 | BIO *out = NULL; |
| 88 | int num = -1; | 90 | int num = -1; |
| 89 | #ifndef OPENSSL_NO_ENGINE | 91 | #ifndef OPENSSL_NO_ENGINE |
| @@ -133,6 +135,13 @@ int MAIN(int argc, char **argv) | |||
| 133 | else | 135 | else |
| 134 | badopt = 1; | 136 | badopt = 1; |
| 135 | } | 137 | } |
| 138 | else if (strcmp(argv[i], "-hex") == 0) | ||
| 139 | { | ||
| 140 | if (!hex) | ||
| 141 | hex = 1; | ||
| 142 | else | ||
| 143 | badopt = 1; | ||
| 144 | } | ||
| 136 | else if (isdigit((unsigned char)argv[i][0])) | 145 | else if (isdigit((unsigned char)argv[i][0])) |
| 137 | { | 146 | { |
| 138 | if (num < 0) | 147 | if (num < 0) |
| @@ -148,6 +157,9 @@ int MAIN(int argc, char **argv) | |||
| 148 | badopt = 1; | 157 | badopt = 1; |
| 149 | } | 158 | } |
| 150 | 159 | ||
| 160 | if (hex && base64) | ||
| 161 | badopt = 1; | ||
| 162 | |||
| 151 | if (num < 0) | 163 | if (num < 0) |
| 152 | badopt = 1; | 164 | badopt = 1; |
| 153 | 165 | ||
| @@ -160,7 +172,8 @@ int MAIN(int argc, char **argv) | |||
| 160 | BIO_printf(bio_err, "-engine e - use engine e, possibly a hardware device.\n"); | 172 | BIO_printf(bio_err, "-engine e - use engine e, possibly a hardware device.\n"); |
| 161 | #endif | 173 | #endif |
| 162 | BIO_printf(bio_err, "-rand file%cfile%c... - seed PRNG from files\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR); | 174 | BIO_printf(bio_err, "-rand file%cfile%c... - seed PRNG from files\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR); |
| 163 | BIO_printf(bio_err, "-base64 - encode output\n"); | 175 | BIO_printf(bio_err, "-base64 - base64 encode output\n"); |
| 176 | BIO_printf(bio_err, "-hex - hex encode output\n"); | ||
| 164 | goto err; | 177 | goto err; |
| 165 | } | 178 | } |
| 166 | 179 | ||
| @@ -210,9 +223,17 @@ int MAIN(int argc, char **argv) | |||
| 210 | r = RAND_bytes(buf, chunk); | 223 | r = RAND_bytes(buf, chunk); |
| 211 | if (r <= 0) | 224 | if (r <= 0) |
| 212 | goto err; | 225 | goto err; |
| 213 | BIO_write(out, buf, chunk); | 226 | if (!hex) |
| 227 | BIO_write(out, buf, chunk); | ||
| 228 | else | ||
| 229 | { | ||
| 230 | for (i = 0; i < chunk; i++) | ||
| 231 | BIO_printf(out, "%02x", buf[i]); | ||
| 232 | } | ||
| 214 | num -= chunk; | 233 | num -= chunk; |
| 215 | } | 234 | } |
| 235 | if (hex) | ||
| 236 | BIO_puts(out, "\n"); | ||
| 216 | (void)BIO_flush(out); | 237 | (void)BIO_flush(out); |
| 217 | 238 | ||
| 218 | app_RAND_write_file(NULL, bio_err); | 239 | app_RAND_write_file(NULL, bio_err); |
diff --git a/src/lib/libssl/src/apps/x509.c b/src/lib/libssl/src/apps/x509.c index d904d34021..6debce4419 100644 --- a/src/lib/libssl/src/apps/x509.c +++ b/src/lib/libssl/src/apps/x509.c | |||
| @@ -114,7 +114,7 @@ static const char *x509_usage[]={ | |||
| 114 | " -alias - output certificate alias\n", | 114 | " -alias - output certificate alias\n", |
| 115 | " -noout - no certificate output\n", | 115 | " -noout - no certificate output\n", |
| 116 | " -ocspid - print OCSP hash values for the subject name and public key\n", | 116 | " -ocspid - print OCSP hash values for the subject name and public key\n", |
| 117 | " -ocspurl - print OCSP Responder URL(s)\n", | 117 | " -ocsp_uri - print OCSP Responder URL(s)\n", |
| 118 | " -trustout - output a \"trusted\" certificate\n", | 118 | " -trustout - output a \"trusted\" certificate\n", |
| 119 | " -clrtrust - clear all trusted purposes\n", | 119 | " -clrtrust - clear all trusted purposes\n", |
| 120 | " -clrreject - clear all rejected purposes\n", | 120 | " -clrreject - clear all rejected purposes\n", |
diff --git a/src/lib/libssl/src/config b/src/lib/libssl/src/config index dde9275b76..68e7ea1737 100644 --- a/src/lib/libssl/src/config +++ b/src/lib/libssl/src/config | |||
| @@ -29,7 +29,7 @@ EXE="" | |||
| 29 | for i | 29 | for i |
| 30 | do | 30 | do |
| 31 | case "$i" in | 31 | case "$i" in |
| 32 | -d*) PREFIX="debug-";; | 32 | -d) PREFIX="debug-";; |
| 33 | -t*) TEST="true";; | 33 | -t*) TEST="true";; |
| 34 | -h*) TEST="true"; cat <<EOF | 34 | -h*) TEST="true"; cat <<EOF |
| 35 | Usage: config [options] | 35 | Usage: config [options] |
| @@ -399,11 +399,8 @@ exit 0 | |||
| 399 | # this is where the translation occurs into SSLeay terms | 399 | # this is where the translation occurs into SSLeay terms |
| 400 | # --------------------------------------------------------------------------- | 400 | # --------------------------------------------------------------------------- |
| 401 | 401 | ||
| 402 | # figure out if gcc is available and if so we use it otherwise | ||
| 403 | # we fallback to whatever cc does on the system | ||
| 404 | GCCVER=`(gcc -dumpversion) 2>/dev/null` | 402 | GCCVER=`(gcc -dumpversion) 2>/dev/null` |
| 405 | if [ "$GCCVER" != "" ]; then | 403 | if [ "$GCCVER" != "" ]; then |
| 406 | CC=gcc | ||
| 407 | # then strip off whatever prefix egcs prepends the number with... | 404 | # then strip off whatever prefix egcs prepends the number with... |
| 408 | # Hopefully, this will work for any future prefixes as well. | 405 | # Hopefully, this will work for any future prefixes as well. |
| 409 | GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'` | 406 | GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'` |
| @@ -412,8 +409,17 @@ if [ "$GCCVER" != "" ]; then | |||
| 412 | # major and minor version numbers. | 409 | # major and minor version numbers. |
| 413 | # peak single digit before and after first dot, e.g. 2.95.1 gives 29 | 410 | # peak single digit before and after first dot, e.g. 2.95.1 gives 29 |
| 414 | GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'` | 411 | GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'` |
| 415 | else | 412 | fi |
| 416 | CC=cc | 413 | |
| 414 | # Only set CC if not supplied already | ||
| 415 | if [ -z "$CC" ]; then | ||
| 416 | # figure out if gcc is available and if so we use it otherwise | ||
| 417 | # we fallback to whatever cc does on the system | ||
| 418 | if [ "$GCCVER" != "" ]; then | ||
| 419 | CC=gcc | ||
| 420 | else | ||
| 421 | CC=cc | ||
| 422 | fi | ||
| 417 | fi | 423 | fi |
| 418 | GCCVER=${GCCVER:-0} | 424 | GCCVER=${GCCVER:-0} |
| 419 | if [ "$SYSTEM" = "HP-UX" ];then | 425 | if [ "$SYSTEM" = "HP-UX" ];then |
diff --git a/src/lib/libssl/src/crypto/asn1/a_bytes.c b/src/lib/libssl/src/crypto/asn1/a_bytes.c index 8d13f9c931..92d630cdba 100644 --- a/src/lib/libssl/src/crypto/asn1/a_bytes.c +++ b/src/lib/libssl/src/crypto/asn1/a_bytes.c | |||
| @@ -79,7 +79,7 @@ ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
| 79 | 79 | ||
| 80 | if (tag >= 32) | 80 | if (tag >= 32) |
| 81 | { | 81 | { |
| 82 | i=ASN1_R_TAG_VALUE_TOO_HIGH;; | 82 | i=ASN1_R_TAG_VALUE_TOO_HIGH; |
| 83 | goto err; | 83 | goto err; |
| 84 | } | 84 | } |
| 85 | if (!(ASN1_tag2bit(tag) & type)) | 85 | if (!(ASN1_tag2bit(tag) & type)) |
diff --git a/src/lib/libssl/src/crypto/asn1/asn1.h b/src/lib/libssl/src/crypto/asn1/asn1.h index 424cd348bb..e3385226d4 100644 --- a/src/lib/libssl/src/crypto/asn1/asn1.h +++ b/src/lib/libssl/src/crypto/asn1/asn1.h | |||
| @@ -612,6 +612,7 @@ typedef struct BIT_STRING_BITNAME_st { | |||
| 612 | B_ASN1_GENERALIZEDTIME | 612 | B_ASN1_GENERALIZEDTIME |
| 613 | 613 | ||
| 614 | #define B_ASN1_PRINTABLE \ | 614 | #define B_ASN1_PRINTABLE \ |
| 615 | B_ASN1_NUMERICSTRING| \ | ||
| 615 | B_ASN1_PRINTABLESTRING| \ | 616 | B_ASN1_PRINTABLESTRING| \ |
| 616 | B_ASN1_T61STRING| \ | 617 | B_ASN1_T61STRING| \ |
| 617 | B_ASN1_IA5STRING| \ | 618 | B_ASN1_IA5STRING| \ |
| @@ -1217,6 +1218,7 @@ void ERR_load_ASN1_strings(void); | |||
| 1217 | #define ASN1_R_BAD_OBJECT_HEADER 102 | 1218 | #define ASN1_R_BAD_OBJECT_HEADER 102 |
| 1218 | #define ASN1_R_BAD_PASSWORD_READ 103 | 1219 | #define ASN1_R_BAD_PASSWORD_READ 103 |
| 1219 | #define ASN1_R_BAD_TAG 104 | 1220 | #define ASN1_R_BAD_TAG 104 |
| 1221 | #define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 210 | ||
| 1220 | #define ASN1_R_BN_LIB 105 | 1222 | #define ASN1_R_BN_LIB 105 |
| 1221 | #define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 | 1223 | #define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 |
| 1222 | #define ASN1_R_BUFFER_TOO_SMALL 107 | 1224 | #define ASN1_R_BUFFER_TOO_SMALL 107 |
| @@ -1306,6 +1308,7 @@ void ERR_load_ASN1_strings(void); | |||
| 1306 | #define ASN1_R_UNABLE_TO_DECODE_RSA_KEY 157 | 1308 | #define ASN1_R_UNABLE_TO_DECODE_RSA_KEY 157 |
| 1307 | #define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY 158 | 1309 | #define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY 158 |
| 1308 | #define ASN1_R_UNEXPECTED_EOC 159 | 1310 | #define ASN1_R_UNEXPECTED_EOC 159 |
| 1311 | #define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 211 | ||
| 1309 | #define ASN1_R_UNKNOWN_FORMAT 160 | 1312 | #define ASN1_R_UNKNOWN_FORMAT 160 |
| 1310 | #define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 | 1313 | #define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 |
| 1311 | #define ASN1_R_UNKNOWN_OBJECT_TYPE 162 | 1314 | #define ASN1_R_UNKNOWN_OBJECT_TYPE 162 |
diff --git a/src/lib/libssl/src/crypto/asn1/asn1_err.c b/src/lib/libssl/src/crypto/asn1/asn1_err.c index f8a3e2e6cd..5f5de98eed 100644 --- a/src/lib/libssl/src/crypto/asn1/asn1_err.c +++ b/src/lib/libssl/src/crypto/asn1/asn1_err.c | |||
| @@ -195,6 +195,7 @@ static ERR_STRING_DATA ASN1_str_reasons[]= | |||
| 195 | {ERR_REASON(ASN1_R_BAD_OBJECT_HEADER) ,"bad object header"}, | 195 | {ERR_REASON(ASN1_R_BAD_OBJECT_HEADER) ,"bad object header"}, |
| 196 | {ERR_REASON(ASN1_R_BAD_PASSWORD_READ) ,"bad password read"}, | 196 | {ERR_REASON(ASN1_R_BAD_PASSWORD_READ) ,"bad password read"}, |
| 197 | {ERR_REASON(ASN1_R_BAD_TAG) ,"bad tag"}, | 197 | {ERR_REASON(ASN1_R_BAD_TAG) ,"bad tag"}, |
| 198 | {ERR_REASON(ASN1_R_BMPSTRING_IS_WRONG_LENGTH),"bmpstring is wrong length"}, | ||
| 198 | {ERR_REASON(ASN1_R_BN_LIB) ,"bn lib"}, | 199 | {ERR_REASON(ASN1_R_BN_LIB) ,"bn lib"}, |
| 199 | {ERR_REASON(ASN1_R_BOOLEAN_IS_WRONG_LENGTH),"boolean is wrong length"}, | 200 | {ERR_REASON(ASN1_R_BOOLEAN_IS_WRONG_LENGTH),"boolean is wrong length"}, |
| 200 | {ERR_REASON(ASN1_R_BUFFER_TOO_SMALL) ,"buffer too small"}, | 201 | {ERR_REASON(ASN1_R_BUFFER_TOO_SMALL) ,"buffer too small"}, |
| @@ -284,6 +285,7 @@ static ERR_STRING_DATA ASN1_str_reasons[]= | |||
| 284 | {ERR_REASON(ASN1_R_UNABLE_TO_DECODE_RSA_KEY),"unable to decode rsa key"}, | 285 | {ERR_REASON(ASN1_R_UNABLE_TO_DECODE_RSA_KEY),"unable to decode rsa key"}, |
| 285 | {ERR_REASON(ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY),"unable to decode rsa private key"}, | 286 | {ERR_REASON(ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY),"unable to decode rsa private key"}, |
| 286 | {ERR_REASON(ASN1_R_UNEXPECTED_EOC) ,"unexpected eoc"}, | 287 | {ERR_REASON(ASN1_R_UNEXPECTED_EOC) ,"unexpected eoc"}, |
| 288 | {ERR_REASON(ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH),"universalstring is wrong length"}, | ||
| 287 | {ERR_REASON(ASN1_R_UNKNOWN_FORMAT) ,"unknown format"}, | 289 | {ERR_REASON(ASN1_R_UNKNOWN_FORMAT) ,"unknown format"}, |
| 288 | {ERR_REASON(ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM),"unknown message digest algorithm"}, | 290 | {ERR_REASON(ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM),"unknown message digest algorithm"}, |
| 289 | {ERR_REASON(ASN1_R_UNKNOWN_OBJECT_TYPE) ,"unknown object type"}, | 291 | {ERR_REASON(ASN1_R_UNKNOWN_OBJECT_TYPE) ,"unknown object type"}, |
diff --git a/src/lib/libssl/src/crypto/asn1/asn1_par.c b/src/lib/libssl/src/crypto/asn1/asn1_par.c index 501b62a4b1..8657f73d66 100644 --- a/src/lib/libssl/src/crypto/asn1/asn1_par.c +++ b/src/lib/libssl/src/crypto/asn1/asn1_par.c | |||
| @@ -213,6 +213,8 @@ static int asn1_parse2(BIO *bp, const unsigned char **pp, long length, int offse | |||
| 213 | (tag == V_ASN1_T61STRING) || | 213 | (tag == V_ASN1_T61STRING) || |
| 214 | (tag == V_ASN1_IA5STRING) || | 214 | (tag == V_ASN1_IA5STRING) || |
| 215 | (tag == V_ASN1_VISIBLESTRING) || | 215 | (tag == V_ASN1_VISIBLESTRING) || |
| 216 | (tag == V_ASN1_NUMERICSTRING) || | ||
| 217 | (tag == V_ASN1_UTF8STRING) || | ||
| 216 | (tag == V_ASN1_UTCTIME) || | 218 | (tag == V_ASN1_UTCTIME) || |
| 217 | (tag == V_ASN1_GENERALIZEDTIME)) | 219 | (tag == V_ASN1_GENERALIZEDTIME)) |
| 218 | { | 220 | { |
diff --git a/src/lib/libssl/src/crypto/asn1/t_x509.c b/src/lib/libssl/src/crypto/asn1/t_x509.c index 8b09e5890f..8f746f9c05 100644 --- a/src/lib/libssl/src/crypto/asn1/t_x509.c +++ b/src/lib/libssl/src/crypto/asn1/t_x509.c | |||
| @@ -332,7 +332,7 @@ int X509_signature_print(BIO *bp, X509_ALGOR *sigalg, ASN1_STRING *sig) | |||
| 332 | int ASN1_STRING_print(BIO *bp, ASN1_STRING *v) | 332 | int ASN1_STRING_print(BIO *bp, ASN1_STRING *v) |
| 333 | { | 333 | { |
| 334 | int i,n; | 334 | int i,n; |
| 335 | char buf[80],*p;; | 335 | char buf[80],*p; |
| 336 | 336 | ||
| 337 | if (v == NULL) return(0); | 337 | if (v == NULL) return(0); |
| 338 | n=0; | 338 | n=0; |
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_dec.c b/src/lib/libssl/src/crypto/asn1/tasn_dec.c index ced641698e..48bc1c0d4d 100644 --- a/src/lib/libssl/src/crypto/asn1/tasn_dec.c +++ b/src/lib/libssl/src/crypto/asn1/tasn_dec.c | |||
| @@ -69,7 +69,7 @@ static int asn1_check_eoc(const unsigned char **in, long len); | |||
| 69 | static int asn1_find_end(const unsigned char **in, long len, char inf); | 69 | static int asn1_find_end(const unsigned char **in, long len, char inf); |
| 70 | 70 | ||
| 71 | static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len, | 71 | static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len, |
| 72 | char inf, int tag, int aclass); | 72 | char inf, int tag, int aclass, int depth); |
| 73 | 73 | ||
| 74 | static int collect_data(BUF_MEM *buf, const unsigned char **p, long plen); | 74 | static int collect_data(BUF_MEM *buf, const unsigned char **p, long plen); |
| 75 | 75 | ||
| @@ -611,7 +611,6 @@ static int asn1_template_ex_d2i(ASN1_VALUE **val, | |||
| 611 | 611 | ||
| 612 | err: | 612 | err: |
| 613 | ASN1_template_free(val, tt); | 613 | ASN1_template_free(val, tt); |
| 614 | *val = NULL; | ||
| 615 | return 0; | 614 | return 0; |
| 616 | } | 615 | } |
| 617 | 616 | ||
| @@ -758,7 +757,6 @@ static int asn1_template_noexp_d2i(ASN1_VALUE **val, | |||
| 758 | 757 | ||
| 759 | err: | 758 | err: |
| 760 | ASN1_template_free(val, tt); | 759 | ASN1_template_free(val, tt); |
| 761 | *val = NULL; | ||
| 762 | return 0; | 760 | return 0; |
| 763 | } | 761 | } |
| 764 | 762 | ||
| @@ -878,7 +876,7 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval, | |||
| 878 | * internally irrespective of the type. So instead just check | 876 | * internally irrespective of the type. So instead just check |
| 879 | * for UNIVERSAL class and ignore the tag. | 877 | * for UNIVERSAL class and ignore the tag. |
| 880 | */ | 878 | */ |
| 881 | if (!asn1_collect(&buf, &p, plen, inf, -1, V_ASN1_UNIVERSAL)) | 879 | if (!asn1_collect(&buf, &p, plen, inf, -1, V_ASN1_UNIVERSAL, 0)) |
| 882 | { | 880 | { |
| 883 | free_cont = 1; | 881 | free_cont = 1; |
| 884 | goto err; | 882 | goto err; |
| @@ -1012,6 +1010,18 @@ int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, | |||
| 1012 | case V_ASN1_SET: | 1010 | case V_ASN1_SET: |
| 1013 | case V_ASN1_SEQUENCE: | 1011 | case V_ASN1_SEQUENCE: |
| 1014 | default: | 1012 | default: |
| 1013 | if (utype == V_ASN1_BMPSTRING && (len & 1)) | ||
| 1014 | { | ||
| 1015 | ASN1err(ASN1_F_ASN1_EX_C2I, | ||
| 1016 | ASN1_R_BMPSTRING_IS_WRONG_LENGTH); | ||
| 1017 | goto err; | ||
| 1018 | } | ||
| 1019 | if (utype == V_ASN1_UNIVERSALSTRING && (len & 3)) | ||
| 1020 | { | ||
| 1021 | ASN1err(ASN1_F_ASN1_EX_C2I, | ||
| 1022 | ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH); | ||
| 1023 | goto err; | ||
| 1024 | } | ||
| 1015 | /* All based on ASN1_STRING and handled the same */ | 1025 | /* All based on ASN1_STRING and handled the same */ |
| 1016 | if (!*pval) | 1026 | if (!*pval) |
| 1017 | { | 1027 | { |
| @@ -1128,8 +1138,18 @@ static int asn1_find_end(const unsigned char **in, long len, char inf) | |||
| 1128 | * if it is indefinite length. | 1138 | * if it is indefinite length. |
| 1129 | */ | 1139 | */ |
| 1130 | 1140 | ||
| 1141 | #ifndef ASN1_MAX_STRING_NEST | ||
| 1142 | /* This determines how many levels of recursion are permitted in ASN1 | ||
| 1143 | * string types. If it is not limited stack overflows can occur. If set | ||
| 1144 | * to zero no recursion is allowed at all. Although zero should be adequate | ||
| 1145 | * examples exist that require a value of 1. So 5 should be more than enough. | ||
| 1146 | */ | ||
| 1147 | #define ASN1_MAX_STRING_NEST 5 | ||
| 1148 | #endif | ||
| 1149 | |||
| 1150 | |||
| 1131 | static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len, | 1151 | static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len, |
| 1132 | char inf, int tag, int aclass) | 1152 | char inf, int tag, int aclass, int depth) |
| 1133 | { | 1153 | { |
| 1134 | const unsigned char *p, *q; | 1154 | const unsigned char *p, *q; |
| 1135 | long plen; | 1155 | long plen; |
| @@ -1171,13 +1191,15 @@ static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len, | |||
| 1171 | /* If indefinite length constructed update max length */ | 1191 | /* If indefinite length constructed update max length */ |
| 1172 | if (cst) | 1192 | if (cst) |
| 1173 | { | 1193 | { |
| 1174 | #ifdef OPENSSL_ALLOW_NESTED_ASN1_STRINGS | 1194 | if (depth >= ASN1_MAX_STRING_NEST) |
| 1175 | if (!asn1_collect(buf, &p, plen, ininf, tag, aclass)) | 1195 | { |
| 1196 | ASN1err(ASN1_F_ASN1_COLLECT, | ||
| 1197 | ASN1_R_NESTED_ASN1_STRING); | ||
| 1198 | return 0; | ||
| 1199 | } | ||
| 1200 | if (!asn1_collect(buf, &p, plen, ininf, tag, aclass, | ||
| 1201 | depth + 1)) | ||
| 1176 | return 0; | 1202 | return 0; |
| 1177 | #else | ||
| 1178 | ASN1err(ASN1_F_ASN1_COLLECT, ASN1_R_NESTED_ASN1_STRING); | ||
| 1179 | return 0; | ||
| 1180 | #endif | ||
| 1181 | } | 1203 | } |
| 1182 | else if (plen && !collect_data(buf, &p, plen)) | 1204 | else if (plen && !collect_data(buf, &p, plen)) |
| 1183 | return 0; | 1205 | return 0; |
diff --git a/src/lib/libssl/src/crypto/bio/bss_mem.c b/src/lib/libssl/src/crypto/bio/bss_mem.c index a4edb711ae..e7ab9cb3a3 100644 --- a/src/lib/libssl/src/crypto/bio/bss_mem.c +++ b/src/lib/libssl/src/crypto/bio/bss_mem.c | |||
| @@ -284,6 +284,7 @@ static int mem_gets(BIO *bp, char *buf, int size) | |||
| 284 | 284 | ||
| 285 | BIO_clear_retry_flags(bp); | 285 | BIO_clear_retry_flags(bp); |
| 286 | j=bm->length; | 286 | j=bm->length; |
| 287 | if ((size-1) < j) j=size-1; | ||
| 287 | if (j <= 0) | 288 | if (j <= 0) |
| 288 | { | 289 | { |
| 289 | *buf='\0'; | 290 | *buf='\0'; |
| @@ -292,17 +293,18 @@ static int mem_gets(BIO *bp, char *buf, int size) | |||
| 292 | p=bm->data; | 293 | p=bm->data; |
| 293 | for (i=0; i<j; i++) | 294 | for (i=0; i<j; i++) |
| 294 | { | 295 | { |
| 295 | if (p[i] == '\n') break; | 296 | if (p[i] == '\n') |
| 296 | } | 297 | { |
| 297 | if (i == j) | 298 | i++; |
| 298 | { | 299 | break; |
| 299 | BIO_set_retry_read(bp); | 300 | } |
| 300 | /* return(-1); change the semantics 0.6.6a */ | ||
| 301 | } | 301 | } |
| 302 | else | 302 | |
| 303 | i++; | 303 | /* |
| 304 | /* i is the max to copy */ | 304 | * i is now the max num of bytes to copy, either j or up to |
| 305 | if ((size-1) < i) i=size-1; | 305 | * and including the first newline |
| 306 | */ | ||
| 307 | |||
| 306 | i=mem_read(bp,buf,i); | 308 | i=mem_read(bp,buf,i); |
| 307 | if (i > 0) buf[i]='\0'; | 309 | if (i > 0) buf[i]='\0'; |
| 308 | ret=i; | 310 | ret=i; |
diff --git a/src/lib/libssl/src/crypto/bio/bss_sock.c b/src/lib/libssl/src/crypto/bio/bss_sock.c index 472dd75821..30c3ceab46 100644 --- a/src/lib/libssl/src/crypto/bio/bss_sock.c +++ b/src/lib/libssl/src/crypto/bio/bss_sock.c | |||
| @@ -60,6 +60,9 @@ | |||
| 60 | #include <errno.h> | 60 | #include <errno.h> |
| 61 | #define USE_SOCKETS | 61 | #define USE_SOCKETS |
| 62 | #include "cryptlib.h" | 62 | #include "cryptlib.h" |
| 63 | |||
| 64 | #ifndef OPENSSL_NO_SOCK | ||
| 65 | |||
| 63 | #include <openssl/bio.h> | 66 | #include <openssl/bio.h> |
| 64 | 67 | ||
| 65 | #ifdef WATT32 | 68 | #ifdef WATT32 |
| @@ -300,3 +303,5 @@ int BIO_sock_non_fatal_error(int err) | |||
| 300 | } | 303 | } |
| 301 | return(0); | 304 | return(0); |
| 302 | } | 305 | } |
| 306 | |||
| 307 | #endif /* #ifndef OPENSSL_NO_SOCK */ | ||
diff --git a/src/lib/libssl/src/crypto/bn/bntest.c b/src/lib/libssl/src/crypto/bn/bntest.c index 310763eca0..cf190380f5 100644 --- a/src/lib/libssl/src/crypto/bn/bntest.c +++ b/src/lib/libssl/src/crypto/bn/bntest.c | |||
| @@ -926,7 +926,7 @@ int test_mod_exp(BIO *bp, BN_CTX *ctx) | |||
| 926 | BN_bntest_rand(b,2+i,0,0); /**/ | 926 | BN_bntest_rand(b,2+i,0,0); /**/ |
| 927 | 927 | ||
| 928 | if (!BN_mod_exp(d,a,b,c,ctx)) | 928 | if (!BN_mod_exp(d,a,b,c,ctx)) |
| 929 | return(00); | 929 | return(0); |
| 930 | 930 | ||
| 931 | if (bp != NULL) | 931 | if (bp != NULL) |
| 932 | { | 932 | { |
| @@ -1028,7 +1028,7 @@ int test_exp(BIO *bp, BN_CTX *ctx) | |||
| 1028 | BN_bntest_rand(b,2+i,0,0); /**/ | 1028 | BN_bntest_rand(b,2+i,0,0); /**/ |
| 1029 | 1029 | ||
| 1030 | if (!BN_exp(d,a,b,ctx)) | 1030 | if (!BN_exp(d,a,b,ctx)) |
| 1031 | return(00); | 1031 | return(0); |
| 1032 | 1032 | ||
| 1033 | if (bp != NULL) | 1033 | if (bp != NULL) |
| 1034 | { | 1034 | { |
diff --git a/src/lib/libssl/src/crypto/crypto-lib.com b/src/lib/libssl/src/crypto/crypto-lib.com index db9c882fb0..e72af90822 100644 --- a/src/lib/libssl/src/crypto/crypto-lib.com +++ b/src/lib/libssl/src/crypto/crypto-lib.com | |||
| @@ -169,7 +169,7 @@ $ LIB_SHA = "sha_dgst,sha1dgst,sha_one,sha1_one,sha256,sha512" | |||
| 169 | $ LIB_MDC2 = "mdc2dgst,mdc2_one" | 169 | $ LIB_MDC2 = "mdc2dgst,mdc2_one" |
| 170 | $ LIB_HMAC = "hmac" | 170 | $ LIB_HMAC = "hmac" |
| 171 | $ LIB_RIPEMD = "rmd_dgst,rmd_one" | 171 | $ LIB_RIPEMD = "rmd_dgst,rmd_one" |
| 172 | $ LIB_DES = "set_key,ecb_enc,cbc_enc,"+ - | 172 | $ LIB_DES = "des_lib,set_key,ecb_enc,cbc_enc,"+ - |
| 173 | "ecb3_enc,cfb64enc,cfb64ede,cfb_enc,ofb64ede,"+ - | 173 | "ecb3_enc,cfb64enc,cfb64ede,cfb_enc,ofb64ede,"+ - |
| 174 | "enc_read,enc_writ,ofb64enc,"+ - | 174 | "enc_read,enc_writ,ofb64enc,"+ - |
| 175 | "ofb_enc,str2key,pcbc_enc,qud_cksm,rand_key,"+ - | 175 | "ofb_enc,str2key,pcbc_enc,qud_cksm,rand_key,"+ - |
| @@ -191,7 +191,7 @@ $ LIB_BN = "bn_add,bn_div,bn_exp,bn_lib,bn_ctx,bn_mul,bn_mod,"+ - | |||
| 191 | "bn_print,bn_rand,bn_shift,bn_word,bn_blind,"+ - | 191 | "bn_print,bn_rand,bn_shift,bn_word,bn_blind,"+ - |
| 192 | "bn_kron,bn_sqrt,bn_gcd,bn_prime,bn_err,bn_sqr,"+LIB_BN_ASM+","+ - | 192 | "bn_kron,bn_sqrt,bn_gcd,bn_prime,bn_err,bn_sqr,"+LIB_BN_ASM+","+ - |
| 193 | "bn_recp,bn_mont,bn_mpi,bn_exp2,bn_gf2m,bn_nist,"+ - | 193 | "bn_recp,bn_mont,bn_mpi,bn_exp2,bn_gf2m,bn_nist,"+ - |
| 194 | "bn_depr,bn_const" | 194 | "bn_depr,bn_x931p,bn_const,bn_opt" |
| 195 | $ LIB_EC = "ec_lib,ecp_smpl,ecp_mont,ecp_nist,ec_cvt,ec_mult,"+ - | 195 | $ LIB_EC = "ec_lib,ecp_smpl,ecp_mont,ecp_nist,ec_cvt,ec_mult,"+ - |
| 196 | "ec_err,ec_curve,ec_check,ec_print,ec_asn1,ec_key,"+ - | 196 | "ec_err,ec_curve,ec_check,ec_print,ec_asn1,ec_key,"+ - |
| 197 | "ec2_smpl,ec2_mult" | 197 | "ec2_smpl,ec2_mult" |
| @@ -211,7 +211,7 @@ $ LIB_ENGINE = "eng_err,eng_lib,eng_list,eng_init,eng_ctrl,"+ - | |||
| 211 | "tb_cipher,tb_digest,"+ - | 211 | "tb_cipher,tb_digest,"+ - |
| 212 | "eng_openssl,eng_dyn,eng_cnf,eng_cryptodev,eng_padlock" | 212 | "eng_openssl,eng_dyn,eng_cnf,eng_cryptodev,eng_padlock" |
| 213 | $ LIB_AES = "aes_core,aes_misc,aes_ecb,aes_cbc,aes_cfb,aes_ofb,"+ - | 213 | $ LIB_AES = "aes_core,aes_misc,aes_ecb,aes_cbc,aes_cfb,aes_ofb,"+ - |
| 214 | "aes_ctr,aes_ige" | 214 | "aes_ctr,aes_ige,aes_wrap" |
| 215 | $ LIB_BUFFER = "buffer,buf_str,buf_err" | 215 | $ LIB_BUFFER = "buffer,buf_str,buf_err" |
| 216 | $ LIB_BIO = "bio_lib,bio_cb,bio_err,"+ - | 216 | $ LIB_BIO = "bio_lib,bio_cb,bio_err,"+ - |
| 217 | "bss_mem,bss_null,bss_fd,"+ - | 217 | "bss_mem,bss_null,bss_fd,"+ - |
| @@ -246,7 +246,7 @@ $ LIB_ASN1 = "a_object,a_bitstr,a_utctm,a_gentm,a_time,a_int,a_octet,"+ - | |||
| 246 | $ LIB_ASN1_2 = "t_req,t_x509,t_x509a,t_crl,t_pkey,t_spki,t_bitst,"+ - | 246 | $ LIB_ASN1_2 = "t_req,t_x509,t_x509a,t_crl,t_pkey,t_spki,t_bitst,"+ - |
| 247 | "tasn_new,tasn_fre,tasn_enc,tasn_dec,tasn_utl,tasn_typ,"+ - | 247 | "tasn_new,tasn_fre,tasn_enc,tasn_dec,tasn_utl,tasn_typ,"+ - |
| 248 | "f_int,f_string,n_pkey,"+ - | 248 | "f_int,f_string,n_pkey,"+ - |
| 249 | "f_enum,a_hdr,x_pkey,a_bool,x_exten,"+ - | 249 | "f_enum,a_hdr,x_pkey,a_bool,x_exten,asn_mime,"+ - |
| 250 | "asn1_gen,asn1_par,asn1_lib,asn1_err,a_meth,a_bytes,a_strnid,"+ - | 250 | "asn1_gen,asn1_par,asn1_lib,asn1_err,a_meth,a_bytes,a_strnid,"+ - |
| 251 | "evp_asn1,asn_pack,p5_pbe,p5_pbev2,p8_pkey,asn_moid" | 251 | "evp_asn1,asn_pack,p5_pbe,p5_pbev2,p8_pkey,asn_moid" |
| 252 | $ LIB_PEM = "pem_sign,pem_seal,pem_info,pem_lib,pem_all,pem_err,"+ - | 252 | $ LIB_PEM = "pem_sign,pem_seal,pem_info,pem_lib,pem_all,pem_err,"+ - |
diff --git a/src/lib/libssl/src/crypto/des/times/usparc.cc b/src/lib/libssl/src/crypto/des/times/usparc.cc index f6ec8e8831..0864285ef6 100644 --- a/src/lib/libssl/src/crypto/des/times/usparc.cc +++ b/src/lib/libssl/src/crypto/des/times/usparc.cc | |||
| @@ -2,7 +2,7 @@ solaris 2.5.1 usparc 167mhz?? - SC4.0 cc -fast -Xa -xO5 | |||
| 2 | 2 | ||
| 3 | For the ultra sparc, SunC 4.0 cc -fast -Xa -xO5, running 'des_opts' | 3 | For the ultra sparc, SunC 4.0 cc -fast -Xa -xO5, running 'des_opts' |
| 4 | gives a speed of 475,000 des/s while 'speed' gives 417,000 des/s. | 4 | gives a speed of 475,000 des/s while 'speed' gives 417,000 des/s. |
| 5 | I belive the difference is tied up in optimisation that the compiler | 5 | I believe the difference is tied up in optimisation that the compiler |
| 6 | is able to perform when the code is 'inlined'. For 'speed', the DES | 6 | is able to perform when the code is 'inlined'. For 'speed', the DES |
| 7 | routines are being linked from a library. I'll record the higher | 7 | routines are being linked from a library. I'll record the higher |
| 8 | speed since if performance is everything, you can always inline | 8 | speed since if performance is everything, you can always inline |
diff --git a/src/lib/libssl/src/crypto/evp/enc_min.c b/src/lib/libssl/src/crypto/evp/enc_min.c index 3cb4626bef..7fba38ee24 100644 --- a/src/lib/libssl/src/crypto/evp/enc_min.c +++ b/src/lib/libssl/src/crypto/evp/enc_min.c | |||
| @@ -199,7 +199,7 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *imp | |||
| 199 | enc = 1; | 199 | enc = 1; |
| 200 | ctx->encrypt = enc; | 200 | ctx->encrypt = enc; |
| 201 | } | 201 | } |
| 202 | #ifdef OPENSSL_NO_FIPS | 202 | #ifdef OPENSSL_FIPS |
| 203 | if(FIPS_selftest_failed()) | 203 | if(FIPS_selftest_failed()) |
| 204 | { | 204 | { |
| 205 | FIPSerr(FIPS_F_EVP_CIPHERINIT_EX,FIPS_R_FIPS_SELFTEST_FAILED); | 205 | FIPSerr(FIPS_F_EVP_CIPHERINIT_EX,FIPS_R_FIPS_SELFTEST_FAILED); |
diff --git a/src/lib/libssl/src/crypto/evp/evp_test.c b/src/lib/libssl/src/crypto/evp/evp_test.c index bb6f02c2e9..436be20bf1 100644 --- a/src/lib/libssl/src/crypto/evp/evp_test.c +++ b/src/lib/libssl/src/crypto/evp/evp_test.c | |||
| @@ -220,18 +220,18 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, | |||
| 220 | test1_exit(7); | 220 | test1_exit(7); |
| 221 | } | 221 | } |
| 222 | 222 | ||
| 223 | if(outl+outl2 != cn) | 223 | if(outl+outl2 != pn) |
| 224 | { | 224 | { |
| 225 | fprintf(stderr,"Plaintext length mismatch got %d expected %d\n", | 225 | fprintf(stderr,"Plaintext length mismatch got %d expected %d\n", |
| 226 | outl+outl2,cn); | 226 | outl+outl2,pn); |
| 227 | test1_exit(8); | 227 | test1_exit(8); |
| 228 | } | 228 | } |
| 229 | 229 | ||
| 230 | if(memcmp(out,plaintext,cn)) | 230 | if(memcmp(out,plaintext,pn)) |
| 231 | { | 231 | { |
| 232 | fprintf(stderr,"Plaintext mismatch\n"); | 232 | fprintf(stderr,"Plaintext mismatch\n"); |
| 233 | hexdump(stderr,"Got",out,cn); | 233 | hexdump(stderr,"Got",out,pn); |
| 234 | hexdump(stderr,"Expected",plaintext,cn); | 234 | hexdump(stderr,"Expected",plaintext,pn); |
| 235 | test1_exit(9); | 235 | test1_exit(9); |
| 236 | } | 236 | } |
| 237 | } | 237 | } |
diff --git a/src/lib/libssl/src/crypto/opensslv.h b/src/lib/libssl/src/crypto/opensslv.h index 09687b5136..c6207f76b2 100644 --- a/src/lib/libssl/src/crypto/opensslv.h +++ b/src/lib/libssl/src/crypto/opensslv.h | |||
| @@ -25,11 +25,11 @@ | |||
| 25 | * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for | 25 | * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for |
| 26 | * major minor fix final patch/beta) | 26 | * major minor fix final patch/beta) |
| 27 | */ | 27 | */ |
| 28 | #define OPENSSL_VERSION_NUMBER 0x009080afL | 28 | #define OPENSSL_VERSION_NUMBER 0x009080bfL |
| 29 | #ifdef OPENSSL_FIPS | 29 | #ifdef OPENSSL_FIPS |
| 30 | #define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8j-fips 07 Jan 2009" | 30 | #define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8k-fips 25 Mar 2009" |
| 31 | #else | 31 | #else |
| 32 | #define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8j 07 Jan 2009" | 32 | #define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8k 25 Mar 2009" |
| 33 | #endif | 33 | #endif |
| 34 | #define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT | 34 | #define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT |
| 35 | 35 | ||
diff --git a/src/lib/libssl/src/crypto/pem/pem.h b/src/lib/libssl/src/crypto/pem/pem.h index 6f8e01544b..6c193f1cbf 100644 --- a/src/lib/libssl/src/crypto/pem/pem.h +++ b/src/lib/libssl/src/crypto/pem/pem.h | |||
| @@ -215,7 +215,9 @@ typedef struct pem_ctx_st | |||
| 215 | 215 | ||
| 216 | #define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ | 216 | #define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ |
| 217 | #define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ | 217 | #define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ |
| 218 | #define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ | ||
| 218 | #define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ | 219 | #define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ |
| 220 | #define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ | ||
| 219 | 221 | ||
| 220 | #else | 222 | #else |
| 221 | 223 | ||
| @@ -355,6 +357,7 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ | |||
| 355 | 357 | ||
| 356 | #define DECLARE_PEM_read_fp(name, type) /**/ | 358 | #define DECLARE_PEM_read_fp(name, type) /**/ |
| 357 | #define DECLARE_PEM_write_fp(name, type) /**/ | 359 | #define DECLARE_PEM_write_fp(name, type) /**/ |
| 360 | #define DECLARE_PEM_write_fp_const(name, type) /**/ | ||
| 358 | #define DECLARE_PEM_write_cb_fp(name, type) /**/ | 361 | #define DECLARE_PEM_write_cb_fp(name, type) /**/ |
| 359 | 362 | ||
| 360 | #else | 363 | #else |
| @@ -392,6 +395,7 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ | |||
| 392 | 395 | ||
| 393 | #define DECLARE_PEM_read_bio(name, type) /**/ | 396 | #define DECLARE_PEM_read_bio(name, type) /**/ |
| 394 | #define DECLARE_PEM_write_bio(name, type) /**/ | 397 | #define DECLARE_PEM_write_bio(name, type) /**/ |
| 398 | #define DECLARE_PEM_write_bio_const(name, type) /**/ | ||
| 395 | #define DECLARE_PEM_write_cb_bio(name, type) /**/ | 399 | #define DECLARE_PEM_write_cb_bio(name, type) /**/ |
| 396 | 400 | ||
| 397 | #endif | 401 | #endif |
diff --git a/src/lib/libssl/src/crypto/pkcs12/p12_crt.c b/src/lib/libssl/src/crypto/pkcs12/p12_crt.c index e863de52ce..9522342fa5 100644 --- a/src/lib/libssl/src/crypto/pkcs12/p12_crt.c +++ b/src/lib/libssl/src/crypto/pkcs12/p12_crt.c | |||
| @@ -170,6 +170,9 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert, | |||
| 170 | 170 | ||
| 171 | p12 = PKCS12_add_safes(safes, 0); | 171 | p12 = PKCS12_add_safes(safes, 0); |
| 172 | 172 | ||
| 173 | if (!p12) | ||
| 174 | goto err; | ||
| 175 | |||
| 173 | sk_PKCS7_pop_free(safes, PKCS7_free); | 176 | sk_PKCS7_pop_free(safes, PKCS7_free); |
| 174 | 177 | ||
| 175 | safes = NULL; | 178 | safes = NULL; |
diff --git a/src/lib/libssl/src/crypto/pkcs7/pk7_smime.c b/src/lib/libssl/src/crypto/pkcs7/pk7_smime.c index c34db1d6fe..fd18ec3d95 100644 --- a/src/lib/libssl/src/crypto/pkcs7/pk7_smime.c +++ b/src/lib/libssl/src/crypto/pkcs7/pk7_smime.c | |||
| @@ -229,8 +229,7 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, | |||
| 229 | sk_X509_free(signers); | 229 | sk_X509_free(signers); |
| 230 | return 0; | 230 | return 0; |
| 231 | } | 231 | } |
| 232 | X509_STORE_CTX_set_purpose(&cert_ctx, | 232 | X509_STORE_CTX_set_default(&cert_ctx, "smime_sign"); |
| 233 | X509_PURPOSE_SMIME_SIGN); | ||
| 234 | } else if(!X509_STORE_CTX_init (&cert_ctx, store, signer, NULL)) { | 233 | } else if(!X509_STORE_CTX_init (&cert_ctx, store, signer, NULL)) { |
| 235 | PKCS7err(PKCS7_F_PKCS7_VERIFY,ERR_R_X509_LIB); | 234 | PKCS7err(PKCS7_F_PKCS7_VERIFY,ERR_R_X509_LIB); |
| 236 | sk_X509_free(signers); | 235 | sk_X509_free(signers); |
diff --git a/src/lib/libssl/src/crypto/rand/rand_unix.c b/src/lib/libssl/src/crypto/rand/rand_unix.c index 6c2be5cb96..71b98ec212 100644 --- a/src/lib/libssl/src/crypto/rand/rand_unix.c +++ b/src/lib/libssl/src/crypto/rand/rand_unix.c | |||
| @@ -232,7 +232,7 @@ int RAND_poll(void) | |||
| 232 | t.tv_sec = 0; | 232 | t.tv_sec = 0; |
| 233 | t.tv_usec = usec; | 233 | t.tv_usec = usec; |
| 234 | 234 | ||
| 235 | if (FD_SETSIZE > 0 && fd >= FD_SETSIZE) | 235 | if (FD_SETSIZE > 0 && (unsigned)fd >= FD_SETSIZE) |
| 236 | { | 236 | { |
| 237 | /* can't use select, so just try to read once anyway */ | 237 | /* can't use select, so just try to read once anyway */ |
| 238 | try_read = 1; | 238 | try_read = 1; |
diff --git a/src/lib/libssl/src/crypto/ripemd/README b/src/lib/libssl/src/crypto/ripemd/README index 7097707264..f1ffc8b134 100644 --- a/src/lib/libssl/src/crypto/ripemd/README +++ b/src/lib/libssl/src/crypto/ripemd/README | |||
| @@ -4,7 +4,7 @@ http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html | |||
| 4 | This is my implementation of RIPEMD-160. The pentium assember is a little | 4 | This is my implementation of RIPEMD-160. The pentium assember is a little |
| 5 | off the pace since I only get 1050 cycles, while the best is 1013. | 5 | off the pace since I only get 1050 cycles, while the best is 1013. |
| 6 | I have a few ideas for how to get another 20 or so cycles, but at | 6 | I have a few ideas for how to get another 20 or so cycles, but at |
| 7 | this point I will not bother right now. I belive the trick will be | 7 | this point I will not bother right now. I believe the trick will be |
| 8 | to remove my 'copy X array onto stack' until inside the RIP1() finctions the | 8 | to remove my 'copy X array onto stack' until inside the RIP1() finctions the |
| 9 | first time round. To do this I need another register and will only have one | 9 | first time round. To do this I need another register and will only have one |
| 10 | temporary one. A bit tricky.... I can also cleanup the saving of the 5 words | 10 | temporary one. A bit tricky.... I can also cleanup the saving of the 5 words |
diff --git a/src/lib/libssl/src/crypto/rsa/rsa_x931g.c b/src/lib/libssl/src/crypto/rsa/rsa_x931g.c index c640cc2ec9..bf94f8be7a 100644 --- a/src/lib/libssl/src/crypto/rsa/rsa_x931g.c +++ b/src/lib/libssl/src/crypto/rsa/rsa_x931g.c | |||
| @@ -79,9 +79,9 @@ int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, BIGNUM *q2, | |||
| 79 | goto err; | 79 | goto err; |
| 80 | 80 | ||
| 81 | ctx = BN_CTX_new(); | 81 | ctx = BN_CTX_new(); |
| 82 | BN_CTX_start(ctx); | ||
| 83 | if (!ctx) | 82 | if (!ctx) |
| 84 | goto err; | 83 | goto err; |
| 84 | BN_CTX_start(ctx); | ||
| 85 | 85 | ||
| 86 | r0 = BN_CTX_get(ctx); | 86 | r0 = BN_CTX_get(ctx); |
| 87 | r1 = BN_CTX_get(ctx); | 87 | r1 = BN_CTX_get(ctx); |
| @@ -190,7 +190,7 @@ int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, BIGNUM *q2, | |||
| 190 | if (ctx2) | 190 | if (ctx2) |
| 191 | BN_CTX_free(ctx2); | 191 | BN_CTX_free(ctx2); |
| 192 | /* If this is set all calls successful */ | 192 | /* If this is set all calls successful */ |
| 193 | if (rsa->iqmp != NULL) | 193 | if (rsa && rsa->iqmp != NULL) |
| 194 | return 1; | 194 | return 1; |
| 195 | 195 | ||
| 196 | return 0; | 196 | return 0; |
diff --git a/src/lib/libssl/src/crypto/sha/asm/sha1-ia64.pl b/src/lib/libssl/src/crypto/sha/asm/sha1-ia64.pl index aa18c1089b..51c4f47ecb 100644 --- a/src/lib/libssl/src/crypto/sha/asm/sha1-ia64.pl +++ b/src/lib/libssl/src/crypto/sha/asm/sha1-ia64.pl | |||
| @@ -302,4 +302,5 @@ $code.=<<___; | |||
| 302 | stringz "SHA1 block transform for IA64, CRYPTOGAMS by <appro\@openssl.org>" | 302 | stringz "SHA1 block transform for IA64, CRYPTOGAMS by <appro\@openssl.org>" |
| 303 | ___ | 303 | ___ |
| 304 | 304 | ||
| 305 | $output=shift and open STDOUT,">$output"; | ||
| 305 | print $code; | 306 | print $code; |
diff --git a/src/lib/libssl/src/crypto/symhacks.h b/src/lib/libssl/src/crypto/symhacks.h index 6cfb5fe479..8728e6124d 100644 --- a/src/lib/libssl/src/crypto/symhacks.h +++ b/src/lib/libssl/src/crypto/symhacks.h | |||
| @@ -62,6 +62,10 @@ | |||
| 62 | VAX. */ | 62 | VAX. */ |
| 63 | #ifdef OPENSSL_SYS_VMS | 63 | #ifdef OPENSSL_SYS_VMS |
| 64 | 64 | ||
| 65 | /* Hack a long name in crypto/cryptlib.c */ | ||
| 66 | #undef int_CRYPTO_set_do_dynlock_callback | ||
| 67 | #define int_CRYPTO_set_do_dynlock_callback int_CRYPTO_set_do_dynlock_cb | ||
| 68 | |||
| 65 | /* Hack a long name in crypto/ex_data.c */ | 69 | /* Hack a long name in crypto/ex_data.c */ |
| 66 | #undef CRYPTO_get_ex_data_implementation | 70 | #undef CRYPTO_get_ex_data_implementation |
| 67 | #define CRYPTO_get_ex_data_implementation CRYPTO_get_ex_data_impl | 71 | #define CRYPTO_get_ex_data_implementation CRYPTO_get_ex_data_impl |
diff --git a/src/lib/libssl/src/crypto/ui/ui_lib.c b/src/lib/libssl/src/crypto/ui/ui_lib.c index 7ab249c3be..ac0100808f 100644 --- a/src/lib/libssl/src/crypto/ui/ui_lib.c +++ b/src/lib/libssl/src/crypto/ui/ui_lib.c | |||
| @@ -90,6 +90,7 @@ UI *UI_new_method(const UI_METHOD *method) | |||
| 90 | 90 | ||
| 91 | ret->strings=NULL; | 91 | ret->strings=NULL; |
| 92 | ret->user_data=NULL; | 92 | ret->user_data=NULL; |
| 93 | ret->flags=0; | ||
| 93 | CRYPTO_new_ex_data(CRYPTO_EX_INDEX_UI, ret, &ret->ex_data); | 94 | CRYPTO_new_ex_data(CRYPTO_EX_INDEX_UI, ret, &ret->ex_data); |
| 94 | return ret; | 95 | return ret; |
| 95 | } | 96 | } |
diff --git a/src/lib/libssl/src/crypto/x509/x509_cmp.c b/src/lib/libssl/src/crypto/x509/x509_cmp.c index e4c682fc44..2faf92514a 100644 --- a/src/lib/libssl/src/crypto/x509/x509_cmp.c +++ b/src/lib/libssl/src/crypto/x509/x509_cmp.c | |||
| @@ -288,7 +288,8 @@ int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b) | |||
| 288 | if (!(nabit & STR_TYPE_CMP) || | 288 | if (!(nabit & STR_TYPE_CMP) || |
| 289 | !(nbbit & STR_TYPE_CMP)) | 289 | !(nbbit & STR_TYPE_CMP)) |
| 290 | return j; | 290 | return j; |
| 291 | j = asn1_string_memcmp(na->value, nb->value); | 291 | if (!asn1_string_memcmp(na->value, nb->value)) |
| 292 | j = 0; | ||
| 292 | } | 293 | } |
| 293 | else if (na->value->type == V_ASN1_PRINTABLESTRING) | 294 | else if (na->value->type == V_ASN1_PRINTABLESTRING) |
| 294 | j=nocase_spacenorm_cmp(na->value, nb->value); | 295 | j=nocase_spacenorm_cmp(na->value, nb->value); |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_cpols.c b/src/lib/libssl/src/crypto/x509v3/v3_cpols.c index 95596055ab..ad0506d75c 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_cpols.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_cpols.c | |||
| @@ -181,7 +181,11 @@ static STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, | |||
| 181 | pol = POLICYINFO_new(); | 181 | pol = POLICYINFO_new(); |
| 182 | pol->policyid = pobj; | 182 | pol->policyid = pobj; |
| 183 | } | 183 | } |
| 184 | sk_POLICYINFO_push(pols, pol); | 184 | if (!sk_POLICYINFO_push(pols, pol)){ |
| 185 | POLICYINFO_free(pol); | ||
| 186 | X509V3err(X509V3_F_R2I_CERTPOL, ERR_R_MALLOC_FAILURE); | ||
| 187 | goto err; | ||
| 188 | } | ||
| 185 | } | 189 | } |
| 186 | sk_CONF_VALUE_pop_free(vals, X509V3_conf_free); | 190 | sk_CONF_VALUE_pop_free(vals, X509V3_conf_free); |
| 187 | return pols; | 191 | return pols; |
| @@ -447,3 +451,4 @@ void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent) | |||
| 447 | BIO_printf(out, "%*sNo Qualifiers\n", indent + 2, ""); | 451 | BIO_printf(out, "%*sNo Qualifiers\n", indent + 2, ""); |
| 448 | } | 452 | } |
| 449 | 453 | ||
| 454 | IMPLEMENT_STACK_OF(X509_POLICY_NODE) | ||
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_utl.c b/src/lib/libssl/src/crypto/x509v3/v3_utl.c index a4236bbb6d..7a45216c00 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_utl.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_utl.c | |||
| @@ -84,7 +84,7 @@ int X509V3_add_value(const char *name, const char *value, | |||
| 84 | CONF_VALUE *vtmp = NULL; | 84 | CONF_VALUE *vtmp = NULL; |
| 85 | char *tname = NULL, *tvalue = NULL; | 85 | char *tname = NULL, *tvalue = NULL; |
| 86 | if(name && !(tname = BUF_strdup(name))) goto err; | 86 | if(name && !(tname = BUF_strdup(name))) goto err; |
| 87 | if(value && !(tvalue = BUF_strdup(value))) goto err;; | 87 | if(value && !(tvalue = BUF_strdup(value))) goto err; |
| 88 | if(!(vtmp = (CONF_VALUE *)OPENSSL_malloc(sizeof(CONF_VALUE)))) goto err; | 88 | if(!(vtmp = (CONF_VALUE *)OPENSSL_malloc(sizeof(CONF_VALUE)))) goto err; |
| 89 | if(!*extlist && !(*extlist = sk_CONF_VALUE_new_null())) goto err; | 89 | if(!*extlist && !(*extlist = sk_CONF_VALUE_new_null())) goto err; |
| 90 | vtmp->section = NULL; | 90 | vtmp->section = NULL; |
diff --git a/src/lib/libssl/src/doc/apps/rand.pod b/src/lib/libssl/src/doc/apps/rand.pod index 75745ca002..d1d213ef43 100644 --- a/src/lib/libssl/src/doc/apps/rand.pod +++ b/src/lib/libssl/src/doc/apps/rand.pod | |||
| @@ -10,6 +10,7 @@ B<openssl rand> | |||
| 10 | [B<-out> I<file>] | 10 | [B<-out> I<file>] |
| 11 | [B<-rand> I<file(s)>] | 11 | [B<-rand> I<file(s)>] |
| 12 | [B<-base64>] | 12 | [B<-base64>] |
| 13 | [B<-hex>] | ||
| 13 | I<num> | 14 | I<num> |
| 14 | 15 | ||
| 15 | =head1 DESCRIPTION | 16 | =head1 DESCRIPTION |
| @@ -41,6 +42,10 @@ all others. | |||
| 41 | 42 | ||
| 42 | Perform base64 encoding on the output. | 43 | Perform base64 encoding on the output. |
| 43 | 44 | ||
| 45 | =item B<-hex> | ||
| 46 | |||
| 47 | Show the output as a hex string. | ||
| 48 | |||
| 44 | =back | 49 | =back |
| 45 | 50 | ||
| 46 | =head1 SEE ALSO | 51 | =head1 SEE ALSO |
diff --git a/src/lib/libssl/src/doc/apps/x509.pod b/src/lib/libssl/src/doc/apps/x509.pod index a925da41f1..f43c175235 100644 --- a/src/lib/libssl/src/doc/apps/x509.pod +++ b/src/lib/libssl/src/doc/apps/x509.pod | |||
| @@ -155,7 +155,7 @@ outputs the "hash" of the certificate issuer name. | |||
| 155 | 155 | ||
| 156 | =item B<-hash> | 156 | =item B<-hash> |
| 157 | 157 | ||
| 158 | synonym for "-hash" for backward compatibility reasons. | 158 | synonym for "-subject_hash" for backward compatibility reasons. |
| 159 | 159 | ||
| 160 | =item B<-subject> | 160 | =item B<-subject> |
| 161 | 161 | ||
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CIPHER_get_name.pod b/src/lib/libssl/src/doc/ssl/SSL_CIPHER_get_name.pod index f81f692df5..f62a869a9b 100644 --- a/src/lib/libssl/src/doc/ssl/SSL_CIPHER_get_name.pod +++ b/src/lib/libssl/src/doc/ssl/SSL_CIPHER_get_name.pod | |||
| @@ -28,7 +28,7 @@ SSL_CIPHER_get_version() returns the protocol version for B<cipher>, currently | |||
| 28 | 28 | ||
| 29 | SSL_CIPHER_description() returns a textual description of the cipher used | 29 | SSL_CIPHER_description() returns a textual description of the cipher used |
| 30 | into the buffer B<buf> of length B<len> provided. B<len> must be at least | 30 | into the buffer B<buf> of length B<len> provided. B<len> must be at least |
| 31 | 128 bytes, otherwise a pointer to the the string "Buffer too small" is | 31 | 128 bytes, otherwise a pointer to the string "Buffer too small" is |
| 32 | returned. If B<buf> is NULL, a buffer of 128 bytes is allocated using | 32 | returned. If B<buf> is NULL, a buffer of 128 bytes is allocated using |
| 33 | OPENSSL_malloc(). If the allocation fails, a pointer to the string | 33 | OPENSSL_malloc(). If the allocation fails, a pointer to the string |
| 34 | "OPENSSL_malloc Error" is returned. | 34 | "OPENSSL_malloc Error" is returned. |
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod index ca8d81b82c..81566839d3 100644 --- a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod +++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod | |||
| @@ -28,7 +28,7 @@ specifies the B<verify_callback> function to be used. If no callback function | |||
| 28 | shall be specified, the NULL pointer can be used for B<verify_callback>. In | 28 | shall be specified, the NULL pointer can be used for B<verify_callback>. In |
| 29 | this case last B<verify_callback> set specifically for this B<ssl> remains. If | 29 | this case last B<verify_callback> set specifically for this B<ssl> remains. If |
| 30 | no special B<callback> was set before, the default callback for the underlying | 30 | no special B<callback> was set before, the default callback for the underlying |
| 31 | B<ctx> is used, that was valid at the the time B<ssl> was created with | 31 | B<ctx> is used, that was valid at the time B<ssl> was created with |
| 32 | L<SSL_new(3)|SSL_new(3)>. | 32 | L<SSL_new(3)|SSL_new(3)>. |
| 33 | 33 | ||
| 34 | SSL_CTX_set_verify_depth() sets the maximum B<depth> for the certificate chain | 34 | SSL_CTX_set_verify_depth() sets the maximum B<depth> for the certificate chain |
diff --git a/src/lib/libssl/src/doc/ssl/SSL_SESSION_free.pod b/src/lib/libssl/src/doc/ssl/SSL_SESSION_free.pod index 558de01df9..110ec73ab6 100644 --- a/src/lib/libssl/src/doc/ssl/SSL_SESSION_free.pod +++ b/src/lib/libssl/src/doc/ssl/SSL_SESSION_free.pod | |||
| @@ -14,7 +14,7 @@ SSL_SESSION_free - free an allocated SSL_SESSION structure | |||
| 14 | 14 | ||
| 15 | SSL_SESSION_free() decrements the reference count of B<session> and removes | 15 | SSL_SESSION_free() decrements the reference count of B<session> and removes |
| 16 | the B<SSL_SESSION> structure pointed to by B<session> and frees up the allocated | 16 | the B<SSL_SESSION> structure pointed to by B<session> and frees up the allocated |
| 17 | memory, if the the reference count has reached 0. | 17 | memory, if the reference count has reached 0. |
| 18 | 18 | ||
| 19 | =head1 NOTES | 19 | =head1 NOTES |
| 20 | 20 | ||
diff --git a/src/lib/libssl/src/doc/ssl/SSL_free.pod b/src/lib/libssl/src/doc/ssl/SSL_free.pod index 2d4f8b6168..13c1abd9ec 100644 --- a/src/lib/libssl/src/doc/ssl/SSL_free.pod +++ b/src/lib/libssl/src/doc/ssl/SSL_free.pod | |||
| @@ -14,7 +14,7 @@ SSL_free - free an allocated SSL structure | |||
| 14 | 14 | ||
| 15 | SSL_free() decrements the reference count of B<ssl>, and removes the SSL | 15 | SSL_free() decrements the reference count of B<ssl>, and removes the SSL |
| 16 | structure pointed to by B<ssl> and frees up the allocated memory if the | 16 | structure pointed to by B<ssl> and frees up the allocated memory if the |
| 17 | the reference count has reached 0. | 17 | reference count has reached 0. |
| 18 | 18 | ||
| 19 | =head1 NOTES | 19 | =head1 NOTES |
| 20 | 20 | ||
diff --git a/src/lib/libssl/src/doc/ssleay.txt b/src/lib/libssl/src/doc/ssleay.txt index c75312911f..a8b04d7059 100644 --- a/src/lib/libssl/src/doc/ssleay.txt +++ b/src/lib/libssl/src/doc/ssleay.txt | |||
| @@ -3800,9 +3800,9 @@ made public on sci.crypt in Sep 1994 (RC4) and Feb 1996 (RC2). I have | |||
| 3800 | copies of the origional postings if people are interested. RSA I believe | 3800 | copies of the origional postings if people are interested. RSA I believe |
| 3801 | claim that they were 'trade-secrets' and that some-one broke an NDA in | 3801 | claim that they were 'trade-secrets' and that some-one broke an NDA in |
| 3802 | revealing them. Other claim they reverse engineered the algorithms from | 3802 | revealing them. Other claim they reverse engineered the algorithms from |
| 3803 | compiled binaries. If the algorithms were reverse engineered, I belive | 3803 | compiled binaries. If the algorithms were reverse engineered, I believe |
| 3804 | RSA had no legal leg to stand on. If an NDA was broken, I don't know. | 3804 | RSA had no legal leg to stand on. If an NDA was broken, I don't know. |
| 3805 | Regardless, RSA, I belive, is willing to go to court over the issue so | 3805 | Regardless, RSA, I believe, is willing to go to court over the issue so |
| 3806 | licencing is probably the best idea, or at least talk to them. | 3806 | licencing is probably the best idea, or at least talk to them. |
| 3807 | If there are people who actually know more about this, pease let me know, I | 3807 | If there are people who actually know more about this, pease let me know, I |
| 3808 | don't want to vilify or spread miss-information if I can help it. | 3808 | don't want to vilify or spread miss-information if I can help it. |
diff --git a/src/lib/libssl/src/engines/makeengines.com b/src/lib/libssl/src/engines/makeengines.com index 4a7474e010..840864f7cf 100644 --- a/src/lib/libssl/src/engines/makeengines.com +++ b/src/lib/libssl/src/engines/makeengines.com | |||
| @@ -34,7 +34,7 @@ $! Set the names of the engines we want to build | |||
| 34 | $! | 34 | $! |
| 35 | $ ENGINES = "," + P6 | 35 | $ ENGINES = "," + P6 |
| 36 | $ IF ENGINES .EQS. "," THEN - | 36 | $ IF ENGINES .EQS. "," THEN - |
| 37 | ENGINES = ",4758cca,aep,atalla,cswift,chil,nuron,sureware,ubsec" | 37 | ENGINES = ",4758cca,aep,atalla,cswift,chil,nuron,sureware,ubsec,capi" |
| 38 | $! | 38 | $! |
| 39 | $! Set the default TCP/IP library to link against if needed | 39 | $! Set the default TCP/IP library to link against if needed |
| 40 | $! | 40 | $! |
| @@ -87,6 +87,7 @@ $ ENGINE_chil = "e_chil" | |||
| 87 | $ ENGINE_nuron = "e_nuron" | 87 | $ ENGINE_nuron = "e_nuron" |
| 88 | $ ENGINE_sureware = "e_sureware" | 88 | $ ENGINE_sureware = "e_sureware" |
| 89 | $ ENGINE_ubsec = "e_ubsec" | 89 | $ ENGINE_ubsec = "e_ubsec" |
| 90 | $ ENGINE_capi = "e_capi" | ||
| 90 | $! | 91 | $! |
| 91 | $! Define which programs need to be linked with a TCP/IP library | 92 | $! Define which programs need to be linked with a TCP/IP library |
| 92 | $! | 93 | $! |
diff --git a/src/lib/libssl/src/fips/Makefile b/src/lib/libssl/src/fips/Makefile index d6dcb79a28..e038be8f13 100644 --- a/src/lib/libssl/src/fips/Makefile +++ b/src/lib/libssl/src/fips/Makefile | |||
| @@ -123,7 +123,7 @@ fips_premain_dso$(EXE_EXT): fips_premain.c | |||
| 123 | $(FIPSLIBDIR)fipscanister.o ../libcrypto.a $(EX_LIBS) | 123 | $(FIPSLIBDIR)fipscanister.o ../libcrypto.a $(EX_LIBS) |
| 124 | # this is executed only when linking with external fipscanister.o | 124 | # this is executed only when linking with external fipscanister.o |
| 125 | fips_standalone_sha1$(EXE_EXT): sha/fips_standalone_sha1.c | 125 | fips_standalone_sha1$(EXE_EXT): sha/fips_standalone_sha1.c |
| 126 | $(CC) $(CFLAGS) -DFIPSCANISTER_O -o $@ sha/fips_standalone_sha1.c $(FIPSLIBDIR)fipscanister.o | 126 | $(CC) $(CFLAGS) -DFIPSCANISTER_O -o $@ sha/fips_standalone_sha1.c $(FIPSLIBDIR)fipscanister.o $(EX_LIBS) |
| 127 | 127 | ||
| 128 | subdirs: | 128 | subdirs: |
| 129 | @target=all; $(RECURSIVE_MAKE) | 129 | @target=all; $(RECURSIVE_MAKE) |
| @@ -179,8 +179,15 @@ install: | |||
| 179 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | 179 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ |
| 180 | done; | 180 | done; |
| 181 | @target=install; $(RECURSIVE_MAKE) | 181 | @target=install; $(RECURSIVE_MAKE) |
| 182 | @cp -p -f fipscanister.o fipscanister.o.sha1 fips_premain.c \ | 182 | for i in $(EXE) ; \ |
| 183 | fips_premain.c.sha1 \ | 183 | do \ |
| 184 | echo "installing $$i"; \ | ||
| 185 | cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ | ||
| 186 | chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ | ||
| 187 | mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i; \ | ||
| 188 | done | ||
| 189 | cp -p -f $(FIPSLIBDIR)fipscanister.o $(FIPSLIBDIR)fipscanister.o.sha1 \ | ||
| 190 | $(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fips_premain.c.sha1 \ | ||
| 184 | $(INSTALL_PREFIX)$(INSTALLTOP)/lib/; \ | 191 | $(INSTALL_PREFIX)$(INSTALLTOP)/lib/; \ |
| 185 | chmod 0444 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/fips* | 192 | chmod 0444 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/fips* |
| 186 | 193 | ||
diff --git a/src/lib/libssl/src/fips/aes/Makefile b/src/lib/libssl/src/fips/aes/Makefile index 403525d4c0..7b8b3a26de 100644 --- a/src/lib/libssl/src/fips/aes/Makefile +++ b/src/lib/libssl/src/fips/aes/Makefile | |||
| @@ -22,7 +22,6 @@ CFLAGS= $(INCLUDES) $(CFLAG) | |||
| 22 | 22 | ||
| 23 | GENERAL=Makefile | 23 | GENERAL=Makefile |
| 24 | TEST=fips_aesavs.c | 24 | TEST=fips_aesavs.c |
| 25 | TESTDATA=fips_aes_data | ||
| 26 | APPS= | 25 | APPS= |
| 27 | 26 | ||
| 28 | LIB=$(TOP)/libcrypto.a | 27 | LIB=$(TOP)/libcrypto.a |
| @@ -50,7 +49,6 @@ files: | |||
| 50 | links: | 49 | links: |
| 51 | @$(PERL) $(TOP)/util/mklink.pl $(TOP)/include/openssl $(EXHEADER) | 50 | @$(PERL) $(TOP)/util/mklink.pl $(TOP)/include/openssl $(EXHEADER) |
| 52 | @$(PERL) $(TOP)/util/mklink.pl $(TOP)/test $(TEST) | 51 | @$(PERL) $(TOP)/util/mklink.pl $(TOP)/test $(TEST) |
| 53 | @$(PERL) $(TOP)/util/mklink.pl $(TOP)/test $(TESTDATA) | ||
| 54 | @$(PERL) $(TOP)/util/mklink.pl $(TOP)/apps $(APPS) | 52 | @$(PERL) $(TOP)/util/mklink.pl $(TOP)/apps $(APPS) |
| 55 | 53 | ||
| 56 | install: | 54 | install: |
diff --git a/src/lib/libssl/src/fips/sha/fips_standalone_sha1.c b/src/lib/libssl/src/fips/sha/fips_standalone_sha1.c index 058b71a20f..eec65dc39e 100644 --- a/src/lib/libssl/src/fips/sha/fips_standalone_sha1.c +++ b/src/lib/libssl/src/fips/sha/fips_standalone_sha1.c | |||
| @@ -65,7 +65,7 @@ void OPENSSL_cleanse(void *p,size_t len) {} | |||
| 65 | static void hmac_init(SHA_CTX *md_ctx,SHA_CTX *o_ctx, | 65 | static void hmac_init(SHA_CTX *md_ctx,SHA_CTX *o_ctx, |
| 66 | const char *key) | 66 | const char *key) |
| 67 | { | 67 | { |
| 68 | int len=strlen(key); | 68 | size_t len=strlen(key); |
| 69 | int i; | 69 | int i; |
| 70 | unsigned char keymd[HMAC_MAX_MD_CBLOCK]; | 70 | unsigned char keymd[HMAC_MAX_MD_CBLOCK]; |
| 71 | unsigned char pad[HMAC_MAX_MD_CBLOCK]; | 71 | unsigned char pad[HMAC_MAX_MD_CBLOCK]; |
| @@ -139,7 +139,7 @@ int main(int argc,char **argv) | |||
| 139 | for( ; ; ) | 139 | for( ; ; ) |
| 140 | { | 140 | { |
| 141 | char buf[1024]; | 141 | char buf[1024]; |
| 142 | int l=fread(buf,1,sizeof buf,f); | 142 | size_t l=fread(buf,1,sizeof buf,f); |
| 143 | 143 | ||
| 144 | if(l == 0) | 144 | if(l == 0) |
| 145 | { | 145 | { |
diff --git a/src/lib/libssl/src/ms/do_masm.bat b/src/lib/libssl/src/ms/do_masm.bat index 8c22256b32..a8575321f9 100644 --- a/src/lib/libssl/src/ms/do_masm.bat +++ b/src/lib/libssl/src/ms/do_masm.bat | |||
| @@ -1,74 +1,70 @@ | |||
| 1 | @echo off | 1 | @SET ASMOPTS=-DOPENSSL_IA32_SSE2 |
| 2 | 2 | @echo Generating x86 for MASM assember | |
| 3 | SET ASMOPTS=-DOPENSSL_IA32_SSE2 | 3 | |
| 4 | echo Generating x86 for MASM assember | 4 | @echo Bignum |
| 5 | 5 | @cd crypto\bn\asm | |
| 6 | echo Bignum | 6 | @perl bn-586.pl win32 %ASMOPTS% > bn_win32.asm |
| 7 | cd crypto\bn\asm | 7 | @perl co-586.pl win32 %ASMOPTS% > co_win32.asm |
| 8 | perl bn-586.pl win32 %ASMOPTS% > bn_win32.asm | 8 | @perl mo-586.pl win32 %ASMOPTS% > mt_win32.asm |
| 9 | perl co-586.pl win32 %ASMOPTS% > co_win32.asm | 9 | @cd ..\..\.. |
| 10 | perl mo-586.pl win32 %ASMOPTS% > mt_win32.asm | 10 | |
| 11 | cd ..\..\.. | 11 | @echo AES |
| 12 | 12 | @cd crypto\aes\asm | |
| 13 | echo AES | 13 | @perl aes-586.pl win32 %ASMOPTS% > a_win32.asm |
| 14 | cd crypto\aes\asm | 14 | @cd ..\..\.. |
| 15 | perl aes-586.pl win32 %ASMOPTS% > a_win32.asm | 15 | |
| 16 | cd ..\..\.. | 16 | @echo DES |
| 17 | 17 | @cd crypto\des\asm | |
| 18 | echo DES | 18 | @perl des-586.pl win32 %ASMOPTS% > d_win32.asm |
| 19 | cd crypto\des\asm | 19 | @cd ..\..\.. |
| 20 | perl des-586.pl win32 %ASMOPTS% > d_win32.asm | 20 | |
| 21 | cd ..\..\.. | 21 | @echo "crypt(3)" |
| 22 | 22 | ||
| 23 | echo "crypt(3)" | 23 | @cd crypto\des\asm |
| 24 | 24 | @perl crypt586.pl win32 %ASMOPTS% > y_win32.asm | |
| 25 | cd crypto\des\asm | 25 | @cd ..\..\.. |
| 26 | perl crypt586.pl win32 %ASMOPTS% > y_win32.asm | 26 | |
| 27 | cd ..\..\.. | 27 | @echo Blowfish |
| 28 | 28 | ||
| 29 | echo Blowfish | 29 | @cd crypto\bf\asm |
| 30 | 30 | @perl bf-586.pl win32 %ASMOPTS% > b_win32.asm | |
| 31 | cd crypto\bf\asm | 31 | @cd ..\..\.. |
| 32 | perl bf-586.pl win32 %ASMOPTS% > b_win32.asm | 32 | |
| 33 | cd ..\..\.. | 33 | @echo CAST5 |
| 34 | 34 | @cd crypto\cast\asm | |
| 35 | echo CAST5 | 35 | @perl cast-586.pl win32 %ASMOPTS% > c_win32.asm |
| 36 | cd crypto\cast\asm | 36 | @cd ..\..\.. |
| 37 | perl cast-586.pl win32 %ASMOPTS% > c_win32.asm | 37 | |
| 38 | cd ..\..\.. | 38 | @echo RC4 |
| 39 | 39 | @cd crypto\rc4\asm | |
| 40 | echo RC4 | 40 | @perl rc4-586.pl win32 %ASMOPTS% > r4_win32.asm |
| 41 | cd crypto\rc4\asm | 41 | @cd ..\..\.. |
| 42 | perl rc4-586.pl win32 %ASMOPTS% > r4_win32.asm | 42 | |
| 43 | cd ..\..\.. | 43 | @echo MD5 |
| 44 | 44 | @cd crypto\md5\asm | |
| 45 | echo MD5 | 45 | @perl md5-586.pl win32 %ASMOPTS% > m5_win32.asm |
| 46 | cd crypto\md5\asm | 46 | @cd ..\..\.. |
| 47 | perl md5-586.pl win32 %ASMOPTS% > m5_win32.asm | 47 | |
| 48 | cd ..\..\.. | 48 | @echo SHA1 |
| 49 | 49 | @cd crypto\sha\asm | |
| 50 | echo SHA1 | 50 | @perl sha1-586.pl win32 %ASMOPTS% > s1_win32.asm |
| 51 | cd crypto\sha\asm | 51 | @perl sha512-sse2.pl win32 %ASMOPTS% > sha512-sse2.asm |
| 52 | perl sha1-586.pl win32 %ASMOPTS% > s1_win32.asm | 52 | @cd ..\..\.. |
| 53 | perl sha512-sse2.pl win32 %ASMOPTS% > sha512-sse2.asm | 53 | |
| 54 | cd ..\..\.. | 54 | @echo RIPEMD160 |
| 55 | 55 | @cd crypto\ripemd\asm | |
| 56 | echo RIPEMD160 | 56 | @perl rmd-586.pl win32 %ASMOPTS% > rm_win32.asm |
| 57 | cd crypto\ripemd\asm | 57 | @cd ..\..\.. |
| 58 | perl rmd-586.pl win32 %ASMOPTS% > rm_win32.asm | 58 | |
| 59 | cd ..\..\.. | 59 | @echo RC5\32 |
| 60 | 60 | @cd crypto\rc5\asm | |
| 61 | echo RC5\32 | 61 | @perl rc5-586.pl win32 %ASMOPTS% > r5_win32.asm |
| 62 | cd crypto\rc5\asm | 62 | @cd ..\..\.. |
| 63 | perl rc5-586.pl win32 %ASMOPTS% > r5_win32.asm | 63 | |
| 64 | cd ..\..\.. | 64 | @echo CPU-ID |
| 65 | 65 | @cd crypto | |
| 66 | echo CPU-ID | 66 | @perl x86cpuid.pl win32 %ASMOPTS% > cpu_win32.asm |
| 67 | cd crypto | 67 | @cd .. |
| 68 | perl x86cpuid.pl win32 %ASMOPTS% > cpu_win32.asm | ||
| 69 | cd .. | ||
| 70 | |||
| 71 | echo on | ||
| 72 | 68 | ||
| 73 | perl util\mkfiles.pl >MINFO | 69 | perl util\mkfiles.pl >MINFO |
| 74 | perl util\mk1mf.pl VC-WIN32 >ms\nt.mak | 70 | perl util\mk1mf.pl VC-WIN32 >ms\nt.mak |
diff --git a/src/lib/libssl/src/openssl.spec b/src/lib/libssl/src/openssl.spec index 6008c3c9c8..329e3925b7 100644 --- a/src/lib/libssl/src/openssl.spec +++ b/src/lib/libssl/src/openssl.spec | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | %define libmaj 0 | 1 | %define libmaj 0 |
| 2 | %define libmin 9 | 2 | %define libmin 9 |
| 3 | %define librel 8 | 3 | %define librel 8 |
| 4 | %define librev j | 4 | %define librev k |
| 5 | Release: 1 | 5 | Release: 1 |
| 6 | 6 | ||
| 7 | %define openssldir /var/ssl | 7 | %define openssldir /var/ssl |
diff --git a/src/lib/libssl/src/ssl/kssl.c b/src/lib/libssl/src/ssl/kssl.c index 6da75e6416..019030ae3c 100644 --- a/src/lib/libssl/src/ssl/kssl.c +++ b/src/lib/libssl/src/ssl/kssl.c | |||
| @@ -946,7 +946,7 @@ kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text) | |||
| 946 | if (kssl_err == NULL) return; | 946 | if (kssl_err == NULL) return; |
| 947 | 947 | ||
| 948 | kssl_err->reason = reason; | 948 | kssl_err->reason = reason; |
| 949 | BIO_snprintf(kssl_err->text, KSSL_ERR_MAX, text); | 949 | BIO_snprintf(kssl_err->text, KSSL_ERR_MAX, "%s", text); |
| 950 | return; | 950 | return; |
| 951 | } | 951 | } |
| 952 | 952 | ||
diff --git a/src/lib/libssl/src/ssl/s3_clnt.c b/src/lib/libssl/src/ssl/s3_clnt.c index 5fd3520caf..50308487aa 100644 --- a/src/lib/libssl/src/ssl/s3_clnt.c +++ b/src/lib/libssl/src/ssl/s3_clnt.c | |||
| @@ -173,7 +173,7 @@ int ssl3_connect(SSL *s) | |||
| 173 | long num1; | 173 | long num1; |
| 174 | void (*cb)(const SSL *ssl,int type,int val)=NULL; | 174 | void (*cb)(const SSL *ssl,int type,int val)=NULL; |
| 175 | int ret= -1; | 175 | int ret= -1; |
| 176 | int new_state,state,skip=0;; | 176 | int new_state,state,skip=0; |
| 177 | 177 | ||
| 178 | RAND_add(&Time,sizeof(Time),0); | 178 | RAND_add(&Time,sizeof(Time),0); |
| 179 | ERR_clear_error(); | 179 | ERR_clear_error(); |
diff --git a/src/lib/libssl/src/ssl/ssl_ciph.c b/src/lib/libssl/src/ssl/ssl_ciph.c index 0c2aa249b4..52f91cfe60 100644 --- a/src/lib/libssl/src/ssl/ssl_ciph.c +++ b/src/lib/libssl/src/ssl/ssl_ciph.c | |||
| @@ -1355,7 +1355,7 @@ int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm) | |||
| 1355 | comp->method=cm; | 1355 | comp->method=cm; |
| 1356 | load_builtin_compressions(); | 1356 | load_builtin_compressions(); |
| 1357 | if (ssl_comp_methods | 1357 | if (ssl_comp_methods |
| 1358 | && !sk_SSL_COMP_find(ssl_comp_methods,comp)) | 1358 | && sk_SSL_COMP_find(ssl_comp_methods,comp) >= 0) |
| 1359 | { | 1359 | { |
| 1360 | OPENSSL_free(comp); | 1360 | OPENSSL_free(comp); |
| 1361 | MemCheck_on(); | 1361 | MemCheck_on(); |
diff --git a/src/lib/libssl/src/ssl/ssl_lib.c b/src/lib/libssl/src/ssl/ssl_lib.c index 68eee77e6f..893abff1f4 100644 --- a/src/lib/libssl/src/ssl/ssl_lib.c +++ b/src/lib/libssl/src/ssl/ssl_lib.c | |||
| @@ -510,6 +510,8 @@ void SSL_free(SSL *s) | |||
| 510 | 510 | ||
| 511 | if (s->ctx) SSL_CTX_free(s->ctx); | 511 | if (s->ctx) SSL_CTX_free(s->ctx); |
| 512 | #ifndef OPENSSL_NO_TLSEXT | 512 | #ifndef OPENSSL_NO_TLSEXT |
| 513 | if (s->tlsext_hostname) | ||
| 514 | OPENSSL_free(s->tlsext_hostname); | ||
| 513 | if (s->initial_ctx) SSL_CTX_free(s->initial_ctx); | 515 | if (s->initial_ctx) SSL_CTX_free(s->initial_ctx); |
| 514 | if (s->tlsext_ocsp_exts) | 516 | if (s->tlsext_ocsp_exts) |
| 515 | sk_X509_EXTENSION_pop_free(s->tlsext_ocsp_exts, | 517 | sk_X509_EXTENSION_pop_free(s->tlsext_ocsp_exts, |
diff --git a/src/lib/libssl/src/test/Makefile b/src/lib/libssl/src/test/Makefile index 73d64440b1..228ee368cd 100644 --- a/src/lib/libssl/src/test/Makefile +++ b/src/lib/libssl/src/test/Makefile | |||
| @@ -404,6 +404,8 @@ FIPS_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ | |||
| 404 | elif [ -n "$(FIPSCANLIB)" ]; then \ | 404 | elif [ -n "$(FIPSCANLIB)" ]; then \ |
| 405 | FIPSLD_CC=$(CC); CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \ | 405 | FIPSLD_CC=$(CC); CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \ |
| 406 | LIBRARIES="$${FIPSLIBDIR:-$(TOP)/fips/}fipscanister.o"; \ | 406 | LIBRARIES="$${FIPSLIBDIR:-$(TOP)/fips/}fipscanister.o"; \ |
| 407 | else \ | ||
| 408 | LIBRARIES="$(LIBCRYPTO)"; \ | ||
| 407 | fi; \ | 409 | fi; \ |
| 408 | $(MAKE) -f $(TOP)/Makefile.shared -e \ | 410 | $(MAKE) -f $(TOP)/Makefile.shared -e \ |
| 409 | CC=$${CC} APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \ | 411 | CC=$${CC} APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \ |
diff --git a/src/lib/libssl/src/test/times b/src/lib/libssl/src/test/times index 49aeebf216..738d569b8f 100644 --- a/src/lib/libssl/src/test/times +++ b/src/lib/libssl/src/test/times | |||
| @@ -68,7 +68,7 @@ eric (adding numbers to speculation) | |||
| 68 | --- Appendix --- | 68 | --- Appendix --- |
| 69 | - The time measured is user time but these number a very rough. | 69 | - The time measured is user time but these number a very rough. |
| 70 | - Remember this is the cost of both client and server sides of the protocol. | 70 | - Remember this is the cost of both client and server sides of the protocol. |
| 71 | - The TCP/kernal overhead of connection establishment is normally the | 71 | - The TCP/kernel overhead of connection establishment is normally the |
| 72 | killer in SSL. Often delays in the TCP protocol will make session-id | 72 | killer in SSL. Often delays in the TCP protocol will make session-id |
| 73 | reuse look slower that new sessions, but this would not be the case on | 73 | reuse look slower that new sessions, but this would not be the case on |
| 74 | a loaded server. | 74 | a loaded server. |
diff --git a/src/lib/libssl/src/util/domd b/src/lib/libssl/src/util/domd index 691be7a440..560ebeaf82 100644 --- a/src/lib/libssl/src/util/domd +++ b/src/lib/libssl/src/util/domd | |||
| @@ -22,7 +22,7 @@ if [ "$MAKEDEPEND" = "gcc" ]; then | |||
| 22 | done | 22 | done |
| 23 | sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp | 23 | sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp |
| 24 | echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp | 24 | echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp |
| 25 | gcc -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp | 25 | ${CC:-gcc} -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp |
| 26 | ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new | 26 | ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new |
| 27 | rm -f Makefile.tmp | 27 | rm -f Makefile.tmp |
| 28 | else | 28 | else |
diff --git a/src/lib/libssl/src/util/libeay.num b/src/lib/libssl/src/util/libeay.num index 0eb54ddc89..74eb337227 100644 --- a/src/lib/libssl/src/util/libeay.num +++ b/src/lib/libssl/src/util/libeay.num | |||
| @@ -3667,7 +3667,8 @@ CRYPTO_set_mem_info_functions 4053 EXIST::FUNCTION: | |||
| 3667 | RSA_X931_generate_key_ex 4054 EXIST::FUNCTION:RSA | 3667 | RSA_X931_generate_key_ex 4054 EXIST::FUNCTION:RSA |
| 3668 | int_ERR_set_state_func 4055 EXIST:OPENSSL_FIPS:FUNCTION: | 3668 | int_ERR_set_state_func 4055 EXIST:OPENSSL_FIPS:FUNCTION: |
| 3669 | int_EVP_MD_set_engine_callbacks 4056 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE | 3669 | int_EVP_MD_set_engine_callbacks 4056 EXIST:OPENSSL_FIPS:FUNCTION:ENGINE |
| 3670 | int_CRYPTO_set_do_dynlock_callback 4057 EXIST::FUNCTION: | 3670 | int_CRYPTO_set_do_dynlock_callback 4057 EXIST:!VMS:FUNCTION: |
| 3671 | int_CRYPTO_set_do_dynlock_cb 4057 EXIST:VMS:FUNCTION: | ||
| 3671 | FIPS_rng_stick 4058 EXIST:OPENSSL_FIPS:FUNCTION: | 3672 | FIPS_rng_stick 4058 EXIST:OPENSSL_FIPS:FUNCTION: |
| 3672 | EVP_CIPHER_CTX_set_flags 4059 EXIST::FUNCTION: | 3673 | EVP_CIPHER_CTX_set_flags 4059 EXIST::FUNCTION: |
| 3673 | BN_X931_generate_prime_ex 4060 EXIST::FUNCTION: | 3674 | BN_X931_generate_prime_ex 4060 EXIST::FUNCTION: |
diff --git a/src/lib/libssl/src/util/pl/VC-32.pl b/src/lib/libssl/src/util/pl/VC-32.pl index 730c2083bd..85121c8ed1 100644 --- a/src/lib/libssl/src/util/pl/VC-32.pl +++ b/src/lib/libssl/src/util/pl/VC-32.pl | |||
| @@ -164,7 +164,7 @@ if ($FLAVOR =~ /NT/) | |||
| 164 | $ex_libs="unicows.lib $ex_libs"; | 164 | $ex_libs="unicows.lib $ex_libs"; |
| 165 | } | 165 | } |
| 166 | # static library stuff | 166 | # static library stuff |
| 167 | $mklib='lib'; | 167 | $mklib='lib /nologo'; |
| 168 | $ranlib=''; | 168 | $ranlib=''; |
| 169 | $plib=""; | 169 | $plib=""; |
| 170 | $libp=".lib"; | 170 | $libp=".lib"; |
| @@ -184,7 +184,7 @@ if ($nasm) { | |||
| 184 | $asm.=' /Zi' if $debug; | 184 | $asm.=' /Zi' if $debug; |
| 185 | $afile='/Fo'; | 185 | $afile='/Fo'; |
| 186 | } else { | 186 | } else { |
| 187 | $asm='ml /Cp /coff /c /Cx'; | 187 | $asm='ml /nologo /Cp /coff /c /Cx'; |
| 188 | $asm.=" /Zi" if $debug; | 188 | $asm.=" /Zi" if $debug; |
| 189 | $afile='/Fo'; | 189 | $afile='/Fo'; |
| 190 | } | 190 | } |
| @@ -405,7 +405,7 @@ sub do_link_rule | |||
| 405 | if ($standalone == 1) | 405 | if ($standalone == 1) |
| 406 | { | 406 | { |
| 407 | $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n\t"; | 407 | $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n\t"; |
| 408 | $ret.= "$mwex advapi32.lib " if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild); | 408 | $ret.= "\$(EX_LIBS) " if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild); |
| 409 | $ret.="$files $libs\n<<\n"; | 409 | $ret.="$files $libs\n<<\n"; |
| 410 | } | 410 | } |
| 411 | elsif ($standalone == 2) | 411 | elsif ($standalone == 2) |
