aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGES
Commit message (Collapse)AuthorAgeFilesLines
* Various doc fixes from GH pull requestsRich Salz2015-07-311-1/+1
| | | | | | | | | | | | | | Thanks folks: 348 Benjamin Kaduk 317 Christian Brueffer 254 Erik Tews 253 Erik Tews 219 Carl Mehner 155 (ghost) 95 mancha 51 DominikNeubauer Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
* Update CHANGESDr. Stephen Henson2015-07-301-0/+8
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Remove support for SSL3_FLAGS_DELAY_CLIENT_FINISHEDMatt Caswell2015-07-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This flag was not set anywhere within the codebase (only read). It could only be set by an app reaching directly into s->s3->flags and setting it directly. However that method became impossible when libssl was opaquified. Even in 1.0.2/1.0.1 if an app set the flag directly it is only relevant to ssl3_connect(), which calls SSL_clear() during initialisation that clears any flag settings. Therefore it could take effect if the app set the flag after the handshake has started but before it completed. It seems quite unlikely that any apps really do this (especially as it is completely undocumented). The purpose of the flag is suppress flushing of the write bio on the client side at the end of the handshake after the client has written the Finished message whilst resuming a session. This enables the client to send application data as part of the same flight as the Finished message. This flag also controls the setting of a second flag SSL3_FLAGS_POP_BUFFER. There is an interesting comment in the code about this second flag in the implementation of ssl3_write: /* This is an experimental flag that sends the * last handshake message in the same packet as the first * use data - used to see if it helps the TCP protocol during * session-id reuse */ It seems the experiment did not work because as far as I can tell nothing is using this code. The above comment has been in the code since SSLeay. This commit removes support for SSL3_FLAGS_DELAY_CLIENT_FINISHED, as well as the associated SSL3_FLAGS_POP_BUFFER. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Conversion to UTF-8 where neededRichard Levitte2015-07-141-86/+86
| | | | | | | | This leaves behind files with names ending with '.iso-8859-1'. These should be safe to remove. If something went wrong when re-encoding, there will be some files with names ending with '.utf8' left behind. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Update CHANGES and NEWS for the new releaseMatt Caswell2015-07-091-1/+23
| | | | Reviewed-by: Stephen Henson <steve@openssl.org>
* Document the nameopt changeRichard Levitte2015-07-071-0/+4
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* More secure storage of key material.Rich Salz2015-06-231-0/+5
| | | | | | | | | Add secure heap for storage of private keys (when possible). Add BIO_s_secmem(), CBIGNUM, etc. Add BIO_CTX_secure_new so all BIGNUM's in the context are secure. Contributed by Akamai Technologies under the Corporate CLA. Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT2547: Tighten perms on generated privkey filesRich Salz2015-06-151-0/+4
| | | | | | | | | | | | When generating a private key, try to make the output file be readable only by the owner. Put it in CHANGES file since it might be noticeable. Add "int private" flag to apps that write private keys, and check that it's set whenever we do write a private key. Checked via assert so that this bug (security-related) gets fixed. Thanks to Viktor for help in tracing the code-paths where private keys are written. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* Update CHANGES and NEWSMatt Caswell2015-06-111-0/+66
| | | | | | Updates to CHANGES and NEWS to take account of the latest security fixes. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Remove SSL_OP_TLS_BLOCK_PADDING_BUGEmilia Kasper2015-06-101-0/+5
| | | | | | | | | This is a workaround so old that nobody remembers what buggy clients it was for. It's also been broken in stable branches for two years and nobody noticed (see https://boringssl-review.googlesource.com/#/c/1694/). Reviewed-by: Tim Hudson <tjh@openssl.org>
* Change BIO_number_read and BIO_number_written() to be 64 bitMatt Caswell2015-06-101-0/+7
| | | | | | | | | | | | The return type of BIO_number_read() and BIO_number_written() as well as the corresponding num_read and num_write members in the BIO structure has been changed from unsigned long to uint64_t. On platforms where an unsigned long is 32 bits (e.g. Windows) these counters could overflow if >4Gb is transferred. With thanks to the Open Crypto Audit Project for reporting this issue. Reviewed-by: Richard Levitte <levitte@openssl.org>
* GH293: Typo in CHANGES file.Github User2015-06-041-1/+1
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Remove export static DH ciphersuitesMatt Caswell2015-05-221-0/+8
| | | | | | | | | | | Remove support for the two export grade static DH ciphersuites. These two ciphersuites were newly added (along with a number of other static DH ciphersuites) to 1.0.2. However the two export ones have *never* worked since they were introduced. It seems strange in any case to be adding new export ciphersuites, and given "logjam" it also does not seem correct to fix them. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add CHANGES entry for OPENSSL_NO_TLSEXT removalMatt Caswell2015-05-221-0/+5
| | | | | Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Only support >= 256-bit elliptic curves with ecdh_auto (server) or by ↵Emilia Kasper2015-05-201-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | default (client). Also reorder preferences to prefer prime curves to binary curves, and P-256 to everything else. The result: $ openssl s_server -named_curves "auto" This command will negotiate an ECDHE ciphersuite with P-256: $ openssl s_client This command will negotiate P-384: $ openssl s_client -curves "P-384" This command will not negotiate ECDHE because P-224 is disabled with "auto": $ openssl s_client -curves "P-224" Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
* Version negotiation rewrite doc updatesMatt Caswell2015-05-161-0/+9
| | | | | | | Update various documentation references to the new TLS_*_method names. Also add a CHANGES entry. Reviewed-by: Kurt Roeckx <kurt@openssl.org>
* Add CHANGES entry for Kerberos removalMatt Caswell2015-05-131-1/+5
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* fix various typo'sRich Salz2015-05-031-1/+1
| | | | | | | | https://github.com/openssl/openssl/pull/176 (CHANGES) https://rt.openssl.org/Ticket/Display.html?id=3545 (objects.txt) https://rt.openssl.org/Ticket/Display.html?id=3796 (verify.pod) Reviewed-by: Tim Hudson <tjh@openssl.org>
* Add HTTP GET support to OCSP serverRich Salz2015-04-291-0/+3
| | | | Reviewed-by: Andy Polyakov <appro@openssl.org>
* Drop CA.sh for CA.plRich Salz2015-04-081-0/+3
| | | | | | Remove CA.sh script and use CA.pl for testing, etc. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Deprecate RAND_pseudo_bytesMatt Caswell2015-03-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The justification for RAND_pseudo_bytes is somewhat dubious, and the reality is that it is frequently being misused. RAND_bytes and RAND_pseudo_bytes in the default implementation both end up calling ssleay_rand_bytes. Both may return -1 in an error condition. If there is insufficient entropy then both will return 0, but RAND_bytes will additionally add an error to the error queue. They both return 1 on success. Therefore the fundamental difference between the two is that one will add an error to the error queue with insufficient entory whilst the other will not. Frequently there are constructions of this form: if(RAND_pseudo_bytes(...) <= 1) goto err; In the above form insufficient entropy is treated as an error anyway, so RAND_bytes is probably the better form to use. This form is also seen: if(!RAND_pseudo_bytes(...)) goto err; This is technically not correct at all since a -1 return value is incorrectly handled - but this form will also treat insufficient entropy as an error. Within libssl it is required that you have correctly seeded your entropy pool and so there seems little benefit in using RAND_pseudo_bytes. Similarly in libcrypto many operations also require a correctly seeded entropy pool and so in most interesting cases you would be better off using RAND_bytes anyway. There is a significant risk of RAND_pseudo_bytes being incorrectly used in scenarios where security can be compromised by insufficient entropy. If you are not using the default implementation, then most engines use the same function to implement RAND_bytes and RAND_pseudo_bytes in any case. Given its misuse, limited benefit, and potential to compromise security, RAND_pseudo_bytes has been deprecated. Reviewed-by: Richard Levitte <levitte@openssl.org>
* free NULL cleanupRich Salz2015-03-241-0/+5
| | | | | | | | Start ensuring all OpenSSL "free" routines allow NULL, and remove any if check before calling them. This gets ASN1_OBJECT_free and ASN1_STRING_free. Reviewed-by: Matt Caswell <matt@openssl.org>
* Update CHANGESMatt Caswell2015-03-191-281/+215
| | | | | | Resync CHANGES with the latest version from 1.0.2. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Merge OPENSSL_NO_EC{DH,DSA} into OPENSSL_NO_ECRich Salz2015-03-111-16/+21
| | | | | | Suggested by John Foley <foleyj@cisco.com>. Reviewed-by: Matt Caswell <matt@openssl.org>
* Add CHANGES entry.Dr. Stephen Henson2015-02-031-0/+6
| | | | | Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Remove old DES APIRich Salz2015-02-021-0/+3
| | | | | | | | | Includes VMS fixes from Richard. Includes Kurt's destest fixes (RT 1290). Closes tickets 1290 and 1291 Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add changes entry for opaquifying of libssl structuresMatt Caswell2015-01-311-0/+5
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* ifdef cleanup, part 4a: '#ifdef undef'Rich Salz2015-01-241-0/+4
| | | | | | | | | | | This removes all code surrounded by '#ifdef undef' One case is left: memmove() replaced by open-coded for loop, in crypto/stack/stack.c That needs further review. Also removed a couple of instances of /* dead code */ if I saw them while doing the main removal. Reviewed-by: Matt Caswell <matt@openssl.org>
* Keep disclaiming 16-bit support.Andy Polyakov2015-01-231-1/+1
| | | | | | | | If you examine changes, you are likely to wonder "but what about ILP64, elusive as they are, don't they fall victim to 16-bit rationalization?" No, the case was modeled and verified to work. Reviewed-by: Rich Salz <rsalz@openssl.org>
* ifdef cleanup part 3: OPENSSL_SYSNAMERich Salz2015-01-231-0/+2
| | | | | | | | Rename OPENSSL_SYSNAME_xxx to OPENSSL_SYS_xxx Remove MS_STATIC; it's a relic from platforms <32 bits. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org>
* ifdef cleanup, 2 remove OPENSSL_NO_SETVBUF_IONBFRich Salz2015-01-221-0/+1
| | | | | | | Use setbuf(fp, NULL) instead of setvbuf(). This removes some ifdef complexity because all of our platforms support setbuf. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Cleanup OPENSSL_NO_xxx, part 1master-pre-reformatRich Salz2015-01-141-0/+5
| | | | | | | | | | OPENSSL_NO_RIPEMD160, OPENSSL_NO_RIPEMD merged into OPENSSL_NO_RMD160 OPENSSL_NO_FP_API merged into OPENSSL_NO_STDIO Two typo's on #endif comments fixed: OPENSSL_NO_ECB fixed to OPENSSL_NO_OCB OPENSSL_NO_HW_SureWare fixed to OPENSSL_NO_HW_SUREWARE Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT3548: Remove unsupported platformsRich Salz2015-01-121-0/+1
| | | | | | | This last one for this ticket. Removes WIN16. So long, MS_CALLBACK and MS_FAR. We won't miss you. Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT3548: Remove some unsupported platforms.Rich Salz2015-01-121-0/+3
| | | | | | | | | This commit removes NCR, Tandem, Cray. Regenerates TABLE. Removes another missing BEOS fluff. The last platform remaining on this ticket is WIN16. Reviewed-by: Richard Levitte <levitte@openssl.org>
* use correct credit in CHANGESDr. Stephen Henson2015-01-061-2/+4
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* CHANGES: mention "universal" ARM support.Andy Polyakov2015-01-061-0/+8
| | | | | | This is re-commit without unrelated modification. Reviewed-by: Matt Caswell <matt@openssl.org>
* Revert "CHANGES: mention "universal" ARM support."Andy Polyakov2015-01-061-8/+0
| | | | | | This reverts commit 4fec91506975f62a2f93be71a46acc7fae7eef45. Reviewed-by: Matt Caswell <matt@openssl.org>
* CHANGES: mention "universal" ARM support.Andy Polyakov2015-01-061-0/+8
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Only allow ephemeral RSA keys in export ciphersuites.Dr. Stephen Henson2015-01-061-0/+8
| | | | | | | | | | | 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>
* ECDH downgrade bug fix.Dr. Stephen Henson2015-01-051-0/+7
| | | | | | | | | | 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>
* Ensure that the session ID context of an SSL* is updatedAdam Langley2015-01-051-0/+7
| | | | | | | | | when its SSL_CTX is updated. From BoringSSL commit https://boringssl.googlesource.com/boringssl/+/a5dc545bbcffd9c24cebe65e9ab5ce72d4535e3a Reviewed-by: Rich Salz <rsalz@openssl.org>
* Fix various certificate fingerprint issues.Dr. Stephen Henson2015-01-051-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* RT3548: Remove unsupported platformsRich Salz2014-12-281-0/+1
| | | | | | | | This commit removes DG-UX. It also flushes out some left-behinds in config. And regenerates TABLE from Configure (hadn't been done in awhile). Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT3548: unsupported platformsRich Salz2014-12-251-0/+1
| | | | | | | This commit removes Sinix/ReliantUNIX RM400 (And a missed piece of BEOS fluff) Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT3548: Remove unsupported platforms.Rich Salz2014-12-221-0/+1
| | | | | | This commit removes MPE/iX Reviewed-by: Andy Polyakov <appro@openssl.org>
* RT3548: Remvoe unsupported platformsRich Salz2014-12-211-0/+1
| | | | | | This commit removes SunOS (a sentimental favorite of mine). Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT3548: Remove outdated platformsRich Salz2014-12-191-1/+2
| | | | | | This commit removes all mention of NeXT and NextStep. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Update CHANGES for deprecated updatesMatt Caswell2014-12-181-0/+9
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* RT3548: Remove some obsolete platformsRich Salz2014-12-181-1/+3
| | | | | | This commit removes Sony NEWS4 Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT3548: Remove some obsolete platformsRich Salz2014-12-171-0/+3
| | | | | | This commit removes BEOS. Reviewed-by: Richard Levitte <levitte@openssl.org>