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.
Conflicts:
ssl/d1_pkt.c
(cherry picked from commit
6f87807e629ee10ec0006b39d8851af8c5ade67b)
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)
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)
Dr. Stephen Henson [Sun, 7 Apr 2013 16:23:21 +0000 (17:23 +0100)]
Print out DSA key if parameters absent.
In DSA_print DSA parameters can be absent (e.g inherited) it is
not a fatal error.
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)
Andy Polyakov [Mon, 18 Mar 2013 19:03:44 +0000 (20:03 +0100)]
x86cpuid.pl: make it work with older CPU.
PR: 3005, from master
Michael Tuexen [Mon, 18 Mar 2013 14:30:38 +0000 (14:30 +0000)]
Avoid unnecessary fragmentation.
(cherry picked from commit
80ccc66d7eedb2d06050130c77c482ae1584199a)
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.
Dr. Stephen Henson [Mon, 18 Mar 2013 13:58:32 +0000 (13:58 +0000)]
Typo.
Dr. Stephen Henson [Tue, 26 Feb 2013 17:13:37 +0000 (17:13 +0000)]
Merge branch 'OpenSSL_0_9_8-stable' of /home/steve/src/git/openssl into OpenSSL_0_9_8-stable
Geoff Lowe [Tue, 26 Feb 2013 17:12:13 +0000 (17:12 +0000)]
Use orig_len, not rec->orig_len
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).
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)
David Woodhouse [Tue, 12 Feb 2013 15:09:44 +0000 (15:09 +0000)]
Check DTLS_BAD_VER for version number.
Need to check DTLS_BAD_VER as well as DTLS1_VERSION.
PR:2984
(cherry picked from commit
6a14feb048c0b7ad4da341fca364171e273da325)
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.
(cherry picked from commit
147dbb2fe3bead7a10e2f280261b661ce7af7adc)
Dr. Stephen Henson [Mon, 11 Feb 2013 18:17:50 +0000 (18:17 +0000)]
Fix in ssltest is no-ssl2 configured
(cherry picked from commit
cbf9b4aed3e209fe8a39e1d6f55aaf46d1369dc4)
Dr. Stephen Henson [Mon, 11 Feb 2013 15:05:49 +0000 (15:05 +0000)]
use 10240 for tar record size
Lutz Jaenicke [Mon, 11 Feb 2013 10:29:05 +0000 (11:29 +0100)]
FAQ/README: we are now using Git instead of CVS
(cherry picked from commit
f88dbb8385c199a2a28e9525c6bba3a64bda96af)
Conflicts:
INSTALL.W32
Dr. Stephen Henson [Sun, 10 Feb 2013 13:30:04 +0000 (13:30 +0000)]
Set next version.
Note: it was decided that after 0.9.8y it should be 0.9.8za then
0.9.8zb etc.
Andy Polyakov [Sat, 9 Feb 2013 18:38:47 +0000 (19:38 +0100)]
ssl/s3_[clnt|srvr].c: fix warning and linking error.
PR: 2979
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)
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)
Andy Polyakov [Fri, 8 Feb 2013 11:03:16 +0000 (12:03 +0100)]
ssl/s3_enc.c: remove artefact.
Andy Polyakov [Thu, 7 Feb 2013 21:47:05 +0000 (22:47 +0100)]
ssl/[d1|s3]_pkt.c: harmomize orig_len handling.
(cherry picked from commit
8545f73b8919770a5d012fe7a82d6785b69baa27)
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)
(cherry picked from commit
be125aa5bae0b6baac526890c835e10378b6df74)
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.
(cherry picked from commit
413cbfe68d83f9afc726b7234c49bd5ccddb97b4)
Adam Langley [Wed, 6 Feb 2013 15:50:42 +0000 (15:50 +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.
(cherry picked from commit
ee463921ed94572b97a5e1fa8c4d88a27099347e)
Dr. Stephen Henson [Mon, 4 Feb 2013 23:31:21 +0000 (23:31 +0000)]
prepare for release
Dr. Stephen Henson [Mon, 4 Feb 2013 23:21:50 +0000 (23:21 +0000)]
make update
Dr. Stephen Henson [Mon, 4 Feb 2013 21:13:18 +0000 (21:13 +0000)]
Fix error codes.
(cherry picked from commit
35d732fc2e1badce13be22a044187ebd4d769552)
Dr. Stephen Henson [Mon, 4 Feb 2013 23:18:46 +0000 (23:18 +0000)]
update NEWS and CHANGES
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)
Dr. Stephen Henson [Fri, 1 Feb 2013 16:05:54 +0000 (16:05 +0000)]
update NEWS
Andy Polyakov [Fri, 1 Feb 2013 09:10:32 +0000 (10:10 +0100)]
s3/s3_cbc.c: allow for compilations with NO_SHA256|512.
(cherry picked from commit
d5371324d978e4096bf99b9d0fe71b2cb65d9dc8)
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.
(cherry picked from commit
36260233e7e3396feed884d3f501283e0453c04f)
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.
(cherry picked from commit
cab13fc8473856a43556d41d8dac5605f4ba1f91)
Dr. Stephen Henson [Fri, 1 Feb 2013 14:29:01 +0000 (14:29 +0000)]
Don't access EVP_MD internals directly.
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 [Thu, 31 Jan 2013 14:35:34 +0000 (14:35 +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 HMAC_Update to hash additonal blocks
to cover any timing differences caused by removal of padding.
Dr. Stephen Henson [Thu, 31 Jan 2013 14:31:11 +0000 (14:31 +0000)]
Move CRYPTO_memcmp to o_init.c when compiling with fips: cryptlib.o
is in the fips module for fips capable builds.
Dr. Stephen Henson [Thu, 31 Jan 2013 14:14:25 +0000 (14:14 +0000)]
The cbc functions shouldn't be inside #ifdef OPENSSL_NO_TLSEXT
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.
(cherry picked from commit
9f27de170d1b7bef3d46d41382dc4dafde8b3900)
(cherry picked from commit
5e4ca556e970edb8a7f364fcb6ee6818a965a60b)
Conflicts:
ssl/d1_enc.c
ssl/d1_pkt.c
ssl/s3_pkt.c
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.
(cherry picked from commit
6cb19b7681f600b2f165e4adc57547b097b475fd)
(cherry picked from commit
2c948c1bb218f4ae126e14fd3453d42c62b93235)
Conflicts:
ssl/s3_enc.c
Ben Laurie [Wed, 30 Jan 2013 16:56:30 +0000 (16:56 +0000)]
Fixups.
Ben Laurie [Mon, 28 Jan 2013 18:24:55 +0000 (18:24 +0000)]
Oops. Add missing file.
(cherry picked from commit
014265eb02e26f35c8db58e2ccbf100b0b2f0072)
(cherry picked from commit
7721c53e5e9fe4c90be420d7613559935a96a4fb)
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.
(cherry picked from commit
e130841bccfc0bb9da254dc84e23bc6a1c78a64e)
Conflicts:
crypto/evp/c_allc.c
ssl/ssl_algs.c
ssl/ssl_locl.h
ssl/t1_enc.c
(cherry picked from commit
3622239826698a0e534dcf0473204c724bb9b4b4)
Conflicts:
ssl/d1_enc.c
ssl/s3_enc.c
ssl/s3_pkt.c
ssl/ssl3.h
ssl/ssl_algs.c
ssl/t1_enc.c
Andy Polyakov [Sat, 19 Jan 2013 12:20:21 +0000 (13:20 +0100)]
.gitignore adjustments
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.
(cherry picked from commit
2ee798880a246d648ecddadc5b91367bee4a5d98)
Conflicts:
crypto/crypto.h
ssl/t1_lib.c
(cherry picked from commit
dc406b59f3169fe191e58906df08dce97edb727c)
Conflicts:
crypto/crypto.h
ssl/d1_pkt.c
ssl/s3_pkt.c
Ben Laurie [Wed, 30 Jan 2013 15:40:23 +0000 (15:40 +0000)]
Add target so I can build.
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.
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
Dr. Stephen Henson [Sun, 20 Jan 2013 01:16:25 +0000 (01:16 +0000)]
Don't include comp.h if no-comp set.
Dr. Stephen Henson [Fri, 11 Jan 2013 23:21:19 +0000 (23:21 +0000)]
Add .gitignore
Dr. Stephen Henson [Mon, 10 Dec 2012 16:45:39 +0000 (16:45 +0000)]
PR: 2888
Reported by: Daniel Black <daniel.black@openquery.com>
Support renewing session tickets (backport from HEAD).
Dr. Stephen Henson [Tue, 4 Dec 2012 17:26:36 +0000 (17:26 +0000)]
check mval for NULL too
Dr. Stephen Henson [Mon, 3 Dec 2012 16:33:54 +0000 (16:33 +0000)]
fix leak
Dr. Stephen Henson [Thu, 29 Nov 2012 19:16:01 +0000 (19:16 +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 [Wed, 21 Nov 2012 14:01:38 +0000 (14:01 +0000)]
PR: 2908
Submitted by: Dmitry Belyavsky <beldmit@gmail.com>
Fix DH double free if parameter generation fails.
Dr. Stephen Henson [Mon, 19 Nov 2012 20:07:23 +0000 (20:07 +0000)]
correct docs
Dr. Stephen Henson [Sun, 18 Nov 2012 15:20:40 +0000 (15:20 +0000)]
PR: 2880
Submitted by: "Florian Rüchel" <florian.ruechel@ruhr-uni-bochum.de>
Correctly handle local machine keys in the capi ENGINE.
Andy Polyakov [Tue, 16 Oct 2012 08:22:55 +0000 (08:22 +0000)]
aix[64]-cc: get MT support right [from HEAD].
PR: 2896
Bodo Möller [Fri, 5 Oct 2012 20:51:47 +0000 (20:51 +0000)]
Fix EC_KEY initialization race.
Submitted by: Adam Langley
Dr. Stephen Henson [Fri, 5 Oct 2012 13:02:31 +0000 (13:02 +0000)]
backport OCSP fix enhancement
Ben Laurie [Fri, 5 Oct 2012 13:00:17 +0000 (13:00 +0000)]
Update CHANGES for OCSP fix.
Ben Laurie [Fri, 5 Oct 2012 12:50:24 +0000 (12:50 +0000)]
Backport OCSP fix.
Bodo Möller [Mon, 24 Sep 2012 19:50:07 +0000 (19:50 +0000)]
Fix Valgrind warning.
Submitted by: Adam Langley
Richard Levitte [Mon, 24 Sep 2012 18:49:09 +0000 (18:49 +0000)]
* Configure: make the debug-levitte-linux{elf,noasm} less extreme.
Richard Levitte [Fri, 21 Sep 2012 13:08:32 +0000 (13:08 +0000)]
* ssl/t1_enc.c (tls1_change_cipher_state): Stupid bug. Fortunately in
debugging code that's seldom used.
Dr. Stephen Henson [Tue, 11 Sep 2012 13:45:42 +0000 (13:45 +0000)]
fix memory leak
Richard Levitte [Thu, 5 Jul 2012 09:06:20 +0000 (09:06 +0000)]
Remove duplicate symbol in crypto/symhacks.h
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)
Dr. Stephen Henson [Fri, 11 May 2012 13:49:15 +0000 (13:49 +0000)]
PR: 2813
Reported by: Constantine Sapuntzakis <csapuntz@gmail.com>
Fix possible deadlock when decoding public keys.
Dr. Stephen Henson [Thu, 10 May 2012 16:01:11 +0000 (16:01 +0000)]
prepare for next version
Dr. Stephen Henson [Thu, 10 May 2012 14:38:52 +0000 (14:38 +0000)]
update FAQ
Dr. Stephen Henson [Thu, 10 May 2012 14:36:07 +0000 (14:36 +0000)]
prepare for 0.9.8x release
Dr. Stephen Henson [Thu, 10 May 2012 14:35:13 +0000 (14:35 +0000)]
update NEWS
Dr. Stephen Henson [Thu, 10 May 2012 14:33:11 +0000 (14:33 +0000)]
Sanity check record length before skipping explicit IV in 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)
Dr. Stephen Henson [Thu, 10 May 2012 13:27:57 +0000 (13:27 +0000)]
Reported by: Solar Designer of Openwall
Make sure tkeylen is initialised properly when encrypting CMS messages.
Richard Levitte [Fri, 4 May 2012 10:43:17 +0000 (10:43 +0000)]
Correct environment variable is OPENSSL_ALLOW_PROXY_CERTS.
Dr. Stephen Henson [Mon, 23 Apr 2012 21:15:22 +0000 (21:15 +0000)]
prepare for next version
Dr. Stephen Henson [Mon, 23 Apr 2012 21:03:04 +0000 (21:03 +0000)]
update STATUS
Dr. Stephen Henson [Mon, 23 Apr 2012 20:51:18 +0000 (20:51 +0000)]
correct STATUS
Dr. Stephen Henson [Mon, 23 Apr 2012 20:49:21 +0000 (20:49 +0000)]
correct NEWS
Dr. Stephen Henson [Mon, 23 Apr 2012 20:45:29 +0000 (20:45 +0000)]
prepare form 0.9.8w release
Dr. Stephen Henson [Mon, 23 Apr 2012 20:43:35 +0000 (20:43 +0000)]
update NEWS
Dr. Stephen Henson [Mon, 23 Apr 2012 20:35:55 +0000 (20:35 +0000)]
The fix for CVE-2012-2110 did not take into account that the
'len' argument to BUF_MEM_grow and BUF_MEM_grow_clean is an
int in OpenSSL 0.9.8, making it still vulnerable. Fix by
rejecting negative len parameter.
Thanks to the many people who reported this bug and to Tomas Hoger
<thoger@redhat.com> for supplying the fix.
Dr. Stephen Henson [Sun, 22 Apr 2012 13:31:46 +0000 (13:31 +0000)]
correct error code
Dr. Stephen Henson [Sun, 22 Apr 2012 13:22:38 +0000 (13:22 +0000)]
correct old FAQ answers, sync with HEAD
Dr. Stephen Henson [Thu, 19 Apr 2012 17:03:28 +0000 (17:03 +0000)]
prepare for next version
Dr. Stephen Henson [Thu, 19 Apr 2012 12:05:18 +0000 (12:05 +0000)]
update FAQ
Dr. Stephen Henson [Thu, 19 Apr 2012 11:39:03 +0000 (11:39 +0000)]
prepare for 0.9.8v release
Dr. Stephen Henson [Thu, 19 Apr 2012 11:37:17 +0000 (11:37 +0000)]
update NEWS
Dr. Stephen Henson [Thu, 19 Apr 2012 11:36:09 +0000 (11:36 +0000)]
Check for potentially exploitable overflows in asn1_d2i_read_bio
BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer
in CRYPTO_realloc_clean.
Thanks to Tavis Ormandy, Google Security Team, for discovering this
issue and to Adam Langley <agl@chromium.org> for fixing it. (CVE-2012-2110)
Dr. Stephen Henson [Sun, 15 Apr 2012 16:48:34 +0000 (16:48 +0000)]
use /fixed argument when linking FIPS targets to disable address space layout randomization
Dr. Stephen Henson [Sat, 31 Mar 2012 18:02:23 +0000 (18:02 +0000)]
PR: 2778(part)
Submitted by: John Fitzgibbon <john_fitzgibbon@yahoo.com>
Time is always encoded as 4 bytes, not sizeof(Time).
Dr. Stephen Henson [Sun, 18 Mar 2012 18:18:30 +0000 (18:18 +0000)]
Always use SSLv23_{client,server}_method in s_client.c and s_server.c,
the old code came from SSLeay days before TLS was even supported.
Dr. Stephen Henson [Mon, 12 Mar 2012 16:35:13 +0000 (16:35 +0000)]
prepare for next version
Dr. Stephen Henson [Mon, 12 Mar 2012 15:25:53 +0000 (15:25 +0000)]
corrected fix to PR#2711 and also cover mime_param_cmp
Dr. Stephen Henson [Mon, 12 Mar 2012 15:01:44 +0000 (15:01 +0000)]
correct FAQ
Dr. Stephen Henson [Mon, 12 Mar 2012 14:53:14 +0000 (14:53 +0000)]
prepare for release
Dr. Stephen Henson [Mon, 12 Mar 2012 14:52:14 +0000 (14:52 +0000)]
update NEWS