openssl.git
10 years agoDTLS message_sequence number wrong in rehandshake ServerHello
Michael Tuexen [Tue, 13 Aug 2013 17:53:19 +0000 (18:53 +0100)]
DTLS message_sequence number wrong in rehandshake ServerHello

This fix ensures that
* A HelloRequest is retransmitted if not responded by a ClientHello
* The HelloRequest "consumes" the sequence number 0. The subsequent
ServerHello uses the sequence number 1.
* The client also expects the sequence number of the ServerHello to
be 1 if a HelloRequest was received earlier.
This patch fixes the RFC violation.
(cherry picked from commit b62f4daac00303280361924b9cc19b3e27528b15)

10 years agoDTLS handshake fix.
Michael Tuexen [Thu, 8 Aug 2013 12:28:55 +0000 (13:28 +0100)]
DTLS handshake fix.

Reported by: Prashant Jaikumar <rmstar@gmail.com>

Fix handling of application data received before a handshake.
(cherry picked from commit 0c75eeacd3285b395dc75b65c3e6fe6ffbef59f0)

10 years agoFix verify loop with CRL checking.
Dr. Stephen Henson [Fri, 12 Jul 2013 16:35:08 +0000 (17:35 +0100)]
Fix verify loop with CRL checking.

PR #3090
Reported by: Franck Youssef <fry@open.ch>

If no new reason codes are obtained after checking a CRL exit with an
error to avoid repeatedly checking the same CRL.

This will only happen if verify errors such as invalid CRL scope are
overridden in a callback.
(cherry picked from commit 4b26645c1a71cf9ce489e4f79fc836760b670ffe)

10 years agoFix for PEM_X509_INFO_read_bio.
Kaspar Brand [Tue, 6 Aug 2013 15:01:47 +0000 (16:01 +0100)]
Fix for PEM_X509_INFO_read_bio.

PR: 3028
Fix bug introduced in PEM_X509_INFO_bio which wouldn't process RSA keys
correctly if they appeared first.
(cherry picked from commit 5ae8d6bcbaff99423a2608559d738a3fcf7ed6dc)

10 years agocrypto/evp/e_aes.c: fix logical pre-processor bug and formatting.
Andy Polyakov [Sat, 3 Aug 2013 14:56:58 +0000 (16:56 +0200)]
crypto/evp/e_aes.c: fix logical pre-processor bug and formatting.

Bug would emerge when XTS is added to bsaes-armv7.pl. Pointed out by
Ard Biesheuvel of Linaro.
(cherry picked from commit 044f63086051d7542fa9485a1432498c39c4d8fa)

10 years agocrypto/sha/asm/sha1-x86_64.pl: comply with Win64 ABI.
Andy Polyakov [Wed, 31 Jul 2013 21:53:49 +0000 (23:53 +0200)]
crypto/sha/asm/sha1-x86_64.pl: comply with Win64 ABI.

10 years agoconfig: fix executable format detection on latest FreeBSD.
Andy Polyakov [Sun, 30 Jun 2013 21:55:55 +0000 (23:55 +0200)]
config: fix executable format detection on latest FreeBSD.

Submitted by: Bryan Drewery
PR: 3075
(cherry picked from commit c256e69d3f3acd0794ae9c1f353f4093bd4c8878)

10 years agoPA-RISC assembler pack: switch to bve in 64-bit builds.
Andy Polyakov [Tue, 18 Jun 2013 08:37:00 +0000 (10:37 +0200)]
PA-RISC assembler pack: switch to bve in 64-bit builds.

PR: 3074
(cherry picked from commit 02450ec69dda7815ba1e7bd74eb30f0ae1eb3042)

10 years agoTypo: don't call RAND_cleanup during app startup.
Dr. Stephen Henson [Wed, 12 Jun 2013 20:16:31 +0000 (21:16 +0100)]
Typo: don't call RAND_cleanup during app startup.
(cherry picked from commit 90e7f983b573c3f3c722a02db4491a1b1cd87e8c)

10 years agoDon't use RC2 with PKCS#12 files in FIPS mode.
Dr. Stephen Henson [Thu, 30 May 2013 20:39:50 +0000 (21:39 +0100)]
Don't use RC2 with PKCS#12 files in FIPS mode.

10 years agoFix PSS signature printing.
Dr. Stephen Henson [Sun, 5 May 2013 12:34:03 +0000 (13:34 +0100)]
Fix PSS signature printing.

Fix PSS signature printing: consistently use 0x prefix for hex values for
padding length and trailer fields.
(cherry picked from commit deb24ad53147f5a8dd63416224a5edd7bbc0e74a)

10 years agoReencode with X509_CRL_ctx_sign too.
Dr. Stephen Henson [Fri, 3 May 2013 11:31:47 +0000 (12:31 +0100)]
Reencode with X509_CRL_ctx_sign too.
(cherry picked from commit 96940f4f2d0300c033379a87db0ff19e598c6264)

10 years agoReencode certificates in X509_sign_ctx.
Dr. Stephen Henson [Thu, 2 May 2013 11:18:46 +0000 (12:18 +0100)]
Reencode certificates in X509_sign_ctx.

Reencode certificates in X509_sign_ctx as well as X509_sign.

This was causing a problem in the x509 application when it modified an
existing certificate.
(cherry picked from commit c6d8adb8a45186617e0a8e2c09469bd164b92b31)

11 years agocrypto/modes/modes_lcl.h: let STRICT_ALIGNMENT be on ARMv7.
Andy Polyakov [Sat, 13 Apr 2013 18:57:37 +0000 (20:57 +0200)]
crypto/modes/modes_lcl.h: let STRICT_ALIGNMENT be on ARMv7.

While ARMv7 in general is capable of unaligned access, not all instructions
actually are. And trouble is that compiler doesn't seem to differentiate
those capable and incapable of unaligned access. Side effect is that kernel
goes into endless loop retrying same instruction triggering unaligned trap.
Problem was observed in xts128.c and ccm128.c modules. It's possible to
resolve it by using (volatile u32*) casts, but letting STRICT_ALIGNMENT
be feels more appropriate.
(cherry picked from commit 3bdd80521a81d50ade4214053cd9b293f920a77b)

11 years agoSet s->d1 to NULL after freeing it.
Dr. Stephen Henson [Mon, 8 Apr 2013 17:03:12 +0000 (18:03 +0100)]
Set s->d1 to NULL after freeing it.
(cherry picked from commit 04638f2fc335a6dc2af8e5d556d36e29c261dcd2)

11 years agoTypo.
Dr. Stephen Henson [Sun, 31 Mar 2013 16:42:46 +0000 (17:42 +0100)]
Typo.
(cherry picked from commit 0ded2a06891a4d5a207d8f29aa9a89a755158170)

11 years agoCall RAND_cleanup in openssl application.
Dr. Stephen Henson [Thu, 28 Mar 2013 14:28:06 +0000 (14:28 +0000)]
Call RAND_cleanup in openssl application.

11 years agoMake binary curve ASN.1 work in FIPS mode.
Matt Caswell [Tue, 26 Mar 2013 15:39:50 +0000 (15:39 +0000)]
Make binary curve ASN.1 work in FIPS mode.

Don't check for binary curves by checking methods: the values will
be different in FIPS mode as they are redirected to the validated module
version.
(cherry picked from commit 94782e0e9c28bd872107b8f814f4db68c9fbf5ab)

11 years agoDisable compression for DTLS.
Dr. Stephen Henson [Tue, 19 Mar 2013 13:46:28 +0000 (13:46 +0000)]
Disable compression for DTLS.

The only standard compression method is stateful and is incompatible with
DTLS.
(cherry picked from commit e14b8410ca882da8e9579a2d928706f894c8e1ae)

11 years agox86cpuid.pl: make it work with older CPUs.
Andy Polyakov [Mon, 4 Mar 2013 19:05:04 +0000 (20:05 +0100)]
x86cpuid.pl: make it work with older CPUs.

PR: 3005
(cherry picked from commit 5702e965d759dde8a098d8108660721ba2b93a7d)

11 years agoe_aes_cbc_hmac_sha1.c: fix rare bad record mac on AES-NI plaforms.
Andy Polyakov [Mon, 18 Mar 2013 18:29:41 +0000 (19:29 +0100)]
e_aes_cbc_hmac_sha1.c: fix rare bad record mac on AES-NI plaforms.

PR: 3002
(cherry picked from commit 5c60046553716fcf160718f59160493194f212dc)

11 years agoAvoid unnecessary fragmentation.
Michael Tuexen [Mon, 18 Mar 2013 14:30:38 +0000 (14:30 +0000)]
Avoid unnecessary fragmentation.
(cherry picked from commit 80ccc66d7eedb2d06050130c77c482ae1584199a)

11 years agoEncode INTEGER correctly.
Dr. Stephen Henson [Mon, 18 Mar 2013 14:19:40 +0000 (14:19 +0000)]
Encode INTEGER correctly.

If an ASN1_INTEGER structure is allocated but not explicitly set encode
it as zero: don't generate an invalid zero length INTEGER.
(cherry picked from commit 1643edc63c3e15b6db5a15a728bc288f2cc2bbc7)

11 years agoMerge branch 'OpenSSL_1_0_1-stable' of ../openssl into OpenSSL_1_0_1-stable
Dr. Stephen Henson [Mon, 18 Mar 2013 14:00:13 +0000 (14:00 +0000)]
Merge branch 'OpenSSL_1_0_1-stable' of ../openssl into OpenSSL_1_0_1-stable

11 years agoTypo.
Dr. Stephen Henson [Mon, 18 Mar 2013 13:58:32 +0000 (13:58 +0000)]
Typo.
(cherry picked from commit 1546fb780bc11556a18d70c5fb29af4a9d5beaff)

11 years agox86_64-gf2m.pl: fix typo.
Andy Polyakov [Fri, 1 Mar 2013 21:36:36 +0000 (22:36 +0100)]
x86_64-gf2m.pl: fix typo.
(cherry picked from commit 342dbbbe4eb82b6e12163965a12f580c2deb03ad)

11 years agox86_64-gf2m.pl: add missing Windows build fix for #2963.
Andy Polyakov [Fri, 1 Mar 2013 20:43:10 +0000 (21:43 +0100)]
x86_64-gf2m.pl: add missing Windows build fix for #2963.

PR: 3004
(cherry picked from commit 7c43601d4424575d589f028aed0d5a4ae337527f)

11 years agobn_nist.c: cumulative update from master.
Andy Polyakov [Sat, 16 Feb 2013 10:38:46 +0000 (11:38 +0100)]
bn_nist.c: cumulative update from master.

PR: 2981, 2837

11 years agoFix POD errors to stop make install_docs dying with pod2man 2.5.0+
Nick Alcock [Fri, 15 Feb 2013 17:44:11 +0000 (17:44 +0000)]
Fix POD errors to stop make install_docs dying with pod2man 2.5.0+

podlators 2.5.0 has switched to dying on POD syntax errors. This means
that a bunch of long-standing erroneous POD in the openssl documentation
now leads to fatal errors from pod2man, halting installation.

Unfortunately POD constraints mean that you have to sort numeric lists
in ascending order if they start with 1: you cannot do 1, 0, 2 even if
you want 1 to appear first. I've reshuffled such (alas, I wish there
were a better way but I don't know of one).
(cherry picked from commit 5cc270774258149235f69e1789b3370f57b0e27b)

11 years agocms-test.pl: make it work with not-so-latest perl.
Andy Polyakov [Mon, 16 May 2011 18:11:45 +0000 (18:11 +0000)]
cms-test.pl: make it work with not-so-latest perl.
(cherry picked from commit 9c437e2faded18b4ef6499d7041c65d6e216955b)

11 years agoCheck DTLS_BAD_VER for version number.
David Woodhouse [Tue, 12 Feb 2013 14:55:32 +0000 (14:55 +0000)]
Check DTLS_BAD_VER for version number.

The version check for DTLS1_VERSION was redundant as
DTLS1_VERSION > TLS1_1_VERSION, however we do need to
check for DTLS1_BAD_VER for compatibility.

PR:2984
(cherry picked from commit d980abb22e22661e98e5cee33d760ab0c7584ecc)

11 years agoFix for SSL_get_certificate
Dr. Stephen Henson [Mon, 11 Feb 2013 18:24:03 +0000 (18:24 +0000)]
Fix for SSL_get_certificate

Now we set the current certificate to the one used by a server
there is no need to call ssl_get_server_send_cert which will
fail if we haven't sent a certificate yet.

11 years agoFix in ssltest is no-ssl2 configured
Dr. Stephen Henson [Mon, 11 Feb 2013 18:17:50 +0000 (18:17 +0000)]
Fix in ssltest is no-ssl2 configured

11 years agoupdate CHANGES
Dr. Stephen Henson [Mon, 11 Feb 2013 16:35:10 +0000 (16:35 +0000)]
update CHANGES

11 years agoprepare for next version
Dr. Stephen Henson [Mon, 11 Feb 2013 16:14:11 +0000 (16:14 +0000)]
prepare for next version

11 years agouse 10240 for record size OpenSSL_1_0_1e
Dr. Stephen Henson [Mon, 11 Feb 2013 15:15:58 +0000 (15:15 +0000)]
use 10240 for record size

Workaround for non-compliant tar files sometimes created by "make dist".

11 years agoprepare for release
Dr. Stephen Henson [Mon, 11 Feb 2013 11:57:46 +0000 (11:57 +0000)]
prepare for release

11 years agoUpdate NEWS
Dr. Stephen Henson [Mon, 11 Feb 2013 11:48:42 +0000 (11:48 +0000)]
Update NEWS

11 years agoFAQ/README: we are now using Git instead of CVS
Lutz Jaenicke [Mon, 11 Feb 2013 10:29:05 +0000 (11:29 +0100)]
FAQ/README: we are now using Git instead of CVS

11 years agosparccpuid.S: work around emulator bug on T1.
Andy Polyakov [Mon, 11 Feb 2013 09:39:50 +0000 (10:39 +0100)]
sparccpuid.S: work around emulator bug on T1.
(cherry picked from commit 3caeef94bd045608af03b061643992e3afd9c445)

11 years agossl/*: fix linking errors with no-srtp.
Andy Polyakov [Sat, 9 Feb 2013 18:52:07 +0000 (19:52 +0100)]
ssl/*: fix linking errors with no-srtp.

11 years agossl/s3_[clnt|srvr].c: fix warnings.
Andy Polyakov [Sat, 9 Feb 2013 18:50:34 +0000 (19:50 +0100)]
ssl/s3_[clnt|srvr].c: fix warnings.

11 years agos3_cbc.c: make CBC_MAC_ROTATE_IN_PLACE universal.
Andy Polyakov [Fri, 8 Feb 2013 20:30:52 +0000 (21:30 +0100)]
s3_cbc.c: make CBC_MAC_ROTATE_IN_PLACE universal.
(cherry picked from commit f93a41877d8d7a287debb7c63d7b646abaaf269c)

11 years agos3_cbc.c: get rid of expensive divisions [from master].
Andy Polyakov [Fri, 8 Feb 2013 15:59:26 +0000 (16:59 +0100)]
s3_cbc.c: get rid of expensive divisions [from master].
(cherry picked from commit e9baceab5a385e570706ca98dec768b2d89d1ac6)

11 years agoe_aes_cbc_hmac_sha1.c: fine-tune cache line alignment.
Andy Polyakov [Fri, 8 Feb 2013 08:43:01 +0000 (09:43 +0100)]
e_aes_cbc_hmac_sha1.c: fine-tune cache line alignment.

With previous commit it also ensures that valgrind is happy.

11 years agoAdd clang target.
Ben Laurie [Sat, 26 Jan 2013 15:01:48 +0000 (15:01 +0000)]
Add clang target.

11 years agoRemove extraneous brackets (clang doesn't like them).
Ben Laurie [Sat, 19 Jan 2013 15:12:08 +0000 (15:12 +0000)]
Remove extraneous brackets (clang doesn't like them).

11 years agoe_aes_cbc_hmac_sha1.c: align calculated MAC at cache line.
Andy Polyakov [Thu, 7 Feb 2013 22:03:49 +0000 (23:03 +0100)]
e_aes_cbc_hmac_sha1.c: align calculated MAC at cache line.

11 years agossl/[d1|s3]_pkt.c: harmomize orig_len handling.
Andy Polyakov [Thu, 7 Feb 2013 21:47:05 +0000 (22:47 +0100)]
ssl/[d1|s3]_pkt.c: harmomize orig_len handling.

11 years agoFix IV check and padding removal.
Dr. Stephen Henson [Thu, 7 Feb 2013 21:06:37 +0000 (21:06 +0000)]
Fix IV check and padding removal.

Fix the calculation that checks there is enough room in a record
after removing padding and optional explicit IV. (by Steve)

For AEAD remove the correct number of padding bytes (by Andy)

11 years agoFix for EXP-RC2-CBC-MD5
Adam Langley [Wed, 6 Feb 2013 16:05:40 +0000 (16:05 +0000)]
Fix for EXP-RC2-CBC-MD5

MD5 should use little endian order. Fortunately the only ciphersuite
affected is EXP-RC2-CBC-MD5 (TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5) which
is a rarely used export grade ciphersuite.

11 years agoprepare for next version
Dr. Stephen Henson [Wed, 6 Feb 2013 02:26:24 +0000 (02:26 +0000)]
prepare for next version

11 years agotypo OpenSSL_1_0_1d
Dr. Stephen Henson [Mon, 4 Feb 2013 23:12:58 +0000 (23:12 +0000)]
typo

11 years agoPrepare for release.
Dr. Stephen Henson [Mon, 4 Feb 2013 22:40:10 +0000 (22:40 +0000)]
Prepare for release.

11 years agotypo
Dr. Stephen Henson [Mon, 4 Feb 2013 22:39:37 +0000 (22:39 +0000)]
typo

11 years agomake update
Dr. Stephen Henson [Mon, 4 Feb 2013 21:29:41 +0000 (21:29 +0000)]
make update

11 years agoFix error codes.
Dr. Stephen Henson [Mon, 4 Feb 2013 21:13:18 +0000 (21:13 +0000)]
Fix error codes.

11 years agoReword NEWS entry.
Dr. Stephen Henson [Mon, 4 Feb 2013 20:48:45 +0000 (20:48 +0000)]
Reword NEWS entry.

11 years agoUpdate NEWS
Dr. Stephen Henson [Mon, 4 Feb 2013 20:47:36 +0000 (20:47 +0000)]
Update NEWS

11 years agoAdd CHANGES entries.
Dr. Stephen Henson [Mon, 4 Feb 2013 20:34:26 +0000 (20:34 +0000)]
Add CHANGES entries.

11 years agoe_aes_cbc_hmac_sha1.c: cleanse temporary copy of HMAC secret.
Andy Polyakov [Sun, 3 Feb 2013 19:04:39 +0000 (20:04 +0100)]
e_aes_cbc_hmac_sha1.c: cleanse temporary copy of HMAC secret.

11 years agobn_word.c: fix overflow bug in BN_add_word.
Andy Polyakov [Fri, 9 Nov 2012 13:58:40 +0000 (13:58 +0000)]
bn_word.c: fix overflow bug in BN_add_word.
(cherry picked from commit 134c00659a1bc67ad35a1e4620e16bc4315e6e37)

11 years agox86_64 assembly pack: keep making Windows build more robust.
Andy Polyakov [Sat, 2 Feb 2013 18:52:43 +0000 (19:52 +0100)]
x86_64 assembly pack: keep making Windows build more robust.

PR: 2963 and a number of others
(cherry picked from commit 4568182a8b8cbfd15cbc175189029ac547bd1762)

11 years agoe_aes_cbc_hmac_sha1.c: address the CBC decrypt timing issues.
Andy Polyakov [Sat, 2 Feb 2013 18:29:59 +0000 (19:29 +0100)]
e_aes_cbc_hmac_sha1.c: address the CBC decrypt timing issues.

Address CBC decrypt timing issues and reenable the AESNI+SHA1 stitch.

11 years agoMerge remote-tracking branch 'origin/OpenSSL_1_0_1-stable' into OpenSSL_1_0_1-stable
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

11 years agossl/*: remove SSL3_RECORD->orig_len to restore binary compatibility.
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.

11 years agossl/*: remove SSL3_RECORD->orig_len to restore binary compatibility.
Andy Polyakov [Fri, 1 Feb 2013 14:31:50 +0000 (15:31 +0100)]
ssl/*: remove SSL3_RECORD->orig_len to restore binary compatibility.

11 years agoDon't access EVP_MD_CTX internals directly.
Dr. Stephen Henson [Fri, 1 Feb 2013 13:53:43 +0000 (13:53 +0000)]
Don't access EVP_MD_CTX internals directly.

11 years agos3/s3_cbc.c: allow for compilations with NO_SHA256|512.
Andy Polyakov [Fri, 1 Feb 2013 09:10:32 +0000 (10:10 +0100)]
s3/s3_cbc.c: allow for compilations with NO_SHA256|512.

11 years agossl/s3_cbc.c: md_state alignment portability fix.
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.

11 years agossl/s3_cbc.c: uint64_t portability fix.
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.

11 years agotypo.
Dr. Stephen Henson [Thu, 31 Jan 2013 23:04:39 +0000 (23:04 +0000)]
typo.

11 years agoMerge branch 'ben/timing-1.0.1' into OpenSSL_1_0_1-stable
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

11 years agoUpdate NEWS
Dr. Stephen Henson [Thu, 31 Jan 2013 16:39:40 +0000 (16:39 +0000)]
Update NEWS

11 years agoAdd ordinal for CRYPTO_memcmp: since this will affect multiple
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".

11 years agoTiming fix mitigation for FIPS mode.
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.

11 years agoDon't try and verify signatures if key is NULL (CVE-2013-0166)
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.

11 years agoOops. Add missing file.
Ben Laurie [Mon, 28 Jan 2013 18:24:55 +0000 (18:24 +0000)]
Oops. Add missing file.

11 years agoUpdate DTLS code to match CBC decoding in TLS.
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.

11 years agoDon't crash when processing a zero-length, TLS >= 1.1 record.
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.

11 years agoMake CBC decoding constant time.
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.

11 years agoAdd and use a constant-time memcmp.
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.

11 years agoDon't include comp.h in cmd_cd.c if OPENSSL_NO_COMP set
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

11 years agox86_64 assembly pack: make Windows build more robust [from master].
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

11 years agobn/asm/mips.pl: hardwire local call to bn_div_words.
Andy Polyakov [Tue, 22 Jan 2013 20:13:37 +0000 (21:13 +0100)]
bn/asm/mips.pl: hardwire local call to bn_div_words.

11 years agoDon't include comp.h if no-comp set.
Dr. Stephen Henson [Sun, 20 Jan 2013 01:07:58 +0000 (01:07 +0000)]
Don't include comp.h if no-comp set.

11 years agoengines/ccgost: GOST fixes [from master].
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

11 years ago.gitignore adjustments
Andy Polyakov [Sat, 19 Jan 2013 12:20:21 +0000 (13:20 +0100)]
.gitignore adjustments

11 years agoMerge branch 'OpenSSL_1_0_1-stable' of /home/steve/src/git/openssl into OpenSSL_1_0_1...
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

11 years agoFix some clang warnings.
Ben Laurie [Sun, 13 Jan 2013 21:04:39 +0000 (21:04 +0000)]
Fix some clang warnings.

11 years agoMerge branch 'OpenSSL_1_0_1-stable' of openssl.net:openssl into OpenSSL_1_0_1-stable
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

11 years agoCorrect 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).

11 years agoCorrect 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).

11 years agoUpdate debug-steve64
Dr. Stephen Henson [Mon, 7 Jan 2013 16:24:58 +0000 (16:24 +0000)]
Update debug-steve64

11 years agoAdd .gitignore
Dr. Stephen Henson [Mon, 7 Jan 2013 16:23:00 +0000 (16:23 +0000)]
Add .gitignore

11 years agoIn FIPS mode use PKCS#8 format when writing private keys:
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.

11 years agoChange default bits to 1024
Dr. Stephen Henson [Mon, 7 Jan 2013 16:13:48 +0000 (16:13 +0000)]
Change default bits to 1024

11 years agomake no-comp compile
Dr. Stephen Henson [Sun, 30 Dec 2012 16:05:11 +0000 (16:05 +0000)]
make no-comp compile

11 years agoadd missing \n
Dr. Stephen Henson [Sun, 23 Dec 2012 18:19:28 +0000 (18:19 +0000)]
add missing \n

11 years agoVC-32.pl: fix typo [from HEAD].
Andy Polyakov [Sun, 16 Dec 2012 19:41:57 +0000 (19:41 +0000)]
VC-32.pl: fix typo [from HEAD].

Submitted by: Pierre Delaage