summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Prepare for 1.0.2c releaseOpenSSL_1_0_2cMatt Caswell2015-06-124-6/+6
| | | | Reviewed-by: Richard Levitte <[email protected]>
* Updated CHANGES and NEWS entries for new releaseMatt Caswell2015-06-122-2/+4
| | | | Reviewed-by: Richard Levitte <[email protected]>
* Allow a zero length extension blockAdam Langley2015-06-121-6/+6
| | | | | | | | It is valid for an extension block to be present in a ClientHello, but to be of zero length. Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Matt Caswell <[email protected]>
* Fix ABI break with HMACMatt Caswell2015-06-123-14/+13
| | | | | | | | | | | | Recent HMAC changes broke ABI compatibility due to a new field in HMAC_CTX. This backs that change out, and does it a different way. Thanks to Timo Teras for the concept. Conflicts: crypto/hmac/hmac.c Reviewed-by: Richard Levitte <[email protected]>
* Prepare for 1.0.2c-devMatt Caswell2015-06-115-5/+13
| | | | Reviewed-by: Stephen Henson <[email protected]>
* Prepare for 1.0.2b releaseOpenSSL_1_0_2bMatt Caswell2015-06-114-6/+6
| | | | Reviewed-by: Stephen Henson <[email protected]>
* make updateMatt Caswell2015-06-111-1/+0
| | | | Reviewed-by: Stephen Henson <[email protected]>
* bn/bn_gf2m.c: avoid infinite loop wich malformed ECParamters.Andy Polyakov2015-06-111-5/+10
| | | | | | | CVE-2015-1788 Reviewed-by: Matt Caswell <[email protected]> (cherry picked from commit 4924b37ee01f71ae19c94a8934b80eeb2f677932)
* Update CHANGES and NEWSMatt Caswell2015-06-112-1/+71
| | | | | | Updates to CHANGES and NEWS to take account of the latest security fixes. Reviewed-by: Rich Salz <[email protected]>
* PKCS#7: Fix NULL dereference with missing EncryptedContent.Emilia Kasper2015-06-111-1/+15
| | | | | | CVE-2015-1790 Reviewed-by: Rich Salz <[email protected]>
* Fix length checks in X509_cmp_time to avoid out-of-bounds reads.Emilia Kasper2015-06-111-10/+47
| | | | | | | | | | Also tighten X509_cmp_time to reject more than three fractional seconds in the time; and to reject trailing garbage after the offset. CVE-2015-1789 Reviewed-by: Viktor Dukhovni <[email protected]> Reviewed-by: Richard Levitte <[email protected]>
* Fix infinite loop in CMSDr. Stephen Henson2015-06-111-1/+1
| | | | | | | | | Fix loop in do_free_upto if cmsbio is NULL: this will happen when attempting to verify and a digest is not recognised. Reported by Johannes Bauer. CVE-2015-1792 Reviewed-by: Matt Caswell <[email protected]>
* make updateRichard Levitte2015-06-111-0/+22
| | | | Reviewed-by: Matt Caswell <[email protected]>
* Correction of make depend merge errorRichard Levitte2015-06-111-1/+1
| | | | | | $(PROGS) was mistakenly removed, adding it back. Reviewed-by: Matt Caswell <[email protected]>
* More ssl_session_dup fixesMatt Caswell2015-06-111-36/+37
| | | | | | | | | | | | Fix error handling in ssl_session_dup, as well as incorrect setting up of the session ticket. Follow on from CVE-2015-1791. Thanks to LibreSSL project for reporting these issues. Conflicts: ssl/ssl_sess.c Reviewed-by: Tim Hudson <[email protected]>
* e_aes_cbc_hmac_sha*.c: address linker warning about OPENSSL_ia32cap_P size ↵Andy Polyakov2015-06-112-2/+2
| | | | | | | mismatch. Reviewed-by: Tim Hudson <[email protected]> (cherry picked from commit f0fa5c8306236ce742168d664d53b1551649a47b)
* Only allow a temporary rsa key exchange when they key is larger than 512.Kurt Roeckx2015-06-111-1/+8
| | | | | Reviewed-by: Rich Salz <[email protected]> MR #838
* Properly check certificate in case of export ciphers.Kurt Roeckx2015-06-111-11/+41
| | | | | Reviewed-by: Rich Salz <[email protected]> MR #838
* gcm.c: address linker warning about OPENSSL_ia32cap_P size mismatch.Andy Polyakov2015-06-101-1/+1
| | | | | Reviewed-by: Rich Salz <[email protected]> (cherry picked from commit 75c4827dfe6f52ccd687a283e6108a88ba3b8ec4)
* DTLS handshake message fragments musn't span packetsMatt Caswell2015-06-101-8/+18
| | | | | | | | | It should not be possible for DTLS message fragments to span multiple packets. However previously if the message header fitted exactly into one packet, and the fragment body was in the next packet then this would work. Obviously this would fail if packets get re-ordered mid-flight. Reviewed-by: Tim Hudson <[email protected]>
* Fix leak in HMAC error pathMatt Caswell2015-06-101-0/+1
| | | | | | | | | | In the event of an error in the HMAC function, leaks can occur because the HMAC_CTX does not get cleaned up. Thanks to the BoringSSL project for reporting this issue. Reviewed-by: Richard Levitte <[email protected]> (cherry picked from commit e43a13c807e42688c72c4f3d001112bf0a110464)
* EC_POINT_is_on_curve does not return a booleanMatt Caswell2015-06-106-16/+23
| | | | | | | | | | | | The function EC_POINT_is_on_curve does not return a boolean value. It returns 1 if the point is on the curve, 0 if it is not, and -1 on error. Many usages within OpenSSL were incorrectly using this function and therefore not correctly handling error conditions. With thanks to the Open Crypto Audit Project for reporting this issue. Reviewed-by: Kurt Roeckx <[email protected]> (cherry picked from commit 68886be7e2cd395a759fcd41d2cede461b68843d)
* Tighten extension handlingMatt Caswell2015-06-101-94/+64
| | | | | | | | | | | | | This adds additional checks to the processing of extensions in a ClientHello to ensure that either no extensions are present, or if they are then they take up the exact amount of space expected. With thanks to the Open Crypto Audit Project for reporting this issue. Reviewed-by: Stephen Henson <[email protected]> Conflicts: ssl/t1_lib.c
* Fix memory leaks in BIO_dup_chain()Matt Caswell2015-06-101-3/+5
| | | | | | | | | | | | | | This fixes a memory leak that can occur whilst duplicating a BIO chain if the call to CRYPTO_dup_ex_data() fails. It also fixes a second memory leak where if a failure occurs after successfully creating the first BIO in the chain, then the beginning of the new chain was not freed. With thanks to the Open Crypto Audit Project for reporting this issue. Reviewed-by: Stephen Henson <[email protected]> Conflicts: crypto/bio/bio_lib.c
* Replace memset with OPENSSL_cleanse()Matt Caswell2015-06-101-1/+1
| | | | | | | | | | BUF_MEM_free() attempts to cleanse memory using memset immediately prior to a free. This is at risk of being optimised away by the compiler, so replace with a call to OPENSSL_cleanse() instead. With thanks to the Open Crypto Audit Project for reporting this issue. Reviewed-by: Stephen Henson <[email protected]>
* Fix Kerberos issue in ssl_session_dupMatt Caswell2015-06-101-1/+1
| | | | | | | The fix for CVE-2015-1791 introduced an error in ssl_session_dup for Kerberos. Reviewed-by: Tim Hudson <[email protected]>
* When making libcrypto from apps or test, make sure to include enginesRichard Levitte2015-06-102-4/+4
| | | | | | | | | | For librypto to be complete, the stuff in both crypto/ and engines/ have to be built. Doing 'make test' or 'make apps' from a clean source tree failed to do so. Corrected by using the new 'build_libcrypto' in the top Makefile. Reviewed-by: Tim Hudson <[email protected]> (cherry picked from commit acaff3b797f50a0a0e17a0be45b7fafad962004e)
* Add and rearrange building of librariesRichard Levitte2015-06-101-2/+5
| | | | | | | | | | | | | | There's a need for a target that will build all of libcrypto, so let's add 'build_libcrypto' that does this. For ortogonality, let's also add 'build_libssl'. Have both also depend on 'libcrypto.pc' and 'libssl.pc' so those get built together with the libraries. This makes 'all' depend on fewer things directly. Reviewed-by: Tim Hudson <[email protected]> (cherry picked from commit 177b5f9c82e1152d6ce20a83556db629697fff65) Conflicts: Makefile.org
* Explicitly mention PKCS5_PBKDF2_HMAC in EVP doc.Jeffrey Walton2015-06-091-2/+2
| | | | | | Signed-off-by: Rich Salz <[email protected]> Reviewed-by: Matt Caswell <[email protected]> (cherry picked from commit 82c4d793181058de9fde5c9088fd400fdb7e01e3)
* return correct NID for undefined objectDr. Stephen Henson2015-06-081-0/+3
| | | | | Reviewed-by: Tim Hudson <[email protected]> (cherry picked from commit 0fb9990480919163cc375a2b6c0df1d8d901a77b)
* Use CRYPTO_memcmp in s3_cbc.cEmilia Kasper2015-06-081-1/+1
| | | | Reviewed-by: Rich Salz <[email protected]>
* Use CRYPTO_memcmp when comparing authenticatorsEmilia Kasper2015-06-084-5/+8
| | | | | | | | Pointed out by Victor Vasiliev ([email protected]) via Adam Langley (Google). Reviewed-by: Rich Salz <[email protected]> (cherry picked from commit 1e4a355dcabe2f75df5bb8b41b394d37037169d2)
* Use cc instead of gcc so either clang or gcc is used as appropriate. Add clangBen Laurie2015-06-051-2/+22
| | | | | | flags needed to keep it happy. Reviewed-by: Richard Levitte <[email protected]>
* Allow all curves when the client doesn't send an supported elliptic curves ↵Kurt Roeckx2015-06-041-0/+14
| | | | | | | | | | | extension At least in the case of SSLv3 we can't send an extention. Reviewed-by: Matt Caswell <[email protected]> MR #811 (cherry picked from commit 3c06513f3833d4692f620e2c03d7a840871c08a7)
* Remove misleading commentMatt Caswell2015-06-041-2/+0
| | | | | | | | | | Remove a comment that suggested further clean up was required. DH_free() performs the necessary cleanup. With thanks to the Open Crypto Audit Project for reporting this issue. Reviewed-by: Rich Salz <[email protected]> (cherry picked from commit f3d889523ee84f1e87e4da0d59e2702a4bee7907)
* Clean premaster_secret for GOSTMatt Caswell2015-06-041-0/+1
| | | | | | | | | | | | Ensure OPENSSL_cleanse() is called on the premaster secret value calculated for GOST. With thanks to the Open Crypto Audit Project for reporting this issue. Reviewed-by: Rich Salz <[email protected]> (cherry picked from commit b7ee4815f2452c854cc859e8dda88f2673cdddea) Conflicts: ssl/s3_srvr.c
* Clean Kerberos pre-master secretMatt Caswell2015-06-041-5/+16
| | | | | | | | Ensure the Kerberos pre-master secret has OPENSSL_cleanse called on it. With thanks to the Open Crypto Audit Project for reporting this issue. Reviewed-by: Rich Salz <[email protected]>
* Fix off-by-one error in BN_bn2hexMatt Caswell2015-06-041-1/+6
| | | | | | | | | | | | | | | | | A BIGNUM can have the value of -0. The function BN_bn2hex fails to account for this and can allocate a buffer one byte too short in the event of -0 being used, leading to a one byte buffer overrun. All usage within the OpenSSL library is considered safe. Any security risk is considered negligible. With thanks to Mateusz Kocielski (LogicalTrust), Marek Kroemeke and Filip Palian for discovering and reporting this issue. Reviewed-by: Tim Hudson <[email protected]> (cherry picked from commit c56353071d9849220714d8a556806703771b9269) Conflicts: crypto/bn/bn_print.c
* Fix DTLS session resumptionMatt Caswell2015-06-041-1/+1
| | | | | | | | | | | | | | | | The session object on the client side is initially created during construction of the ClientHello. If the client is DTLS1.2 capable then it will store 1.2 as the version for the session. However if the server is only DTLS1.0 capable then when the ServerHello comes back the client switches to using DTLS1.0 from then on. However the session version does not get updated. Therefore when the client attempts to resume that session the server throws an alert because of an incorrect protocol version. Reviewed-by: Tim Hudson <[email protected]> (cherry picked from commit 7322abf5cefdeb47c7d61f3b916c428bf2cd69b6) Conflicts: ssl/s3_clnt.c
* make updateDr. Stephen Henson2015-06-033-42/+13
| | | | Reviewed-by: Matt Caswell <[email protected]>
* Add funtions to set item_sign and item_verifySergey Agievich2015-06-032-0/+31
| | | | | | | PR#3872 Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Stephen Henson <[email protected]>
* Fix compilation failure for some tool chainsMatt Caswell2015-06-031-1/+1
| | | | | | | | Some tool chains (e.g. android) do not define IP_PMTUDISC_PROBE, and so this build breaks. Reviewed-by: Tim Hudson <[email protected]> (cherry picked from commit 133dce447b259e0bb93076bf5fd0ce475d16910a)
* RT3230: Better test for C identifierAnnie Yousar2015-06-022-5/+5
| | | | | | | | | | objects.pl only looked for a space to see if the name could be used as a C identifier. Improve the test to match the real C rules. Signed-off-by: Rich Salz <[email protected]> Reviewed-by: Matt Caswell <[email protected]> (cherry picked from commit 591b7aef05b22cba09b179e5787a9bf40dfc9508)
* Add the macro OPENSSL_SYS_WIN64Richard Levitte2015-06-021-1/+7
| | | | | | | | | | | This is for consistency. Additionally, have its presence define OPENSSL_SYS_WINDOWS as well. Reviewed-by: Matt Caswell <[email protected]> (cherry picked from commit 3f131556d6678bc3754f1e6d98a9a5bfc24e368c) Conflicts: e_os2.h
* GH249: Fix bad regexp in arg parsing.Olaf Johansson2015-06-021-3/+3
| | | | | | Signed-off-by: Rich Salz <[email protected]> Reviewed-by: Richard Levitte <[email protected]> (cherry picked from commit 8846adbd36c1de2b0d38a73ca32e28fde50083b8)
* Fix IP_MTU_DISCOVER typoPer Allansson2015-06-021-1/+1
| | | | | | | | | | | The code in bss_dgram.c checks if IP_MTUDISCOVER is defined, where it should test for IP_MTU_DISCOVER RT#3888 Reviewed-by: Rich Salz <[email protected]> Reviewed-by: Matt Caswell <[email protected]> (cherry picked from commit 0baaff1a76d4c91b9c1121059be63175454d7b03)
* Fix race condition in NewSessionTicketMatt Caswell2015-06-025-0/+158
| | | | | | | | | | | | | | | | | If a NewSessionTicket is received by a multi-threaded client when attempting to reuse a previous ticket then a race condition can occur potentially leading to a double free of the ticket data. CVE-2015-1791 This also fixes RT#3808 where a session ID is changed for a session already in the client session cache. Since the session ID is the key to the cache this breaks the cache access. Parts of this patch were inspired by this Akamai change: https://github.com/akamai/openssl/commit/c0bf69a791239ceec64509f9f19fcafb2461b0d3 Reviewed-by: Rich Salz <[email protected]>
* Check the message type requested is the type received in DTLSMatt Caswell2015-06-011-0/+6
| | | | | | | | | | | | | dtls1_get_message has an |mt| variable which is the type of the message that is being requested. If it is negative then any message type is allowed. However the value of |mt| is not checked in one of the main code paths, so a peer can send a message of a completely different type and it will be processed as if it was the message type that we were expecting. This has very little practical consequences because the current behaviour will still fail when the format of the message isn't as expected. Reviewed-by: Andy Polyakov <[email protected]> (cherry picked from commit 8c2b1d872b25f3ec78e04f5cd2de8f21e853c4a6)
* check for error when creating PKCS#8 structureDr. Stephen Henson2015-05-281-0/+2
| | | | | Reviewed-by: Rich Salz <[email protected]> (cherry picked from commit 2849707fa65d2803e6d1c1603fdd3fd1fdc4c6cc)
* PEM doc fixesDr. Stephen Henson2015-05-281-2/+25
| | | | | Reviewed-by: Rich Salz <[email protected]> (cherry picked from commit f097f81c891bb1f479426d8ac9c9541390334983)