b4a57c4 | Matt Caswell | 08 January 2015, 14:03:40 UTC | Prepare for 1.0.1k release Reviewed-by: Stephen Henson <steve@openssl.org> | 08 January 2015, 14:03:40 UTC |
faa8038 | Matt Caswell | 08 January 2015, 14:03:39 UTC | make update Reviewed-by: Stephen Henson <steve@openssl.org> | 08 January 2015, 14:03:39 UTC |
e02863b | Matt Caswell | 08 January 2015, 13:07:08 UTC | CHANGES and NEWS updates for release Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Steve Henson <steve@openssl.org> | 08 January 2015, 13:51:50 UTC |
04685bc | Matt Caswell | 07 January 2015, 14:18:13 UTC | A memory leak can occur in dtls1_buffer_record if either of the calls to ssl3_setup_buffers or pqueue_insert fail. The former will fail if there is a malloc failure, whilst the latter will fail if attempting to add a duplicate record to the queue. This should never happen because duplicate records should be detected and dropped before any attempt to add them to the queue. Unfortunately records that arrive that are for the next epoch are not being recorded correctly, and therefore replays are not being detected. Additionally, these "should not happen" failures that can occur in dtls1_buffer_record are not being treated as fatal and therefore an attacker could exploit this by sending repeated replay records for the next epoch, eventually causing a DoS through memory exhaustion. Thanks to Chris Mueller for reporting this issue and providing initial analysis and a patch. Further analysis and the final patch was performed by Matt Caswell from the OpenSSL development team. CVE-2015-0206 Reviewed-by: Dr Stephen Henson <steve@openssl.org> | 08 January 2015, 13:43:20 UTC |
98a0f96 | Dr. Stephen Henson | 23 October 2014, 19:36:17 UTC | Unauthenticated DH client certificate fix. Fix to prevent use of DH client certificates without sending certificate verify message. If we've used a client certificate to generate the premaster secret ssl3_get_client_key_exchange returns 2 and ssl3_get_cert_verify is never called. We can only skip the certificate verify message in ssl3_get_cert_verify if the client didn't send a certificate. Thanks to Karthikeyan Bhargavan for reporting this issue. CVE-2015-0205 Reviewed-by: Matt Caswell <matt@openssl.org> | 08 January 2015, 13:43:20 UTC |
45fe66b | Matt Caswell | 03 January 2015, 00:54:35 UTC | Follow on from CVE-2014-3571. This fixes the code that was the original source of the crash due to p being NULL. Steve's fix prevents this situation from occuring - however this is by no means obvious by looking at the code for dtls1_get_record. This fix just makes things look a bit more sane. Reviewed-by: Dr Steve Henson <steve@openssl.org> | 08 January 2015, 13:43:20 UTC |
8d7aab9 | Dr. Stephen Henson | 03 January 2015, 00:45:13 UTC | Fix crash in dtls1_get_record whilst in the listen state where you get two separate reads performed - one for the header and one for the body of the handshake record. CVE-2014-3571 Reviewed-by: Matt Caswell <matt@openssl.org> | 08 January 2015, 13:43:20 UTC |
e078642 | Andy Polyakov | 05 January 2015, 13:52:56 UTC | Fix for CVE-2014-3570. Reviewed-by: Emilia Kasper <emilia@openssl.org> (cherry picked from commit e793809ba50c1e90ab592fb640a856168e50f3de) (with 1.0.1-specific addendum) | 08 January 2015, 13:43:20 UTC |
ffd1427 | Dr. Stephen Henson | 07 January 2015, 17:36:17 UTC | fix error discrepancy Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 4a4d4158572fd8b3dc641851b8378e791df7972d) | 07 January 2015, 18:10:51 UTC |
f16f3ac | Andy Polyakov | 05 January 2015, 21:56:47 UTC | Fix irix-cc build. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit e464403d0bda2f1f74eb68582e4988e591c32433) | 07 January 2015, 17:43:34 UTC |
4fb433d | Richard Levitte | 07 January 2015, 02:03:37 UTC | VMS fixups for 1.0.1 Reviewed-by: Rich Salz <rsalz@openssl.org> | 07 January 2015, 15:45:10 UTC |
293c1e2 | Dr. Stephen Henson | 06 January 2015, 21:12:15 UTC | use correct credit in CHANGES Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 4138e3882556c762d77eb827b8be98507cde48df) | 06 January 2015, 22:41:36 UTC |
d5e16a7 | Emilia Kasper | 06 January 2015, 14:41:04 UTC | Only inherit the session ID context in SSL_set_SSL_CTX if the existing context was also inherited (matches that of the existing SSL_CTX). Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit ac8e9cbe14b59dacfe4ac52bc5ff06f8003e9b01) | 06 January 2015, 22:10:09 UTC |
178c562 | Dr. Stephen Henson | 06 January 2015, 20:55:38 UTC | use correct function name Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit cb62ab4b17818fe66d2fed0a7fe71969131c811b) | 06 January 2015, 21:04:50 UTC |
61052e8 | Martin Brejcha | 16 November 2014, 17:04:40 UTC | Fix memory leak. Fix memory leak by freeing up saved_message.data if it is not NULL. PR#3489 Reviewed-by: Stephen Henson <steve@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 41cd41c4416f545a18ead37e09e437c75fa07c95) | 06 January 2015, 16:49:49 UTC |
cb951e3 | Matt Caswell | 06 January 2015, 15:32:01 UTC | Remove blank line from start of cflags character array in buildinf.h Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit b691154e18c0367643696db3cf73debe9ddfa9ae) | 06 January 2015, 15:37:12 UTC |
37580f4 | Dr. Stephen Henson | 23 October 2014, 16:09:57 UTC | Only allow ephemeral RSA keys in export ciphersuites. OpenSSL clients would tolerate temporary RSA keys in non-export ciphersuites. It also had an option SSL_OP_EPHEMERAL_RSA which enabled this server side. Remove both options as they are a protocol violation. Thanks to Karthikeyan Bhargavan for reporting this issue. (CVE-2015-0204) Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 4b4c1fcc88aec8c9e001b0a0077d3cd4de1ed0e6) Conflicts: doc/ssl/SSL_CTX_set_options.pod | 06 January 2015, 13:14:05 UTC |
ef28c6d | Dr. Stephen Henson | 24 October 2014, 11:30:33 UTC | ECDH downgrade bug fix. Fix bug where an OpenSSL client would accept a handshake using an ephemeral ECDH ciphersuites with the server key exchange message omitted. Thanks to Karthikeyan Bhargavan for reporting this issue. CVE-2014-3572 Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit b15f8769644b00ef7283521593360b7b2135cb63) | 05 January 2015, 23:48:55 UTC |
2175744 | Dr. Stephen Henson | 05 January 2015, 16:50:31 UTC | update ordinals Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 31c65a7bc0de7ff1446645d41af388893362f579) | 05 January 2015, 16:51:28 UTC |
2357cd2 | Adam Langley | 05 January 2015, 16:28:33 UTC | Ensure that the session ID context of an SSL* is updated when its SSL_CTX is updated. From BoringSSL commit https://boringssl.googlesource.com/boringssl/+/a5dc545bbcffd9c24cebe65e9ab5ce72d4535e3a Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 61aa44ca99473f9cabdfb2d3b35abd0b473437d1) | 05 January 2015, 16:33:28 UTC |
5951cc0 | Dr. Stephen Henson | 14 December 2014, 23:14:15 UTC | Constify ASN1_TYPE_cmp add X509_ALGOR_cmp. Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 4c52816d35681c0533c25fdd3abb4b7c6962302d) | 05 January 2015, 14:54:46 UTC |
a856553 | Dr. Stephen Henson | 20 December 2014, 15:09:50 UTC | Fix various certificate fingerprint issues. By using non-DER or invalid encodings outside the signed portion of a certificate the fingerprint can be changed without breaking the signature. Although no details of the signed portion of the certificate can be changed this can cause problems with some applications: e.g. those using the certificate fingerprint for blacklists. 1. Reject signatures with non zero unused bits. If the BIT STRING containing the signature has non zero unused bits reject the signature. All current signature algorithms require zero unused bits. 2. Check certificate algorithm consistency. Check the AlgorithmIdentifier inside TBS matches the one in the certificate signature. NB: this will result in signature failure errors for some broken certificates. 3. Check DSA/ECDSA signatures use DER. Reencode DSA/ECDSA signatures and compare with the original received signature. Return an error if there is a mismatch. This will reject various cases including garbage after signature (thanks to Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS program for discovering this case) and use of BER or invalid ASN.1 INTEGERs (negative or with leading zeroes). CVE-2014-8275 Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 684400ce192dac51df3d3e92b61830a6ef90be3e) | 05 January 2015, 14:36:20 UTC |
9e9ee7e | Rich Salz | 04 January 2015, 19:51:04 UTC | RT2914: NULL check missing in X509_name_canon Check for NULL return from X509_NAME_ENTRY_new() Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit 2c60925d1ccc0b96287bdc9acb90198e7180d642) | 04 January 2015, 19:52:16 UTC |
500d67f | Dr. Stephen Henson | 05 December 2014, 13:39:14 UTC | Clear existing extension state. When parsing ClientHello clear any existing extension state from SRP login and SRTP profile. Thanks to Karthikeyan Bhargavan for reporting this issue. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 47606dda672a5008168f62d4b7d7f94cd2d31313) Conflicts: ssl/t1_lib.c | 02 January 2015, 22:30:20 UTC |
40fb858 | Dominik Neubauer | 04 March 2014, 21:22:29 UTC | typo in s_client Signed-off-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Geoff Thorpe <geoff@openssl.org> | 31 December 2014, 10:19:56 UTC |
c14a808 | Kurt Roeckx | 16 December 2014, 11:35:21 UTC | Make "run" volatile RT#3629 Reviewed-by: Richard Levitte <levitte@openssl.org> | 30 December 2014, 16:00:47 UTC |
cdf42d7 | Thorsten Glaser | 22 May 2009, 16:28:05 UTC | Document openssl dgst -hmac option Signed-off-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Richard Levitte <levitte@openssl.org> | 30 December 2014, 16:00:23 UTC |
7858d30 | Kurt Roeckx | 23 December 2013, 18:06:34 UTC | dlfcn: always define _GNU_SOURCE We need this for the freebsd kernel with glibc as used in the Debian kfreebsd ports. There shouldn't be a problem defining this on systems not using glibc. Reviewed-by: Richard Levitte <levitte@openssl.org> | 30 December 2014, 16:00:23 UTC |
f14a6bf | Kurt Roeckx | 07 December 2014, 21:25:39 UTC | Fix memory leak in the apps The BIO_free() allocated ex_data again that we already freed. Reviewed-by: Richard Levitte <levitte@openssl.org> | 30 December 2014, 16:00:22 UTC |
5dad575 | Alok Menghrajani | 01 December 2014, 03:21:31 UTC | Improves certificates HOWTO * adds links to various related documents. * fixes a few typos. * rewords a few sentences. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 67472bd82bed9d5e481b0d75926aab93618902be) | 22 December 2014, 15:26:12 UTC |
a5fad4d | Richard Levitte | 22 December 2014, 13:30:23 UTC | Small typo Reviewed-by: Stephen Henson <steve@openssl.org> (cherry picked from commit 7cfab40f43afac2f46652886e260d1c4de058806) | 22 December 2014, 14:37:06 UTC |
d6c2e3e | Michael Tuexen | 16 November 2014, 17:29:08 UTC | Fix incorrect OPENSSL_assert() usage. Return an error code for I/O errors instead of an assertion failure. PR#3470 Reviewed-by: Stephen Henson <steve@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 2521fcd8527008ceb3e4748f95b0ed4e2d70cfef) | 20 December 2014, 14:46:40 UTC |
8c46748 | Matt Caswell | 19 December 2014, 10:55:54 UTC | Fix a problem if CFLAGS is too long cversion.c fails to compile when config is run with --strict-warnings. Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 488f16e31b8f5ec2513410929325d0830d76762d) | 19 December 2014, 14:08:17 UTC |
86edf13 | Kurt Roeckx | 15 December 2014, 16:15:16 UTC | Return error when a bit string indicates an invalid amount of bits left Reviewed-by: Matt Caswell <matt@openssl.org> | 18 December 2014, 14:12:00 UTC |
fcd9b10 | Dr. Stephen Henson | 17 December 2014, 14:34:36 UTC | Reject invalid constructed encodings. According to X6.90 null, object identifier, boolean, integer and enumerated types can only have primitive encodings: return an error if any of these are received with a constructed encoding. Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit f5e4b6b5b566320a8d774f9475540f7d0e6a704d) | 17 December 2014, 14:40:09 UTC |
036df29 | Emilia Kasper | 17 December 2014, 11:25:28 UTC | Add a comment noting the padding oracle. Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 03af843039af758fc9bbb4ae6c09ec2bc715f2c5) | 17 December 2014, 13:56:25 UTC |
60b7d3b | Emilia Kasper | 17 December 2014, 13:49:28 UTC | Revert "RT3425: constant-time evp_enc" Causes more problems than it fixes: even though error codes are not part of the stable API, several users rely on the specific error code, and the change breaks them. Conversely, we don't have any concrete use-cases for constant-time behaviour here. This reverts commit f2df488a1c7402e48c21c83e937955dfe9f40bee. Reviewed-by: Andy Polyakov <appro@openssl.org> | 17 December 2014, 13:56:05 UTC |
7e9d42c | Emilia Kasper | 15 December 2014, 15:37:13 UTC | Build fixes Various build fixes, mostly uncovered by clang's unused-const-variable and unused-function errors. Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit 0e1c318ece3c82e96ae95a34a1badf58198d6b28) | 17 December 2014, 13:31:20 UTC |
b3147fc | Richard Levitte | 16 December 2014, 10:04:53 UTC | Clear warnings/errors within RL_DEBUG code sections (RL_DEBUG should be renamed) Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 8bc8450a26329e3c890df60026f969e7caabff3d) | 17 December 2014, 13:27:42 UTC |
feefb73 | Richard Levitte | 16 December 2014, 10:04:19 UTC | Clear warnings/errors within TLS_DEBUG code sections Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit bf68456f538cacc9dcfd00986962aef0e8538289) | 17 December 2014, 13:27:42 UTC |
8932b82 | Richard Levitte | 16 December 2014, 03:13:41 UTC | Clear warnings/errors within KSSL_DEBUG code sections Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 53332a75d16a5bb3b9d90c15fcf38d2e87160a52) | 17 December 2014, 13:27:42 UTC |
a4a759a | Richard Levitte | 16 December 2014, 01:54:50 UTC | Clear warnings/errors within CIPHER_DEBUG code sections Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit cd387d21daa939862e081f00be0a98dbc5a85351) | 17 December 2014, 13:27:42 UTC |
6e5a554 | Richard Levitte | 16 December 2014, 01:54:03 UTC | Clear warnings/errors within CIPHER_DEBUG code sections Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 0c403e80a9952c83a38eab3c8a4ce42e17a2cee0) | 17 December 2014, 13:27:42 UTC |
2164a17 | Richard Levitte | 16 December 2014, 00:38:39 UTC | Clear warnings/errors within BN_CTX_DEBUG code sections Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 553affbef7bb5dd313514e06dab5cd9b1de1835f) | 17 December 2014, 13:27:42 UTC |
dc1e493 | Adam Langley | 16 December 2014, 13:03:47 UTC | Premaster secret handling fixes From BoringSSL - Send an alert when the client key exchange isn't correctly formatted. - Reject overly short RSA ciphertexts to avoid a (benign) out-of-bounds memory access. Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit 4aecfd4d9f366c849c9627ab666d1b1addc024e6) | 17 December 2014, 13:04:04 UTC |
1fe8304 | Bodo Möller | 13 October 2011, 12:35:10 UTC | Backport regression test master branch has a specific regression test for a bug in x86_64-mont5 code, see commit cdfe0fdde6a966bdb0447de66aa04a85d99a0551. This code is now in 1.0.2/1.0.1, so also backport the test. Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit bb565cd29e34caeeaf12ecfdbe6273c2c794f5a2) | 17 December 2014, 11:00:59 UTC |
bfd19df | Emilia Kasper | 15 December 2014, 13:52:22 UTC | Check for invalid divisors in BN_div. Invalid zero-padding in the divisor could cause a division by 0. Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit a43bcd9e96c5180e5c6c82164ece643c0097485e) | 17 December 2014, 09:01:13 UTC |
7f9edfd | Matt Caswell | 18 November 2014, 15:56:50 UTC | Add OPENSSL_NO_ECDH guards Reviewed-by: Emilia Käsper <emilia@openssl.org> | 16 December 2014, 10:14:14 UTC |
9673056 | Matt Caswell | 15 December 2014, 20:48:33 UTC | Remove extraneous white space, and add some braces Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 55e530265a7ea8f264717a4e37338cc04eca2007) | 16 December 2014, 00:08:04 UTC |
f50730d | Matt Caswell | 12 December 2014, 15:32:24 UTC | DTLS fixes for signed/unsigned issues Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 1904d21123849a65dafde1705e6dd5b7c2f420eb) | 16 December 2014, 00:08:04 UTC |
9beb948 | Matt Caswell | 03 December 2014, 11:15:40 UTC | Checkout return value of dtls1_output_cert_chain Reviewed-by: Tim Hudson <tjh@openssl.org> | 15 December 2014, 21:27:19 UTC |
ce5ddef | Matt Caswell | 18 March 2014, 14:19:22 UTC | Check return value of ssl3_output_cert_chain Based on commit 66f96fe2d519147097c118d4bf60704c69ed0635 by Steve Henson Reviewed-by: Tim Hudson <tjh@openssl.org> | 15 December 2014, 21:26:56 UTC |
458f23f | Emilia Kasper | 15 December 2014, 12:11:52 UTC | Fix unused variable warning The temporary variable causes unused variable warnings in opt mode with clang, because the subsequent assert is compiled out. Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 6af16ec5eed85390bcbd004806a842d6153d6a31) | 15 December 2014, 12:19:09 UTC |
c983a77 | Matt Caswell | 12 December 2014, 11:05:21 UTC | Fix memory leak in s2_srvr.c if BUF_MEM_grow fails Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit d04a1e0b5beb3329cdf8c4ec35b9113cbc41d2f2) | 13 December 2014, 00:05:52 UTC |
7516eaf | Matt Caswell | 12 December 2014, 11:03:00 UTC | Fixed memory leak if BUF_MEM_grow fails Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit bb1ddd3d9a0d01656b90693a214b911995a5fe8c) | 13 December 2014, 00:05:52 UTC |
c6a84ff | Matt Caswell | 04 December 2014, 10:18:40 UTC | Fix use of NULL memory pointer in X509_VERIFY_PARAM_new in the event of a malloc failure. Reviewed-by: Kurt Roeckx <kurt@openssl.org> | 12 December 2014, 23:50:24 UTC |
b8b9bcb | Matt Caswell | 04 December 2014, 09:56:16 UTC | Fixed memory leak in the event of a failure of BUF_MEM_grow Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 41bf25013032da0eeb111ce3c8fc0946c0e61c41) | 08 December 2014, 16:48:05 UTC |
be617fb | Matt Caswell | 04 December 2014, 09:46:44 UTC | Fix memory leak in SSL_new if errors occur. Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 76e6509085ea96df0ca542568ee2596343711307) | 08 December 2014, 16:48:05 UTC |
321ba85 | Emilia Kasper | 01 December 2014, 14:04:02 UTC | Reject elliptic curve lists of odd lengths. The Supported Elliptic Curves extension contains a vector of NamedCurves of 2 bytes each, so the total length must be even. Accepting odd-length lists was observed to lead to a non-exploitable one-byte out-of-bounds read in the latest development branches (1.0.2 and master). Released versions of OpenSSL are not affected. Thanks to Felix Groebert of the Google Security Team for reporting this issue. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 33d5ba862939ff8db70a9e36fc9a326fab3e8d98) | 05 December 2014, 15:44:20 UTC |
fcabfc6 | Matt Caswell | 04 December 2014, 09:22:50 UTC | Remove incorrect code inadvertently introduced through commit 59669b6ab. Reviewed-by: Tim Hudson <tjh@openssl.org> Conflicts: ssl/d1_lib.c | 04 December 2014, 14:21:50 UTC |
9844573 | Matt Caswell | 03 December 2014, 09:21:09 UTC | Remove "#if 0" code Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 4bb8eb9ce4f794fecf020a15b54e8505fced0edf) | 03 December 2014, 09:35:25 UTC |
6579603 | Matt Caswell | 02 December 2014, 11:16:35 UTC | Only use the fallback mtu after 2 unsuccessful retransmissions if it is less than the mtu we are already using Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 047f21593eebbc617a410a208ded01e65ca11028) | 03 December 2014, 09:35:25 UTC |
d68aade | Matt Caswell | 01 December 2014, 23:57:44 UTC | Updates to s_client and s_server to remove the constant 28 (for IPv4 header and UDP header) when setting an mtu. This constant is not always correct (e.g. if using IPv6). Use the new DTLS_CTRL functions instead. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 464ce92026bd0c79186cbefa75470f39607110be) | 03 December 2014, 09:35:25 UTC |
3242e59 | Matt Caswell | 02 December 2014, 00:16:55 UTC | If we really get a situation where the underlying mtu is less than the minimum we will support then dtls1_do_write can go into an infinite loop. This commit fixes that. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit d3d9eef31661633f5b003a9e115c1822f79d1870) | 03 December 2014, 09:35:24 UTC |
35384e8 | Matt Caswell | 01 December 2014, 22:18:18 UTC | Fix dtls_query_mtu so that it will always either complete with an mtu that is at least the minimum or it will fail. There were some instances in dtls1_query_mtu where the final mtu can end up being less than the minimum, i.e. where the user has set an mtu manually. This shouldn't be allowed. Also remove dtls1_guess_mtu that, despite having logic for guessing an mtu, was actually only ever used to work out the minimum mtu to use. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 1620a2e49c777f31f2ce57966ae74006b48ad759) | 03 December 2014, 09:35:24 UTC |
4c21e00 | Matt Caswell | 01 December 2014, 23:58:05 UTC | Remove instances in libssl of the constant 28 (for size of IPv4 header + UDP) and instead use the value provided by the underlying BIO. Also provide some new DTLS_CTRLs so that the library user can set the mtu without needing to know this constant. These new DTLS_CTRLs provide the capability to set the link level mtu to be used (i.e. including this IP/UDP overhead). The previous DTLS_CTRLs required the library user to subtract this overhead first. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 59669b6abf620d1ed2ef4d1e2df25c998b89b64d) Conflicts: ssl/d1_both.c ssl/ssl_lib.c | 03 December 2014, 09:35:23 UTC |
59ee70e | Matt Caswell | 01 December 2014, 23:49:47 UTC | There are a number of instances throughout the code where the constant 28 is used with no explanation. Some of this was introduced as part of RT#1929. The value 28 is the length of the IP header (20 bytes) plus the UDP header (8 bytes). However use of this constant is incorrect because there may be instances where a different value is needed, e.g. an IPv4 header is 20 bytes but an IPv6 header is 40. Similarly you may not be using UDP (e.g. SCTP). This commit introduces a new BIO_CTRL that provides the value to be used for this mtu "overhead". It will be used by subsequent commits. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 0d3ae34df573f477b6b1aaf614d52dcdfcff5fce) Conflicts: crypto/bio/bss_dgram.c | 03 December 2014, 09:34:04 UTC |
43e5699 | Matt Caswell | 01 December 2014, 11:41:25 UTC | The first call to query the mtu in dtls1_do_write correctly checks that the mtu that we have received is not less than the minimum. If its less it uses the minimum instead. The second call to query the mtu does not do that, but instead uses whatever comes back. We have seen an instance in RT#3592 where we have got an unreasonably small mtu come back. This commit makes both query checks consistent. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 6abb0d1f8e702a0daa9c32b8021d01eda0483018) | 03 December 2014, 09:32:48 UTC |
8aaeec9 | Matt Caswell | 01 December 2014, 11:13:15 UTC | The SSL_OP_NO_QUERY_MTU option is supposed to stop the mtu from being automatically updated, and we should use the one provided instead. Unfortunately there are a couple of locations where this is not respected. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 001235778a6e9c645dc0507cad6092d99c9af8f5) | 03 December 2014, 09:32:48 UTC |
8454d3f | Matt Caswell | 01 December 2014, 11:10:38 UTC | Verify that we have a sensible message len and fail if not RT#3592 provides an instance where the OPENSSL_assert that this commit replaces can be hit. I was able to recreate this issue by forcing the underlying BIO to misbehave and come back with very small mtu values. This happens the second time around the while loop after we have detected that the MTU has been exceeded following the call to dtls1_write_bytes. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit cf75017bfd60333ff65edf9840001cd2c49870a3) | 03 December 2014, 09:32:48 UTC |
5004c22 | Kurt Roeckx | 29 November 2014, 15:17:54 UTC | Use the SSLv23 method by default If SSLv2 and SSLv3 are both disabled we still support SSL/TLS. Reviewed-by: Richard Levitte <levitte@openssl.org> | 02 December 2014, 10:29:07 UTC |
e96872f | Richard Levitte | 28 November 2014, 22:06:20 UTC | Check for FindNextFile when defining it rather than FindFirstFile Reviewed-by: Matt Caswell <matt@openssl.org> | 28 November 2014, 22:31:45 UTC |
14e9a78 | Richard Levitte | 28 November 2014, 19:40:10 UTC | [PR3597] Advance to the next state variant when reusing messages. Previously, state variant was not advanced, which resulted in state being stuck in the st1 variant (usually "_A"). This broke certificate callback retry logic when accepting connections that were using SSLv2 ClientHello (hence reusing the message), because their state never advanced to SSL3_ST_SR_CLNT_HELLO_C variant required for the retry code path. Reported by Yichun Zhang (agentzh). Signed-off-by: Piotr Sikora <piotr@cloudflare.com> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> | 28 November 2014, 22:31:45 UTC |
2aca9b2 | Richard Levitte | 28 November 2014, 15:31:10 UTC | Correct some layout issues, convert all remaining tabs to appropriate amounts of spaces. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 8123d158ab6f0a6a468748c133e33c2063ff36b5) | 28 November 2014, 16:04:29 UTC |
26d7cb4 | Alok Menghrajani | 14 November 2014, 18:39:41 UTC | Improves the proxy certificates howto doc. The current documentation contains a bunch of spelling and grammar mistakes. I also found it hard to understand some paragraphs, so here is my attempt to improve its readability. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 03b637a730e4a298c360cc143de7564060c06324) | 28 November 2014, 16:04:28 UTC |
2db95e0 | Matt Caswell | 27 November 2014, 20:40:18 UTC | Fixed warning in ssl2_enc Reviewed-by: Richard Levitte <levitte@openssl.org> | 27 November 2014, 21:53:44 UTC |
5fc8bb6 | Matt Caswell | 18 November 2014, 15:03:55 UTC | Check EVP_Cipher return values for SSL2 Reviewed-by: Richard Levitte <levitte@openssl.org> | 27 November 2014, 21:53:27 UTC |
244d095 | Matt Caswell | 18 November 2014, 12:56:26 UTC | Add checks to the return value of EVP_Cipher to prevent silent encryption failure. PR#1767 Reviewed-by: Richard Levitte <levitte@openssl.org> | 27 November 2014, 21:53:02 UTC |
061e68c | Matt Caswell | 27 November 2014, 11:06:43 UTC | Remove redundant checks in ssl_cert_dup. This was causing spurious error messages when using GOST PR#3613 Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit fc3968a25ce0c16cab8730ec0d68a59856158029) | 27 November 2014, 20:53:58 UTC |
3f1d582 | Matt Caswell | 17 November 2014, 14:22:10 UTC | Remove duplicated code Reviewed-by: Dr. Stephen Henson <steve@openssl.org> | 27 November 2014, 14:32:40 UTC |
8a2e5bf | Matt Caswell | 27 November 2014, 10:15:47 UTC | Tidy up ocsp help output Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit 5e31a40f47c6bfd09c718d2af42ba8d8fe6bb932) Conflicts: apps/ocsp.c (cherry picked from commit e16458269036f4334525009906d346f68a73b2a4) | 27 November 2014, 14:18:45 UTC |
6c3d948 | André Guerreiro | 27 November 2014, 10:11:33 UTC | Add documentation on -timeout option in the ocsp utility PR#3612 Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit de87dd46c1283f899a9ecf4ccc72db74f36afbf2) (cherry picked from commit 4d3df37bc7fd33d0bec5da04d2572caa0cdbab75) | 27 November 2014, 14:18:45 UTC |
51c5ab5 | Guenter | 27 November 2014, 13:33:47 UTC | NetWare compilation fix. Workaround for NetWare CodeWarrior compiler which doesn't properly lookup includes when in same directory as the C file which includes it. PR#3569 Reviewed-by: Stephen Henson <steve@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 333fad9f2de1dea99552fcb424b312ca1a390f85) | 27 November 2014, 14:04:13 UTC |
ff60f33 | Matt Caswell | 12 September 2014, 05:00:26 UTC | Updates to X509_NAME_get_index_by_NID.pod submitted by user Bernardh via the wiki Minor changes made by Matt Caswell Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit 648495864513da788246f9b75dbbbce0614ed5e8) | 27 November 2014, 13:57:23 UTC |
2cfa5ed | Matt Caswell | 06 September 2014, 22:48:54 UTC | Updates to X509_NAME_add_entry_by_txt.pod submitted by user Bernardh via the wiki Minor changes made by Matt Caswell. Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit f281b8df704ce0123fa2193f2890a25da1756528) | 27 November 2014, 13:57:23 UTC |
291a3e9 | Matt Caswell | 06 September 2014, 22:47:55 UTC | Updates to EVP_PKEY_encrypt.pod submitted by user Bernardh via the wiki Minor changes made by Matt Caswell. Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit 34890ac18eb5ee7bffe9d460480164e1546b491e) | 27 November 2014, 13:57:23 UTC |
2184a14 | Matt Caswell | 27 November 2014, 12:25:18 UTC | Add include of ssl.h which is required by srtp.h Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit f67203836cd4a35c1774b6147e0f2d33eb7b1b6f) | 27 November 2014, 13:19:23 UTC |
2e84084 | Matt Caswell | 25 November 2014, 13:36:00 UTC | Fixed memory leak due to incorrect freeing of DTLS reassembly bit mask PR#3608 Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 8a35dbb6d89a16d792b79b157b3e89443639ec94) | 26 November 2014, 10:14:13 UTC |
26f9cfb | Matt Caswell | 25 November 2014, 17:23:24 UTC | Corrected comments in ssl.h about SSLv23_method and friends PR#3574 Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit 3a0765882c4b3b67960b7efb203570764dd4ed29) | 25 November 2014, 22:25:18 UTC |
7fc5f4f | David Benjamin | 20 November 2014, 15:22:40 UTC | Do not resume a session if the negotiated protocol version does not match the session's version (server). See also BoringSSL's commit bdf5e72f50e25f0e45e825c156168766d8442dde. Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit 9e189b9dc10786c755919e6792e923c584c918a1) | 20 November 2014, 15:31:42 UTC |
249a3e3 | Emilia Kasper | 19 November 2014, 16:01:36 UTC | Ensure SSL3_FLAGS_CCS_OK (or d1->change_cipher_spec_ok for DTLS) is reset once the ChangeCipherSpec message is received. Previously, the server would set the flag once at SSL3_ST_SR_CERT_VRFY and again at SSL3_ST_SR_FINISHED. This would allow a second CCS to arrive and would corrupt the server state. (Because the first CCS would latch the correct keys and subsequent CCS messages would have to be encrypted, a MitM attacker cannot exploit this, though.) Thanks to Joeri de Ruiter for reporting this issue. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit e94a6c0ede623960728415b68650a595e48f5a43) Conflicts: CHANGES ssl/s3_srvr.c | 20 November 2014, 14:32:08 UTC |
15d717f | Emilia Kasper | 19 November 2014, 15:40:27 UTC | Always require an advertised NewSessionTicket message. The server must send a NewSessionTicket message if it advertised one in the ServerHello, so make a missing ticket message an alert in the client. An equivalent change was independently made in BoringSSL, see commit 6444287806d801b9a45baf1f6f02a0e3a16e144c. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit de2c7504ebd4ec15334ae151a31917753468f86f) Conflicts: CHANGES | 20 November 2014, 14:29:17 UTC |
b8712b2 | Emilia Kasper | 19 November 2014, 15:28:11 UTC | Remove ssl3_check_finished. The client sends a session ID with the session ticket, and uses the returned ID to detect resumption, so we do not need to peek at handshake messages: s->hit tells us explicitly if we're resuming. An equivalent change was independently made in BoringSSL, see commit 407886f589cf2dbaed82db0a44173036c3bc3317. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 980bc1ec6114f5511b20c2e6ca741e61a39b99d6) Conflicts: ssl/d1_clnt.c ssl/s3_clnt.c | 20 November 2014, 14:26:26 UTC |
1eaccbe | Emilia Kasper | 19 November 2014, 14:56:27 UTC | Set s->hit when resuming from external pre-shared secret. The same change was independently made in BoringSSL, see commit 9eaeef81fa2d4fd6246dc02b6203fa936a5eaf67 Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 7b3ba508af5c86afe43e28174aa3c53a0a24f4d9) | 20 November 2014, 14:20:17 UTC |
e2f69f5 | Emilia Kasper | 19 November 2014, 14:42:43 UTC | Reset s->tlsext_ticket_expected in ssl_scan_serverhello_tlsext. This ensures that it's zeroed even if the SSL object is reused (as in ssltest.c). It also ensures that it applies to DTLS, too. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit a06cd5d056c6a5b1d161786873e21a5e53d554d8) | 20 November 2014, 14:20:16 UTC |
821bee4 | Dr. Stephen Henson | 29 October 2014, 12:51:31 UTC | New option no-ssl3-method which removes SSLv3_*method When no-ssl3 is set only make SSLv3 disabled by default. Retain -ssl3 options for s_client/s_server/ssltest. When no-ssl3-method is set SSLv3_*method() is removed and all -ssl3 options. We should document this somewhere, e.g. wiki, FAQ or manual page. Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 3881d8106df732fc433d30446625dfa2396da42d) Conflicts: util/mkdef.pl | 19 November 2014, 22:57:51 UTC |
8b6205c | Matt Caswell | 10 November 2014, 23:42:50 UTC | Added OPENSSL_NO_EC2M guards around the preferred EC curve list Reviewed-by: Dr. Stephen Henson <steve@openssl.org> | 18 November 2014, 13:15:28 UTC |
e5cf62b | Jan Hykel | 16 November 2014, 16:51:17 UTC | Don't use msg on error. Don't attempt to access msg structure if recvmsg returns an error. PR#3483 Reviewed-by: Stephen Henson <steve@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 012aa9ec76b158179b4de44bb5de8b8472045eac) | 17 November 2014, 12:42:15 UTC |
b1edca2 | Dr. Stephen Henson | 01 November 2014, 00:10:56 UTC | Fix cross reference table generator. If the hash or public key algorithm is "undef" the signature type will receive special handling and shouldn't be included in the cross reference table. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 55f7fb8848b6e4bec291724a479e1580d6f407d6) | 13 November 2014, 13:35:58 UTC |
e7768eb | Alok Menghrajani | 11 November 2014, 22:39:11 UTC | Fixes a minor typo in the EVP docs. Out is the buffer which needs to contain at least inl + cipher_block_size - 1 bytes. Outl is just an int*. Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 5211e094dec9486a540ac480f345df1a8d2b2862) | 12 November 2014, 21:05:24 UTC |