Ben Laurie [Fri, 1 Feb 2013 19:04:26 +0000 (19:04 +0000)]
Merge remote-tracking branch 'origin/OpenSSL_1_0_1-stable' into OpenSSL_1_0_1-stable
Andy Polyakov [Fri, 1 Feb 2013 14:31:50 +0000 (15:31 +0100)]
ssl/*: remove SSL3_RECORD->orig_len to restore binary compatibility.
Kludge alert. This is arranged by passing padding length in unused
bits of SSL3_RECORD->type, so that orig_len can be reconstructed.
Andy Polyakov [Fri, 1 Feb 2013 14:31:50 +0000 (15:31 +0100)]
ssl/*: remove SSL3_RECORD->orig_len to restore binary compatibility.
Dr. Stephen Henson [Fri, 1 Feb 2013 13:53:43 +0000 (13:53 +0000)]
Don't access EVP_MD_CTX internals directly.
Andy Polyakov [Fri, 1 Feb 2013 09:10:32 +0000 (10:10 +0100)]
s3/s3_cbc.c: allow for compilations with NO_SHA256|512.
Andy Polyakov [Fri, 1 Feb 2013 08:59:56 +0000 (09:59 +0100)]
ssl/s3_cbc.c: md_state alignment portability fix.
RISCs are picky and alignment granted by compiler for md_state can be
insufficient for SHA512.
Andy Polyakov [Fri, 1 Feb 2013 08:55:43 +0000 (09:55 +0100)]
ssl/s3_cbc.c: uint64_t portability fix.
Break dependency on uint64_t. It's possible to declare bits as
unsigned int, because TLS packets are limited in size and 32-bit
value can't overflow.
Dr. Stephen Henson [Thu, 31 Jan 2013 23:04:39 +0000 (23:04 +0000)]
typo.
Dr. Stephen Henson [Thu, 31 Jan 2013 17:04:41 +0000 (17:04 +0000)]
Merge branch 'ben/timing-1.0.1' into OpenSSL_1_0_1-stable
Dr. Stephen Henson [Thu, 31 Jan 2013 16:39:40 +0000 (16:39 +0000)]
Update NEWS
Dr. Stephen Henson [Thu, 31 Jan 2013 15:19:00 +0000 (15:19 +0000)]
Add ordinal for CRYPTO_memcmp: since this will affect multiple
branches it needs to be in a "gap".
Dr. Stephen Henson [Tue, 29 Jan 2013 14:44:36 +0000 (14:44 +0000)]
Timing fix mitigation for FIPS mode.
We have to use EVP in FIPS mode so we can only partially mitigate
timing differences.
Make an extra call to EVP_DigestSignUpdate to hash additonal blocks
to cover any timing differences caused by removal of padding.
Dr. Stephen Henson [Thu, 24 Jan 2013 13:30:42 +0000 (13:30 +0000)]
Don't try and verify signatures if key is NULL (CVE-2013-0166)
Add additional check to catch this in ASN1_item_verify too.
Ben Laurie [Mon, 28 Jan 2013 18:24:55 +0000 (18:24 +0000)]
Oops. Add missing file.
Ben Laurie [Mon, 28 Jan 2013 17:34:33 +0000 (17:34 +0000)]
Update DTLS code to match CBC decoding in TLS.
This change updates the DTLS code to match the constant-time CBC
behaviour in the TLS.
Ben Laurie [Mon, 28 Jan 2013 17:33:18 +0000 (17:33 +0000)]
Don't crash when processing a zero-length, TLS >= 1.1 record.
The previous CBC patch was bugged in that there was a path through enc()
in s3_pkt.c/d1_pkt.c which didn't set orig_len. orig_len would be left
at the previous value which could suggest that the packet was a
sufficient length when it wasn't.
Ben Laurie [Mon, 28 Jan 2013 17:31:49 +0000 (17:31 +0000)]
Make CBC decoding constant time.
This patch makes the decoding of SSLv3 and TLS CBC records constant
time. Without this, a timing side-channel can be used to build a padding
oracle and mount Vaudenay's attack.
This patch also disables the stitched AESNI+SHA mode pending a similar
fix to that code.
In order to be easy to backport, this change is implemented in ssl/,
rather than as a generic AEAD mode. In the future this should be changed
around so that HMAC isn't in ssl/, but crypto/ as FIPS expects.
Ben Laurie [Mon, 28 Jan 2013 17:30:38 +0000 (17:30 +0000)]
Add and use a constant-time memcmp.
This change adds CRYPTO_memcmp, which compares two vectors of bytes in
an amount of time that's independent of their contents. It also changes
several MAC compares in the code to use this over the standard memcmp,
which may leak information about the size of a matching prefix.
Dr. Stephen Henson [Wed, 23 Jan 2013 01:04:36 +0000 (01:04 +0000)]
Don't include comp.h in cmd_cd.c if OPENSSL_NO_COMP set
Andy Polyakov [Tue, 22 Jan 2013 21:11:31 +0000 (22:11 +0100)]
x86_64 assembly pack: make Windows build more robust [from master].
PR: 2963 and a number of others
Andy Polyakov [Tue, 22 Jan 2013 20:13:37 +0000 (21:13 +0100)]
bn/asm/mips.pl: hardwire local call to bn_div_words.
Dr. Stephen Henson [Sun, 20 Jan 2013 01:07:58 +0000 (01:07 +0000)]
Don't include comp.h if no-comp set.
Andy Polyakov [Sat, 19 Jan 2013 17:24:03 +0000 (18:24 +0100)]
engines/ccgost: GOST fixes [from master].
Submitted by: Dmitry Belyavsky, Seguei Leontiev
PR: 2821
Andy Polyakov [Sat, 19 Jan 2013 12:20:21 +0000 (13:20 +0100)]
.gitignore adjustments
Dr. Stephen Henson [Mon, 14 Jan 2013 00:24:34 +0000 (00:24 +0000)]
Merge branch 'OpenSSL_1_0_1-stable' of /home/steve/src/git/openssl into OpenSSL_1_0_1-stable
Ben Laurie [Sun, 13 Jan 2013 21:04:39 +0000 (21:04 +0000)]
Fix some clang warnings.
Dr. Stephen Henson [Sun, 13 Jan 2013 23:01:43 +0000 (23:01 +0000)]
Merge branch 'OpenSSL_1_0_1-stable' of openssl.net:openssl into OpenSSL_1_0_1-stable
Ben Laurie [Sat, 12 Jan 2013 12:25:30 +0000 (12:25 +0000)]
Correct EVP_PKEY_verifyrecover to EVP_PKEY_verify_recover (RT 2955).
Ben Laurie [Sat, 12 Jan 2013 12:25:30 +0000 (12:25 +0000)]
Correct EVP_PKEY_verifyrecover to EVP_PKEY_verify_recover (RT 2955).
Dr. Stephen Henson [Mon, 7 Jan 2013 16:24:58 +0000 (16:24 +0000)]
Update debug-steve64
Dr. Stephen Henson [Mon, 7 Jan 2013 16:23:00 +0000 (16:23 +0000)]
Add .gitignore
Dr. Stephen Henson [Mon, 7 Jan 2013 16:14:15 +0000 (16:14 +0000)]
In FIPS mode use PKCS#8 format when writing private keys:
traditional format uses MD5 which is prohibited in FIPS mode.
Dr. Stephen Henson [Mon, 7 Jan 2013 16:13:48 +0000 (16:13 +0000)]
Change default bits to 1024
Dr. Stephen Henson [Sun, 30 Dec 2012 16:05:11 +0000 (16:05 +0000)]
make no-comp compile
Dr. Stephen Henson [Sun, 23 Dec 2012 18:19:28 +0000 (18:19 +0000)]
add missing \n
Andy Polyakov [Sun, 16 Dec 2012 19:41:57 +0000 (19:41 +0000)]
VC-32.pl: fix typo [from HEAD].
Submitted by: Pierre Delaage
Ben Laurie [Fri, 14 Dec 2012 13:29:51 +0000 (13:29 +0000)]
Documentation improvements by Chris Palmer (Google).
Ben Laurie [Thu, 13 Dec 2012 16:08:17 +0000 (16:08 +0000)]
Document -pubkey option.
Ben Laurie [Thu, 13 Dec 2012 15:48:42 +0000 (15:48 +0000)]
Make verify return errors.
Ben Laurie [Thu, 13 Dec 2012 15:46:46 +0000 (15:46 +0000)]
Add 64 bit target.
Dr. Stephen Henson [Thu, 6 Dec 2012 18:25:03 +0000 (18:25 +0000)]
Fix two bugs which affect delta CRL handling:
Use -1 to check all extensions in CRLs.
Always set flag for freshest CRL.
Andy Polyakov [Wed, 5 Dec 2012 17:45:24 +0000 (17:45 +0000)]
aes-s390x.pl: fix XTS bugs in z196-specific code path [from HEAD].
Dr. Stephen Henson [Tue, 4 Dec 2012 17:26:13 +0000 (17:26 +0000)]
check mval for NULL too
Dr. Stephen Henson [Mon, 3 Dec 2012 16:33:24 +0000 (16:33 +0000)]
fix leak
Andy Polyakov [Sat, 1 Dec 2012 11:11:12 +0000 (11:11 +0000)]
aes-s389x.pl: harmonize software-only code path [from HEAD].
Dr. Stephen Henson [Thu, 29 Nov 2012 19:15:36 +0000 (19:15 +0000)]
PR: 2803
Submitted by: jean-etienne.schwartz@bull.net
In OCSP_basic_varify return an error if X509_STORE_CTX_init fails.
Dr. Stephen Henson [Thu, 22 Nov 2012 14:15:25 +0000 (14:15 +0000)]
reject zero length point format list or supported curves extensions
Dr. Stephen Henson [Wed, 21 Nov 2012 14:02:21 +0000 (14:02 +0000)]
PR: 2908
Submitted by: Dmitry Belyavsky <beldmit@gmail.com>
Fix DH double free if parameter generation fails.
Dr. Stephen Henson [Tue, 20 Nov 2012 00:28:56 +0000 (00:28 +0000)]
fix leaks
Dr. Stephen Henson [Mon, 19 Nov 2012 20:07:05 +0000 (20:07 +0000)]
correct docs
Dr. Stephen Henson [Sun, 18 Nov 2012 15:21:02 +0000 (15:21 +0000)]
PR: 2880
Submitted by: "Florian Rüchel" <florian.ruechel@ruhr-uni-bochum.de>
Correctly handle local machine keys in the capi ENGINE.
Dr. Stephen Henson [Thu, 15 Nov 2012 19:15:20 +0000 (19:15 +0000)]
add "missing" TLSv1.2 cipher alias
Dr. Stephen Henson [Tue, 16 Oct 2012 22:46:40 +0000 (22:46 +0000)]
Don't require tag before ciphertext in AESGCM mode
Andy Polyakov [Tue, 16 Oct 2012 08:16:25 +0000 (08:16 +0000)]
aix[64]-cc: get MT support right [from HEAD].
PR: 2896
Bodo Möller [Fri, 5 Oct 2012 20:51:12 +0000 (20:51 +0000)]
Fix EC_KEY initialization race.
Submitted by: Adam Langley
Bodo Möller [Mon, 24 Sep 2012 19:49:42 +0000 (19:49 +0000)]
Fix Valgrind warning.
Submitted by: Adam Langley
Richard Levitte [Mon, 24 Sep 2012 18:49:04 +0000 (18:49 +0000)]
* Configure: make the debug-levitte-linux{elf,noasm} less extreme.
Dr. Stephen Henson [Fri, 21 Sep 2012 14:01:59 +0000 (14:01 +0000)]
Minor enhancement to PR#2836 fix. Instead of modifying SSL_get_certificate
change the current certificate (in s->cert->key) to the one used and then
SSL_get_certificate and SSL_get_privatekey will automatically work.
Note for 1.0.1 and earlier also includes backport of the function
ssl_get_server_send_pkey.
Richard Levitte [Fri, 21 Sep 2012 13:08:28 +0000 (13:08 +0000)]
* ssl/t1_enc.c (tls1_change_cipher_state): Stupid bug. Fortunately in
debugging code that's seldom used.
Bodo Möller [Mon, 17 Sep 2012 17:24:44 +0000 (17:24 +0000)]
Fix warning.
Submitted by: Chromium Authors
Ben Laurie [Mon, 17 Sep 2012 14:39:38 +0000 (14:39 +0000)]
Call OCSP Stapling callback after ciphersuite has been chosen, so the
right response is stapled. Also change SSL_get_certificate() so it
returns the certificate actually sent.
See http://rt.openssl.org/Ticket/Display.html?id=2836.
Andy Polyakov [Sat, 15 Sep 2012 08:46:31 +0000 (08:46 +0000)]
e_aes.c: uninitialized variable in aes_ccm_init_key [from HEAD].
PR: 2874
Submitted by: Tomas Mraz
Dr. Stephen Henson [Tue, 11 Sep 2012 13:44:38 +0000 (13:44 +0000)]
fix memory leak
Andy Polyakov [Sat, 1 Sep 2012 13:23:05 +0000 (13:23 +0000)]
bn_lcl.h: gcc removed support for "h" constraint, which broke inline
assembler [from HEAD].
Dr. Stephen Henson [Sat, 1 Sep 2012 11:29:52 +0000 (11:29 +0000)]
Don't load GOST ENGINE if it is already loaded.
Multiple copies of the ENGINE will cause problems when it is cleaned up as
the methods are stored in static structures which will be overwritten and
freed up more than once.
Set static methods to NULL when the ENGINE is freed so it can be reloaded.
Dr. Stephen Henson [Wed, 22 Aug 2012 22:42:04 +0000 (22:42 +0000)]
PR: 2786
Reported by: Tomas Mraz <tmraz@redhat.com>
Treat a NULL value passed to drbg_free_entropy callback as non-op. This
can happen if the call to fips_get_entropy fails.
Andy Polyakov [Fri, 17 Aug 2012 19:59:49 +0000 (19:59 +0000)]
sha1-armv4-large.pl: comply with ABI [from HEAD].
Andy Polyakov [Fri, 17 Aug 2012 09:02:40 +0000 (09:02 +0000)]
aes-mips.pl: harmonize with fips module.
PR: 2863
Submitted by: Duane Sand
Bodo Möller [Thu, 16 Aug 2012 13:43:37 +0000 (13:43 +0000)]
Enable message names for TLS 1.1, 1.2 with -msg.
Andy Polyakov [Mon, 13 Aug 2012 16:38:43 +0000 (16:38 +0000)]
gosthash.c: use memmove in circle_xor8, as input pointers can be equal
[from HEAD].
PR: 2858
Andy Polyakov [Mon, 13 Aug 2012 16:18:59 +0000 (16:18 +0000)]
./Configure: libcrypto.a can grow to many GB on Solaris 10, because of ar bug
[from HEAD].
PR: 2838
Andy Polyakov [Mon, 13 Aug 2012 15:32:18 +0000 (15:32 +0000)]
gcm128.c: fix AAD-only case with AAD length not divisible by 16 [from HEAD].
PR: 2859
Submitted by: John Foley
Richard Levitte [Thu, 5 Jul 2012 12:58:27 +0000 (12:58 +0000)]
Add evp_cnf in the build.
Dr. Stephen Henson [Thu, 5 Jul 2012 11:49:56 +0000 (11:49 +0000)]
update NEWS
Richard Levitte [Thu, 5 Jul 2012 09:00:49 +0000 (09:00 +0000)]
Have the new names start in column 48, that makes it easy to see when
the 31 character limit is reached (on a 80 column display, do the math)
Richard Levitte [Thu, 5 Jul 2012 08:49:30 +0000 (08:49 +0000)]
Cosmetics: remove duplicate symbol in crypto/symhacks.h
Dr. Stephen Henson [Wed, 4 Jul 2012 13:14:11 +0000 (13:14 +0000)]
add missing evp_cnf.c file
Dr. Stephen Henson [Tue, 3 Jul 2012 20:16:30 +0000 (20:16 +0000)]
PR: 2840
Reported by: David McCullough <david_mccullough@mcafee.com>
Restore fips configuration module from 0.9.8.
Dr. Stephen Henson [Tue, 3 Jul 2012 16:36:10 +0000 (16:36 +0000)]
Fix memory leak.
Always perform nexproto callback argument initialisation in s_server
otherwise we use uninitialised data if -nocert is specified.
Ben Laurie [Sun, 1 Jul 2012 16:04:12 +0000 (16:04 +0000)]
Unused variable.
Andy Polyakov [Sun, 1 Jul 2012 09:12:14 +0000 (09:12 +0000)]
bss_dgram.c: fix typos in Windows code.
Dr. Stephen Henson [Wed, 27 Jun 2012 14:11:40 +0000 (14:11 +0000)]
don't use pseudo digests for default values of keys
Andy Polyakov [Wed, 27 Jun 2012 12:58:03 +0000 (12:58 +0000)]
x86_64 assembly pack: make it possible to compile with Perl located
on path with spaces [from HEAD].
PR: 2835
Dr. Stephen Henson [Tue, 19 Jun 2012 13:39:03 +0000 (13:39 +0000)]
oops, add -debug_decrypt option which was accidenatally left out
Andy Polyakov [Tue, 19 Jun 2012 12:36:00 +0000 (12:36 +0000)]
bss_dgram.c: fix bugs [from HEAD].
PR: 2833
Dr. Stephen Henson [Sun, 10 Jun 2012 23:01:28 +0000 (23:01 +0000)]
revert more "version skew" changes that break FIPS builds
Dr. Stephen Henson [Sat, 9 Jun 2012 23:35:34 +0000 (23:35 +0000)]
Revert "version skew" patches that break FIPS compilation.
Ben Laurie [Fri, 8 Jun 2012 09:18:47 +0000 (09:18 +0000)]
Reduce version skew.
Andy Polyakov [Wed, 16 May 2012 18:22:27 +0000 (18:22 +0000)]
s2_clnt.c: compensate for compiler bug [from HEAD].
Andy Polyakov [Wed, 16 May 2012 18:18:29 +0000 (18:18 +0000)]
ppccap.c: assume no features under 32-bit AIX kernel [from HEAD].
PR: 2810
Dr. Stephen Henson [Fri, 11 May 2012 13:52:46 +0000 (13:52 +0000)]
PR: 2813
Reported by: Constantine Sapuntzakis <csapuntz@gmail.com>
Fix possible deadlock when decoding public keys.
Dr. Stephen Henson [Fri, 11 May 2012 13:32:26 +0000 (13:32 +0000)]
PR: 2811
Reported by: Phil Pennock <openssl-dev@spodhuis.org>
Make renegotiation work for TLS 1.2, 1.1 by not using a lower record
version client hello workaround if renegotiating.
Dr. Stephen Henson [Thu, 10 May 2012 18:24:32 +0000 (18:24 +0000)]
PR: 2806
Submitted by: PK <runningdoglackey@yahoo.com>
Correct ciphersuite signature algorithm definitions.
Dr. Stephen Henson [Thu, 10 May 2012 16:02:30 +0000 (16:02 +0000)]
prepare for next version
Dr. Stephen Henson [Thu, 10 May 2012 15:16:37 +0000 (15:16 +0000)]
prepare for 1.0.1c release
Dr. Stephen Henson [Thu, 10 May 2012 15:11:34 +0000 (15:11 +0000)]
update NEWS
Dr. Stephen Henson [Thu, 10 May 2012 15:10:15 +0000 (15:10 +0000)]
Sanity check record length before skipping explicit IV in TLS 1.2, 1.1 and
DTLS to fix DoS attack.
Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic
fuzzing as a service testing platform.
(CVE-2012-2333)
Richard Levitte [Thu, 10 May 2012 15:01:22 +0000 (15:01 +0000)]
Don't forget to install srtp.h as well
Dr. Stephen Henson [Thu, 10 May 2012 13:38:18 +0000 (13:38 +0000)]
oops, revert unrelated change
Dr. Stephen Henson [Thu, 10 May 2012 13:34:22 +0000 (13:34 +0000)]
Reported by: Solar Designer of Openwall
Make sure tkeylen is initialised properly when encrypting CMS messages.