| Index: openssl/CHANGES
|
| ===================================================================
|
| --- openssl/CHANGES (revision 105093)
|
| +++ openssl/CHANGES (working copy)
|
| @@ -2,8 +2,1056 @@
|
| OpenSSL CHANGES
|
| _______________
|
|
|
| + Changes between 1.0.0e and 1.0.0f [4 Jan 2012]
|
| +
|
| + *) Nadhem Alfardan and Kenny Paterson have discovered an extension
|
| + of the Vaudenay padding oracle attack on CBC mode encryption
|
| + which enables an efficient plaintext recovery attack against
|
| + the OpenSSL implementation of DTLS. Their attack exploits timing
|
| + differences arising during decryption processing. A research
|
| + paper describing this attack can be found at:
|
| + http://www.isg.rhul.ac.uk/~kp/dtls.pdf
|
| + Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
|
| + Security Group at Royal Holloway, University of London
|
| + (www.isg.rhul.ac.uk) for discovering this flaw and to Robin Seggelmann
|
| + <seggelmann@fh-muenster.de> and Michael Tuexen <tuexen@fh-muenster.de>
|
| + for preparing the fix. (CVE-2011-4108)
|
| + [Robin Seggelmann, Michael Tuexen]
|
| +
|
| + *) Clear bytes used for block padding of SSL 3.0 records.
|
| + (CVE-2011-4576)
|
| + [Adam Langley (Google)]
|
| +
|
| + *) Only allow one SGC handshake restart for SSL/TLS. (CVE-2011-4619)
|
| + [Adam Langley (Google)]
|
| +
|
| + *) Check parameters are not NULL in GOST ENGINE. (CVE-2012-0027)
|
| + [Andrey Kulikov <amdeich@gmail.com>]
|
| +
|
| + *) Prevent malformed RFC3779 data triggering an assertion failure.
|
| + Thanks to Andrew Chi, BBN Technologies, for discovering the flaw
|
| + and Rob Austein <sra@hactrn.net> for fixing it. (CVE-2011-4577)
|
| + [Rob Austein <sra@hactrn.net>]
|
| +
|
| + *) Improved PRNG seeding for VOS.
|
| + [Paul Green <Paul.Green@stratus.com>]
|
| +
|
| + *) Fix ssl_ciph.c set-up race.
|
| + [Adam Langley (Google)]
|
| +
|
| + *) Fix spurious failures in ecdsatest.c.
|
| + [Emilia Käsper (Google)]
|
| +
|
| + *) Fix the BIO_f_buffer() implementation (which was mixing different
|
| + interpretations of the '..._len' fields).
|
| + [Adam Langley (Google)]
|
| +
|
| + *) Fix handling of BN_BLINDING: now BN_BLINDING_invert_ex (rather than
|
| + BN_BLINDING_invert_ex) calls BN_BLINDING_update, ensuring that concurrent
|
| + threads won't reuse the same blinding coefficients.
|
| +
|
| + This also avoids the need to obtain the CRYPTO_LOCK_RSA_BLINDING
|
| + lock to call BN_BLINDING_invert_ex, and avoids one use of
|
| + BN_BLINDING_update for each BN_BLINDING structure (previously,
|
| + the last update always remained unused).
|
| + [Emilia Käsper (Google)]
|
| +
|
| + *) In ssl3_clear, preserve s3->init_extra along with s3->rbuf.
|
| + [Bob Buckholz (Google)]
|
| +
|
| + Changes between 1.0.0d and 1.0.0e [6 Sep 2011]
|
| +
|
| + *) Fix bug where CRLs with nextUpdate in the past are sometimes accepted
|
| + by initialising X509_STORE_CTX properly. (CVE-2011-3207)
|
| + [Kaspar Brand <ossl@velox.ch>]
|
| +
|
| + *) Fix SSL memory handling for (EC)DH ciphersuites, in particular
|
| + for multi-threaded use of ECDH. (CVE-2011-3210)
|
| + [Adam Langley (Google)]
|
| +
|
| + *) Fix x509_name_ex_d2i memory leak on bad inputs.
|
| + [Bodo Moeller]
|
| +
|
| + *) Remove hard coded ecdsaWithSHA1 signature tests in ssl code and check
|
| + signature public key algorithm by using OID xref utilities instead.
|
| + Before this you could only use some ECC ciphersuites with SHA1 only.
|
| + [Steve Henson]
|
| +
|
| + *) Add protection against ECDSA timing attacks as mentioned in the paper
|
| + by Billy Bob Brumley and Nicola Tuveri, see:
|
| +
|
| + http://eprint.iacr.org/2011/232.pdf
|
| +
|
| + [Billy Bob Brumley and Nicola Tuveri]
|
| +
|
| + Changes between 1.0.0c and 1.0.0d [8 Feb 2011]
|
| +
|
| + *) Fix parsing of OCSP stapling ClientHello extension. CVE-2011-0014
|
| + [Neel Mehta, Adam Langley, Bodo Moeller (Google)]
|
| +
|
| + *) Fix bug in string printing code: if *any* escaping is enabled we must
|
| + escape the escape character (backslash) or the resulting string is
|
| + ambiguous.
|
| + [Steve Henson]
|
| +
|
| + Changes between 1.0.0b and 1.0.0c [2 Dec 2010]
|
| +
|
| + *) Disable code workaround for ancient and obsolete Netscape browsers
|
| + and servers: an attacker can use it in a ciphersuite downgrade attack.
|
| + Thanks to Martin Rex for discovering this bug. CVE-2010-4180
|
| + [Steve Henson]
|
| +
|
| + *) Fixed J-PAKE implementation error, originally discovered by
|
| + Sebastien Martini, further info and confirmation from Stefan
|
| + Arentz and Feng Hao. Note that this fix is a security fix. CVE-2010-4252
|
| + [Ben Laurie]
|
| +
|
| + Changes between 1.0.0a and 1.0.0b [16 Nov 2010]
|
| +
|
| + *) Fix extension code to avoid race conditions which can result in a buffer
|
| + overrun vulnerability: resumed sessions must not be modified as they can
|
| + be shared by multiple threads. CVE-2010-3864
|
| + [Steve Henson]
|
| +
|
| + *) Fix WIN32 build system to correctly link an ENGINE directory into
|
| + a DLL.
|
| + [Steve Henson]
|
| +
|
| + Changes between 1.0.0 and 1.0.0a [01 Jun 2010]
|
| +
|
| + *) Check return value of int_rsa_verify in pkey_rsa_verifyrecover
|
| + (CVE-2010-1633)
|
| + [Steve Henson, Peter-Michael Hager <hager@dortmund.net>]
|
| +
|
| + Changes between 0.9.8n and 1.0.0 [29 Mar 2010]
|
| +
|
| + *) Add "missing" function EVP_CIPHER_CTX_copy(). This copies a cipher
|
| + context. The operation can be customised via the ctrl mechanism in
|
| + case ENGINEs want to include additional functionality.
|
| + [Steve Henson]
|
| +
|
| + *) Tolerate yet another broken PKCS#8 key format: private key value negative.
|
| + [Steve Henson]
|
| +
|
| + *) Add new -subject_hash_old and -issuer_hash_old options to x509 utility to
|
| + output hashes compatible with older versions of OpenSSL.
|
| + [Willy Weisz <weisz@vcpc.univie.ac.at>]
|
| +
|
| + *) Fix compression algorithm handling: if resuming a session use the
|
| + compression algorithm of the resumed session instead of determining
|
| + it from client hello again. Don't allow server to change algorithm.
|
| + [Steve Henson]
|
| +
|
| + *) Add load_crls() function to apps tidying load_certs() too. Add option
|
| + to verify utility to allow additional CRLs to be included.
|
| + [Steve Henson]
|
| +
|
| + *) Update OCSP request code to permit adding custom headers to the request:
|
| + some responders need this.
|
| + [Steve Henson]
|
| +
|
| + *) The function EVP_PKEY_sign() returns <=0 on error: check return code
|
| + correctly.
|
| + [Julia Lawall <julia@diku.dk>]
|
| +
|
| + *) Update verify callback code in apps/s_cb.c and apps/verify.c, it
|
| + needlessly dereferenced structures, used obsolete functions and
|
| + didn't handle all updated verify codes correctly.
|
| + [Steve Henson]
|
| +
|
| + *) Disable MD2 in the default configuration.
|
| + [Steve Henson]
|
| +
|
| + *) In BIO_pop() and BIO_push() use the ctrl argument (which was NULL) to
|
| + indicate the initial BIO being pushed or popped. This makes it possible
|
| + to determine whether the BIO is the one explicitly called or as a result
|
| + of the ctrl being passed down the chain. Fix BIO_pop() and SSL BIOs so
|
| + it handles reference counts correctly and doesn't zero out the I/O bio
|
| + when it is not being explicitly popped. WARNING: applications which
|
| + included workarounds for the old buggy behaviour will need to be modified
|
| + or they could free up already freed BIOs.
|
| + [Steve Henson]
|
| +
|
| + *) Extend the uni2asc/asc2uni => OPENSSL_uni2asc/OPENSSL_asc2uni
|
| + renaming to all platforms (within the 0.9.8 branch, this was
|
| + done conditionally on Netware platforms to avoid a name clash).
|
| + [Guenter <lists@gknw.net>]
|
| +
|
| + *) Add ECDHE and PSK support to DTLS.
|
| + [Michael Tuexen <tuexen@fh-muenster.de>]
|
| +
|
| + *) Add CHECKED_STACK_OF macro to safestack.h, otherwise safestack can't
|
| + be used on C++.
|
| + [Steve Henson]
|
| +
|
| + *) Add "missing" function EVP_MD_flags() (without this the only way to
|
| + retrieve a digest flags is by accessing the structure directly. Update
|
| + EVP_MD_do_all*() and EVP_CIPHER_do_all*() to include the name a digest
|
| + or cipher is registered as in the "from" argument. Print out all
|
| + registered digests in the dgst usage message instead of manually
|
| + attempting to work them out.
|
| + [Steve Henson]
|
| +
|
| + *) If no SSLv2 ciphers are used don't use an SSLv2 compatible client hello:
|
| + this allows the use of compression and extensions. Change default cipher
|
| + string to remove SSLv2 ciphersuites. This effectively avoids ancient SSLv2
|
| + by default unless an application cipher string requests it.
|
| + [Steve Henson]
|
| +
|
| + *) Alter match criteria in PKCS12_parse(). It used to try to use local
|
| + key ids to find matching certificates and keys but some PKCS#12 files
|
| + don't follow the (somewhat unwritten) rules and this strategy fails.
|
| + Now just gather all certificates together and the first private key
|
| + then look for the first certificate that matches the key.
|
| + [Steve Henson]
|
| +
|
| + *) Support use of registered digest and cipher names for dgst and cipher
|
| + commands instead of having to add each one as a special case. So now
|
| + you can do:
|
| +
|
| + openssl sha256 foo
|
| +
|
| + as well as:
|
| +
|
| + openssl dgst -sha256 foo
|
| +
|
| + and this works for ENGINE based algorithms too.
|
| +
|
| + [Steve Henson]
|
| +
|
| + *) Update Gost ENGINE to support parameter files.
|
| + [Victor B. Wagner <vitus@cryptocom.ru>]
|
| +
|
| + *) Support GeneralizedTime in ca utility.
|
| + [Oliver Martin <oliver@volatilevoid.net>, Steve Henson]
|
| +
|
| + *) Enhance the hash format used for certificate directory links. The new
|
| + form uses the canonical encoding (meaning equivalent names will work
|
| + even if they aren't identical) and uses SHA1 instead of MD5. This form
|
| + is incompatible with the older format and as a result c_rehash should
|
| + be used to rebuild symbolic links.
|
| + [Steve Henson]
|
| +
|
| + *) Make PKCS#8 the default write format for private keys, replacing the
|
| + traditional format. This form is standardised, more secure and doesn't
|
| + include an implicit MD5 dependency.
|
| + [Steve Henson]
|
| +
|
| + *) Add a $gcc_devteam_warn option to Configure. The idea is that any code
|
| + committed to OpenSSL should pass this lot as a minimum.
|
| + [Steve Henson]
|
| +
|
| + *) Add session ticket override functionality for use by EAP-FAST.
|
| + [Jouni Malinen <j@w1.fi>]
|
| +
|
| + *) Modify HMAC functions to return a value. Since these can be implemented
|
| + in an ENGINE errors can occur.
|
| + [Steve Henson]
|
| +
|
| + *) Type-checked OBJ_bsearch_ex.
|
| + [Ben Laurie]
|
| +
|
| + *) Type-checked OBJ_bsearch. Also some constification necessitated
|
| + by type-checking. Still to come: TXT_DB, bsearch(?),
|
| + OBJ_bsearch_ex, qsort, CRYPTO_EX_DATA, ASN1_VALUE, ASN1_STRING,
|
| + CONF_VALUE.
|
| + [Ben Laurie]
|
| +
|
| + *) New function OPENSSL_gmtime_adj() to add a specific number of days and
|
| + seconds to a tm structure directly, instead of going through OS
|
| + specific date routines. This avoids any issues with OS routines such
|
| + as the year 2038 bug. New *_adj() functions for ASN1 time structures
|
| + and X509_time_adj_ex() to cover the extended range. The existing
|
| + X509_time_adj() is still usable and will no longer have any date issues.
|
| + [Steve Henson]
|
| +
|
| + *) Delta CRL support. New use deltas option which will attempt to locate
|
| + and search any appropriate delta CRLs available.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Support for CRLs partitioned by reason code. Reorganise CRL processing
|
| + code and add additional score elements. Validate alternate CRL paths
|
| + as part of the CRL checking and indicate a new error "CRL path validation
|
| + error" in this case. Applications wanting additional details can use
|
| + the verify callback and check the new "parent" field. If this is not
|
| + NULL CRL path validation is taking place. Existing applications wont
|
| + see this because it requires extended CRL support which is off by
|
| + default.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Support for freshest CRL extension.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Initial indirect CRL support. Currently only supported in the CRLs
|
| + passed directly and not via lookup. Process certificate issuer
|
| + CRL entry extension and lookup CRL entries by bother issuer name
|
| + and serial number. Check and process CRL issuer entry in IDP extension.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Add support for distinct certificate and CRL paths. The CRL issuer
|
| + certificate is validated separately in this case. Only enabled if
|
| + an extended CRL support flag is set: this flag will enable additional
|
| + CRL functionality in future.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Add support for policy mappings extension.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Fixes to pathlength constraint, self issued certificate handling,
|
| + policy processing to align with RFC3280 and PKITS tests.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Support for name constraints certificate extension. DN, email, DNS
|
| + and URI types are currently supported.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) To cater for systems that provide a pointer-based thread ID rather
|
| + than numeric, deprecate the current numeric thread ID mechanism and
|
| + replace it with a structure and associated callback type. This
|
| + mechanism allows a numeric "hash" to be extracted from a thread ID in
|
| + either case, and on platforms where pointers are larger than 'long',
|
| + mixing is done to help ensure the numeric 'hash' is usable even if it
|
| + can't be guaranteed unique. The default mechanism is to use "&errno"
|
| + as a pointer-based thread ID to distinguish between threads.
|
| +
|
| + Applications that want to provide their own thread IDs should now use
|
| + CRYPTO_THREADID_set_callback() to register a callback that will call
|
| + either CRYPTO_THREADID_set_numeric() or CRYPTO_THREADID_set_pointer().
|
| +
|
| + Note that ERR_remove_state() is now deprecated, because it is tied
|
| + to the assumption that thread IDs are numeric. ERR_remove_state(0)
|
| + to free the current thread's error state should be replaced by
|
| + ERR_remove_thread_state(NULL).
|
| +
|
| + (This new approach replaces the functions CRYPTO_set_idptr_callback(),
|
| + CRYPTO_get_idptr_callback(), and CRYPTO_thread_idptr() that existed in
|
| + OpenSSL 0.9.9-dev between June 2006 and August 2008. Also, if an
|
| + application was previously providing a numeric thread callback that
|
| + was inappropriate for distinguishing threads, then uniqueness might
|
| + have been obtained with &errno that happened immediately in the
|
| + intermediate development versions of OpenSSL; this is no longer the
|
| + case, the numeric thread callback will now override the automatic use
|
| + of &errno.)
|
| + [Geoff Thorpe, with help from Bodo Moeller]
|
| +
|
| + *) Initial support for different CRL issuing certificates. This covers a
|
| + simple case where the self issued certificates in the chain exist and
|
| + the real CRL issuer is higher in the existing chain.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Removed effectively defunct crypto/store from the build.
|
| + [Ben Laurie]
|
| +
|
| + *) Revamp of STACK to provide stronger type-checking. Still to come:
|
| + TXT_DB, bsearch(?), OBJ_bsearch, qsort, CRYPTO_EX_DATA, ASN1_VALUE,
|
| + ASN1_STRING, CONF_VALUE.
|
| + [Ben Laurie]
|
| +
|
| + *) Add a new SSL_MODE_RELEASE_BUFFERS mode flag to release unused buffer
|
| + RAM on SSL connections. This option can save about 34k per idle SSL.
|
| + [Nick Mathewson]
|
| +
|
| + *) Revamp of LHASH to provide stronger type-checking. Still to come:
|
| + STACK, TXT_DB, bsearch, qsort.
|
| + [Ben Laurie]
|
| +
|
| + *) Initial support for Cryptographic Message Syntax (aka CMS) based
|
| + on RFC3850, RFC3851 and RFC3852. New cms directory and cms utility,
|
| + support for data, signedData, compressedData, digestedData and
|
| + encryptedData, envelopedData types included. Scripts to check against
|
| + RFC4134 examples draft and interop and consistency checks of many
|
| + content types and variants.
|
| + [Steve Henson]
|
| +
|
| + *) Add options to enc utility to support use of zlib compression BIO.
|
| + [Steve Henson]
|
| +
|
| + *) Extend mk1mf to support importing of options and assembly language
|
| + files from Configure script, currently only included in VC-WIN32.
|
| + The assembly language rules can now optionally generate the source
|
| + files from the associated perl scripts.
|
| + [Steve Henson]
|
| +
|
| + *) Implement remaining functionality needed to support GOST ciphersuites.
|
| + Interop testing has been performed using CryptoPro implementations.
|
| + [Victor B. Wagner <vitus@cryptocom.ru>]
|
| +
|
| + *) s390x assembler pack.
|
| + [Andy Polyakov]
|
| +
|
| + *) ARMv4 assembler pack. ARMv4 refers to v4 and later ISA, not CPU
|
| + "family."
|
| + [Andy Polyakov]
|
| +
|
| + *) Implement Opaque PRF Input TLS extension as specified in
|
| + draft-rescorla-tls-opaque-prf-input-00.txt. Since this is not an
|
| + official specification yet and no extension type assignment by
|
| + IANA exists, this extension (for now) will have to be explicitly
|
| + enabled when building OpenSSL by providing the extension number
|
| + to use. For example, specify an option
|
| +
|
| + -DTLSEXT_TYPE_opaque_prf_input=0x9527
|
| +
|
| + to the "config" or "Configure" script to enable the extension,
|
| + assuming extension number 0x9527 (which is a completely arbitrary
|
| + and unofficial assignment based on the MD5 hash of the Internet
|
| + Draft). Note that by doing so, you potentially lose
|
| + interoperability with other TLS implementations since these might
|
| + be using the same extension number for other purposes.
|
| +
|
| + SSL_set_tlsext_opaque_prf_input(ssl, src, len) is used to set the
|
| + opaque PRF input value to use in the handshake. This will create
|
| + an interal copy of the length-'len' string at 'src', and will
|
| + return non-zero for success.
|
| +
|
| + To get more control and flexibility, provide a callback function
|
| + by using
|
| +
|
| + SSL_CTX_set_tlsext_opaque_prf_input_callback(ctx, cb)
|
| + SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(ctx, arg)
|
| +
|
| + where
|
| +
|
| + int (*cb)(SSL *, void *peerinput, size_t len, void *arg);
|
| + void *arg;
|
| +
|
| + Callback function 'cb' will be called in handshakes, and is
|
| + expected to use SSL_set_tlsext_opaque_prf_input() as appropriate.
|
| + Argument 'arg' is for application purposes (the value as given to
|
| + SSL_CTX_set_tlsext_opaque_prf_input_callback_arg() will directly
|
| + be provided to the callback function). The callback function
|
| + has to return non-zero to report success: usually 1 to use opaque
|
| + PRF input just if possible, or 2 to enforce use of the opaque PRF
|
| + input. In the latter case, the library will abort the handshake
|
| + if opaque PRF input is not successfully negotiated.
|
| +
|
| + Arguments 'peerinput' and 'len' given to the callback function
|
| + will always be NULL and 0 in the case of a client. A server will
|
| + see the client's opaque PRF input through these variables if
|
| + available (NULL and 0 otherwise). Note that if the server
|
| + provides an opaque PRF input, the length must be the same as the
|
| + length of the client's opaque PRF input.
|
| +
|
| + Note that the callback function will only be called when creating
|
| + a new session (session resumption can resume whatever was
|
| + previously negotiated), and will not be called in SSL 2.0
|
| + handshakes; thus, SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2) or
|
| + SSL_set_options(ssl, SSL_OP_NO_SSLv2) is especially recommended
|
| + for applications that need to enforce opaque PRF input.
|
| +
|
| + [Bodo Moeller]
|
| +
|
| + *) Update ssl code to support digests other than SHA1+MD5 for handshake
|
| + MAC.
|
| +
|
| + [Victor B. Wagner <vitus@cryptocom.ru>]
|
| +
|
| + *) Add RFC4507 support to OpenSSL. This includes the corrections in
|
| + RFC4507bis. The encrypted ticket format is an encrypted encoded
|
| + SSL_SESSION structure, that way new session features are automatically
|
| + supported.
|
| +
|
| + If a client application caches session in an SSL_SESSION structure
|
| + support is transparent because tickets are now stored in the encoded
|
| + SSL_SESSION.
|
| +
|
| + The SSL_CTX structure automatically generates keys for ticket
|
| + protection in servers so again support should be possible
|
| + with no application modification.
|
| +
|
| + If a client or server wishes to disable RFC4507 support then the option
|
| + SSL_OP_NO_TICKET can be set.
|
| +
|
| + Add a TLS extension debugging callback to allow the contents of any client
|
| + or server extensions to be examined.
|
| +
|
| + This work was sponsored by Google.
|
| + [Steve Henson]
|
| +
|
| + *) Final changes to avoid use of pointer pointer casts in OpenSSL.
|
| + OpenSSL should now compile cleanly on gcc 4.2
|
| + [Peter Hartley <pdh@utter.chaos.org.uk>, Steve Henson]
|
| +
|
| + *) Update SSL library to use new EVP_PKEY MAC API. Include generic MAC
|
| + support including streaming MAC support: this is required for GOST
|
| + ciphersuite support.
|
| + [Victor B. Wagner <vitus@cryptocom.ru>, Steve Henson]
|
| +
|
| + *) Add option -stream to use PKCS#7 streaming in smime utility. New
|
| + function i2d_PKCS7_bio_stream() and PEM_write_PKCS7_bio_stream()
|
| + to output in BER and PEM format.
|
| + [Steve Henson]
|
| +
|
| + *) Experimental support for use of HMAC via EVP_PKEY interface. This
|
| + allows HMAC to be handled via the EVP_DigestSign*() interface. The
|
| + EVP_PKEY "key" in this case is the HMAC key, potentially allowing
|
| + ENGINE support for HMAC keys which are unextractable. New -mac and
|
| + -macopt options to dgst utility.
|
| + [Steve Henson]
|
| +
|
| + *) New option -sigopt to dgst utility. Update dgst to use
|
| + EVP_Digest{Sign,Verify}*. These two changes make it possible to use
|
| + alternative signing paramaters such as X9.31 or PSS in the dgst
|
| + utility.
|
| + [Steve Henson]
|
| +
|
| + *) Change ssl_cipher_apply_rule(), the internal function that does
|
| + the work each time a ciphersuite string requests enabling
|
| + ("foo+bar"), moving ("+foo+bar"), disabling ("-foo+bar", or
|
| + removing ("!foo+bar") a class of ciphersuites: Now it maintains
|
| + the order of disabled ciphersuites such that those ciphersuites
|
| + that most recently went from enabled to disabled not only stay
|
| + in order with respect to each other, but also have higher priority
|
| + than other disabled ciphersuites the next time ciphersuites are
|
| + enabled again.
|
| +
|
| + This means that you can now say, e.g., "PSK:-PSK:HIGH" to enable
|
| + the same ciphersuites as with "HIGH" alone, but in a specific
|
| + order where the PSK ciphersuites come first (since they are the
|
| + most recently disabled ciphersuites when "HIGH" is parsed).
|
| +
|
| + Also, change ssl_create_cipher_list() (using this new
|
| + funcionality) such that between otherwise identical
|
| + cihpersuites, ephemeral ECDH is preferred over ephemeral DH in
|
| + the default order.
|
| + [Bodo Moeller]
|
| +
|
| + *) Change ssl_create_cipher_list() so that it automatically
|
| + arranges the ciphersuites in reasonable order before starting
|
| + to process the rule string. Thus, the definition for "DEFAULT"
|
| + (SSL_DEFAULT_CIPHER_LIST) now is just "ALL:!aNULL:!eNULL", but
|
| + remains equivalent to "AES:ALL:!aNULL:!eNULL:+aECDH:+kRSA:+RC4:@STRENGTH".
|
| + This makes it much easier to arrive at a reasonable default order
|
| + in applications for which anonymous ciphers are OK (meaning
|
| + that you can't actually use DEFAULT).
|
| + [Bodo Moeller; suggested by Victor Duchovni]
|
| +
|
| + *) Split the SSL/TLS algorithm mask (as used for ciphersuite string
|
| + processing) into multiple integers instead of setting
|
| + "SSL_MKEY_MASK" bits, "SSL_AUTH_MASK" bits, "SSL_ENC_MASK",
|
| + "SSL_MAC_MASK", and "SSL_SSL_MASK" bits all in a single integer.
|
| + (These masks as well as the individual bit definitions are hidden
|
| + away into the non-exported interface ssl/ssl_locl.h, so this
|
| + change to the definition of the SSL_CIPHER structure shouldn't
|
| + affect applications.) This give us more bits for each of these
|
| + categories, so there is no longer a need to coagulate AES128 and
|
| + AES256 into a single algorithm bit, and to coagulate Camellia128
|
| + and Camellia256 into a single algorithm bit, which has led to all
|
| + kinds of kludges.
|
| +
|
| + Thus, among other things, the kludge introduced in 0.9.7m and
|
| + 0.9.8e for masking out AES256 independently of AES128 or masking
|
| + out Camellia256 independently of AES256 is not needed here in 0.9.9.
|
| +
|
| + With the change, we also introduce new ciphersuite aliases that
|
| + so far were missing: "AES128", "AES256", "CAMELLIA128", and
|
| + "CAMELLIA256".
|
| + [Bodo Moeller]
|
| +
|
| + *) Add support for dsa-with-SHA224 and dsa-with-SHA256.
|
| + Use the leftmost N bytes of the signature input if the input is
|
| + larger than the prime q (with N being the size in bytes of q).
|
| + [Nils Larsch]
|
| +
|
| + *) Very *very* experimental PKCS#7 streaming encoder support. Nothing uses
|
| + it yet and it is largely untested.
|
| + [Steve Henson]
|
| +
|
| + *) Add support for the ecdsa-with-SHA224/256/384/512 signature types.
|
| + [Nils Larsch]
|
| +
|
| + *) Initial incomplete changes to avoid need for function casts in OpenSSL
|
| + some compilers (gcc 4.2 and later) reject their use. Safestack is
|
| + reimplemented. Update ASN1 to avoid use of legacy functions.
|
| + [Steve Henson]
|
| +
|
| + *) Win32/64 targets are linked with Winsock2.
|
| + [Andy Polyakov]
|
| +
|
| + *) Add an X509_CRL_METHOD structure to allow CRL processing to be redirected
|
| + to external functions. This can be used to increase CRL handling
|
| + efficiency especially when CRLs are very large by (for example) storing
|
| + the CRL revoked certificates in a database.
|
| + [Steve Henson]
|
| +
|
| + *) Overhaul of by_dir code. Add support for dynamic loading of CRLs so
|
| + new CRLs added to a directory can be used. New command line option
|
| + -verify_return_error to s_client and s_server. This causes real errors
|
| + to be returned by the verify callback instead of carrying on no matter
|
| + what. This reflects the way a "real world" verify callback would behave.
|
| + [Steve Henson]
|
| +
|
| + *) GOST engine, supporting several GOST algorithms and public key formats.
|
| + Kindly donated by Cryptocom.
|
| + [Cryptocom]
|
| +
|
| + *) Partial support for Issuing Distribution Point CRL extension. CRLs
|
| + partitioned by DP are handled but no indirect CRL or reason partitioning
|
| + (yet). Complete overhaul of CRL handling: now the most suitable CRL is
|
| + selected via a scoring technique which handles IDP and AKID in CRLs.
|
| + [Steve Henson]
|
| +
|
| + *) New X509_STORE_CTX callbacks lookup_crls() and lookup_certs() which
|
| + will ultimately be used for all verify operations: this will remove the
|
| + X509_STORE dependency on certificate verification and allow alternative
|
| + lookup methods. X509_STORE based implementations of these two callbacks.
|
| + [Steve Henson]
|
| +
|
| + *) Allow multiple CRLs to exist in an X509_STORE with matching issuer names.
|
| + Modify get_crl() to find a valid (unexpired) CRL if possible.
|
| + [Steve Henson]
|
| +
|
| + *) New function X509_CRL_match() to check if two CRLs are identical. Normally
|
| + this would be called X509_CRL_cmp() but that name is already used by
|
| + a function that just compares CRL issuer names. Cache several CRL
|
| + extensions in X509_CRL structure and cache CRLDP in X509.
|
| + [Steve Henson]
|
| +
|
| + *) Store a "canonical" representation of X509_NAME structure (ASN1 Name)
|
| + this maps equivalent X509_NAME structures into a consistent structure.
|
| + Name comparison can then be performed rapidly using memcmp().
|
| + [Steve Henson]
|
| +
|
| + *) Non-blocking OCSP request processing. Add -timeout option to ocsp
|
| + utility.
|
| + [Steve Henson]
|
| +
|
| + *) Allow digests to supply their own micalg string for S/MIME type using
|
| + the ctrl EVP_MD_CTRL_MICALG.
|
| + [Steve Henson]
|
| +
|
| + *) During PKCS7 signing pass the PKCS7 SignerInfo structure to the
|
| + EVP_PKEY_METHOD before and after signing via the EVP_PKEY_CTRL_PKCS7_SIGN
|
| + ctrl. It can then customise the structure before and/or after signing
|
| + if necessary.
|
| + [Steve Henson]
|
| +
|
| + *) New function OBJ_add_sigid() to allow application defined signature OIDs
|
| + to be added to OpenSSLs internal tables. New function OBJ_sigid_free()
|
| + to free up any added signature OIDs.
|
| + [Steve Henson]
|
| +
|
| + *) New functions EVP_CIPHER_do_all(), EVP_CIPHER_do_all_sorted(),
|
| + EVP_MD_do_all() and EVP_MD_do_all_sorted() to enumerate internal
|
| + digest and cipher tables. New options added to openssl utility:
|
| + list-message-digest-algorithms and list-cipher-algorithms.
|
| + [Steve Henson]
|
| +
|
| + *) Change the array representation of binary polynomials: the list
|
| + of degrees of non-zero coefficients is now terminated with -1.
|
| + Previously it was terminated with 0, which was also part of the
|
| + value; thus, the array representation was not applicable to
|
| + polynomials where t^0 has coefficient zero. This change makes
|
| + the array representation useful in a more general context.
|
| + [Douglas Stebila]
|
| +
|
| + *) Various modifications and fixes to SSL/TLS cipher string
|
| + handling. For ECC, the code now distinguishes between fixed ECDH
|
| + with RSA certificates on the one hand and with ECDSA certificates
|
| + on the other hand, since these are separate ciphersuites. The
|
| + unused code for Fortezza ciphersuites has been removed.
|
| +
|
| + For consistency with EDH, ephemeral ECDH is now called "EECDH"
|
| + (not "ECDHE"). For consistency with the code for DH
|
| + certificates, use of ECDH certificates is now considered ECDH
|
| + authentication, not RSA or ECDSA authentication (the latter is
|
| + merely the CA's signing algorithm and not actively used in the
|
| + protocol).
|
| +
|
| + The temporary ciphersuite alias "ECCdraft" is no longer
|
| + available, and ECC ciphersuites are no longer excluded from "ALL"
|
| + and "DEFAULT". The following aliases now exist for RFC 4492
|
| + ciphersuites, most of these by analogy with the DH case:
|
| +
|
| + kECDHr - ECDH cert, signed with RSA
|
| + kECDHe - ECDH cert, signed with ECDSA
|
| + kECDH - ECDH cert (signed with either RSA or ECDSA)
|
| + kEECDH - ephemeral ECDH
|
| + ECDH - ECDH cert or ephemeral ECDH
|
| +
|
| + aECDH - ECDH cert
|
| + aECDSA - ECDSA cert
|
| + ECDSA - ECDSA cert
|
| +
|
| + AECDH - anonymous ECDH
|
| + EECDH - non-anonymous ephemeral ECDH (equivalent to "kEECDH:-AECDH")
|
| +
|
| + [Bodo Moeller]
|
| +
|
| + *) Add additional S/MIME capabilities for AES and GOST ciphers if supported.
|
| + Use correct micalg parameters depending on digest(s) in signed message.
|
| + [Steve Henson]
|
| +
|
| + *) Add engine support for EVP_PKEY_ASN1_METHOD. Add functions to process
|
| + an ENGINE asn1 method. Support ENGINE lookups in the ASN1 code.
|
| + [Steve Henson]
|
| +
|
| + *) Initial engine support for EVP_PKEY_METHOD. New functions to permit
|
| + an engine to register a method. Add ENGINE lookups for methods and
|
| + functional reference processing.
|
| + [Steve Henson]
|
| +
|
| + *) New functions EVP_Digest{Sign,Verify)*. These are enchance versions of
|
| + EVP_{Sign,Verify}* which allow an application to customise the signature
|
| + process.
|
| + [Steve Henson]
|
| +
|
| + *) New -resign option to smime utility. This adds one or more signers
|
| + to an existing PKCS#7 signedData structure. Also -md option to use an
|
| + alternative message digest algorithm for signing.
|
| + [Steve Henson]
|
| +
|
| + *) Tidy up PKCS#7 routines and add new functions to make it easier to
|
| + create PKCS7 structures containing multiple signers. Update smime
|
| + application to support multiple signers.
|
| + [Steve Henson]
|
| +
|
| + *) New -macalg option to pkcs12 utility to allow setting of an alternative
|
| + digest MAC.
|
| + [Steve Henson]
|
| +
|
| + *) Initial support for PKCS#5 v2.0 PRFs other than default SHA1 HMAC.
|
| + Reorganize PBE internals to lookup from a static table using NIDs,
|
| + add support for HMAC PBE OID translation. Add a EVP_CIPHER ctrl:
|
| + EVP_CTRL_PBE_PRF_NID this allows a cipher to specify an alternative
|
| + PRF which will be automatically used with PBES2.
|
| + [Steve Henson]
|
| +
|
| + *) Replace the algorithm specific calls to generate keys in "req" with the
|
| + new API.
|
| + [Steve Henson]
|
| +
|
| + *) Update PKCS#7 enveloped data routines to use new API. This is now
|
| + supported by any public key method supporting the encrypt operation. A
|
| + ctrl is added to allow the public key algorithm to examine or modify
|
| + the PKCS#7 RecipientInfo structure if it needs to: for RSA this is
|
| + a no op.
|
| + [Steve Henson]
|
| +
|
| + *) Add a ctrl to asn1 method to allow a public key algorithm to express
|
| + a default digest type to use. In most cases this will be SHA1 but some
|
| + algorithms (such as GOST) need to specify an alternative digest. The
|
| + return value indicates how strong the prefernce is 1 means optional and
|
| + 2 is mandatory (that is it is the only supported type). Modify
|
| + ASN1_item_sign() to accept a NULL digest argument to indicate it should
|
| + use the default md. Update openssl utilities to use the default digest
|
| + type for signing if it is not explicitly indicated.
|
| + [Steve Henson]
|
| +
|
| + *) Use OID cross reference table in ASN1_sign() and ASN1_verify(). New
|
| + EVP_MD flag EVP_MD_FLAG_PKEY_METHOD_SIGNATURE. This uses the relevant
|
| + signing method from the key type. This effectively removes the link
|
| + between digests and public key types.
|
| + [Steve Henson]
|
| +
|
| + *) Add an OID cross reference table and utility functions. Its purpose is to
|
| + translate between signature OIDs such as SHA1WithrsaEncryption and SHA1,
|
| + rsaEncryption. This will allow some of the algorithm specific hackery
|
| + needed to use the correct OID to be removed.
|
| + [Steve Henson]
|
| +
|
| + *) Remove algorithm specific dependencies when setting PKCS7_SIGNER_INFO
|
| + structures for PKCS7_sign(). They are now set up by the relevant public
|
| + key ASN1 method.
|
| + [Steve Henson]
|
| +
|
| + *) Add provisional EC pkey method with support for ECDSA and ECDH.
|
| + [Steve Henson]
|
| +
|
| + *) Add support for key derivation (agreement) in the API, DH method and
|
| + pkeyutl.
|
| + [Steve Henson]
|
| +
|
| + *) Add DSA pkey method and DH pkey methods, extend DH ASN1 method to support
|
| + public and private key formats. As a side effect these add additional
|
| + command line functionality not previously available: DSA signatures can be
|
| + generated and verified using pkeyutl and DH key support and generation in
|
| + pkey, genpkey.
|
| + [Steve Henson]
|
| +
|
| + *) BeOS support.
|
| + [Oliver Tappe <zooey@hirschkaefer.de>]
|
| +
|
| + *) New make target "install_html_docs" installs HTML renditions of the
|
| + manual pages.
|
| + [Oliver Tappe <zooey@hirschkaefer.de>]
|
| +
|
| + *) New utility "genpkey" this is analagous to "genrsa" etc except it can
|
| + generate keys for any algorithm. Extend and update EVP_PKEY_METHOD to
|
| + support key and parameter generation and add initial key generation
|
| + functionality for RSA.
|
| + [Steve Henson]
|
| +
|
| + *) Add functions for main EVP_PKEY_method operations. The undocumented
|
| + functions EVP_PKEY_{encrypt,decrypt} have been renamed to
|
| + EVP_PKEY_{encrypt,decrypt}_old.
|
| + [Steve Henson]
|
| +
|
| + *) Initial definitions for EVP_PKEY_METHOD. This will be a high level public
|
| + key API, doesn't do much yet.
|
| + [Steve Henson]
|
| +
|
| + *) New function EVP_PKEY_asn1_get0_info() to retrieve information about
|
| + public key algorithms. New option to openssl utility:
|
| + "list-public-key-algorithms" to print out info.
|
| + [Steve Henson]
|
| +
|
| + *) Implement the Supported Elliptic Curves Extension for
|
| + ECC ciphersuites from draft-ietf-tls-ecc-12.txt.
|
| + [Douglas Stebila]
|
| +
|
| + *) Don't free up OIDs in OBJ_cleanup() if they are in use by EVP_MD or
|
| + EVP_CIPHER structures to avoid later problems in EVP_cleanup().
|
| + [Steve Henson]
|
| +
|
| + *) New utilities pkey and pkeyparam. These are similar to algorithm specific
|
| + utilities such as rsa, dsa, dsaparam etc except they process any key
|
| + type.
|
| + [Steve Henson]
|
| +
|
| + *) Transfer public key printing routines to EVP_PKEY_ASN1_METHOD. New
|
| + functions EVP_PKEY_print_public(), EVP_PKEY_print_private(),
|
| + EVP_PKEY_print_param() to print public key data from an EVP_PKEY
|
| + structure.
|
| + [Steve Henson]
|
| +
|
| + *) Initial support for pluggable public key ASN1.
|
| + De-spaghettify the public key ASN1 handling. Move public and private
|
| + key ASN1 handling to a new EVP_PKEY_ASN1_METHOD structure. Relocate
|
| + algorithm specific handling to a single module within the relevant
|
| + algorithm directory. Add functions to allow (near) opaque processing
|
| + of public and private key structures.
|
| + [Steve Henson]
|
| +
|
| + *) Implement the Supported Point Formats Extension for
|
| + ECC ciphersuites from draft-ietf-tls-ecc-12.txt.
|
| + [Douglas Stebila]
|
| +
|
| + *) Add initial support for RFC 4279 PSK TLS ciphersuites. Add members
|
| + for the psk identity [hint] and the psk callback functions to the
|
| + SSL_SESSION, SSL and SSL_CTX structure.
|
| +
|
| + New ciphersuites:
|
| + PSK-RC4-SHA, PSK-3DES-EDE-CBC-SHA, PSK-AES128-CBC-SHA,
|
| + PSK-AES256-CBC-SHA
|
| +
|
| + New functions:
|
| + SSL_CTX_use_psk_identity_hint
|
| + SSL_get_psk_identity_hint
|
| + SSL_get_psk_identity
|
| + SSL_use_psk_identity_hint
|
| +
|
| + [Mika Kousa and Pasi Eronen of Nokia Corporation]
|
| +
|
| + *) Add RFC 3161 compliant time stamp request creation, response generation
|
| + and response verification functionality.
|
| + [Zoltán Glózik <zglozik@opentsa.org>, The OpenTSA Project]
|
| +
|
| + *) Add initial support for TLS extensions, specifically for the server_name
|
| + extension so far. The SSL_SESSION, SSL_CTX, and SSL data structures now
|
| + have new members for a host name. The SSL data structure has an
|
| + additional member SSL_CTX *initial_ctx so that new sessions can be
|
| + stored in that context to allow for session resumption, even after the
|
| + SSL has been switched to a new SSL_CTX in reaction to a client's
|
| + server_name extension.
|
| +
|
| + New functions (subject to change):
|
| +
|
| + SSL_get_servername()
|
| + SSL_get_servername_type()
|
| + SSL_set_SSL_CTX()
|
| +
|
| + New CTRL codes and macros (subject to change):
|
| +
|
| + SSL_CTRL_SET_TLSEXT_SERVERNAME_CB
|
| + - SSL_CTX_set_tlsext_servername_callback()
|
| + SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG
|
| + - SSL_CTX_set_tlsext_servername_arg()
|
| + SSL_CTRL_SET_TLSEXT_HOSTNAME - SSL_set_tlsext_host_name()
|
| +
|
| + openssl s_client has a new '-servername ...' option.
|
| +
|
| + openssl s_server has new options '-servername_host ...', '-cert2 ...',
|
| + '-key2 ...', '-servername_fatal' (subject to change). This allows
|
| + testing the HostName extension for a specific single host name ('-cert'
|
| + and '-key' remain fallbacks for handshakes without HostName
|
| + negotiation). If the unrecogninzed_name alert has to be sent, this by
|
| + default is a warning; it becomes fatal with the '-servername_fatal'
|
| + option.
|
| +
|
| + [Peter Sylvester, Remy Allais, Christophe Renou]
|
| +
|
| + *) Whirlpool hash implementation is added.
|
| + [Andy Polyakov]
|
| +
|
| + *) BIGNUM code on 64-bit SPARCv9 targets is switched from bn(64,64) to
|
| + bn(64,32). Because of instruction set limitations it doesn't have
|
| + any negative impact on performance. This was done mostly in order
|
| + to make it possible to share assembler modules, such as bn_mul_mont
|
| + implementations, between 32- and 64-bit builds without hassle.
|
| + [Andy Polyakov]
|
| +
|
| + *) Move code previously exiled into file crypto/ec/ec2_smpt.c
|
| + to ec2_smpl.c, and no longer require the OPENSSL_EC_BIN_PT_COMP
|
| + macro.
|
| + [Bodo Moeller]
|
| +
|
| + *) New candidate for BIGNUM assembler implementation, bn_mul_mont,
|
| + dedicated Montgomery multiplication procedure, is introduced.
|
| + BN_MONT_CTX is modified to allow bn_mul_mont to reach for higher
|
| + "64-bit" performance on certain 32-bit targets.
|
| + [Andy Polyakov]
|
| +
|
| + *) New option SSL_OP_NO_COMP to disable use of compression selectively
|
| + in SSL structures. New SSL ctrl to set maximum send fragment size.
|
| + Save memory by seeting the I/O buffer sizes dynamically instead of
|
| + using the maximum available value.
|
| + [Steve Henson]
|
| +
|
| + *) New option -V for 'openssl ciphers'. This prints the ciphersuite code
|
| + in addition to the text details.
|
| + [Bodo Moeller]
|
| +
|
| + *) Very, very preliminary EXPERIMENTAL support for printing of general
|
| + ASN1 structures. This currently produces rather ugly output and doesn't
|
| + handle several customised structures at all.
|
| + [Steve Henson]
|
| +
|
| + *) Integrated support for PVK file format and some related formats such
|
| + as MS PUBLICKEYBLOB and PRIVATEKEYBLOB. Command line switches to support
|
| + these in the 'rsa' and 'dsa' utilities.
|
| + [Steve Henson]
|
| +
|
| + *) Support for PKCS#1 RSAPublicKey format on rsa utility command line.
|
| + [Steve Henson]
|
| +
|
| + *) Remove the ancient ASN1_METHOD code. This was only ever used in one
|
| + place for the (very old) "NETSCAPE" format certificates which are now
|
| + handled using new ASN1 code equivalents.
|
| + [Steve Henson]
|
| +
|
| + *) Let the TLSv1_method() etc. functions return a 'const' SSL_METHOD
|
| + pointer and make the SSL_METHOD parameter in SSL_CTX_new,
|
| + SSL_CTX_set_ssl_version and SSL_set_ssl_method 'const'.
|
| + [Nils Larsch]
|
| +
|
| + *) Modify CRL distribution points extension code to print out previously
|
| + unsupported fields. Enhance extension setting code to allow setting of
|
| + all fields.
|
| + [Steve Henson]
|
| +
|
| + *) Add print and set support for Issuing Distribution Point CRL extension.
|
| + [Steve Henson]
|
| +
|
| + *) Change 'Configure' script to enable Camellia by default.
|
| + [NTT]
|
| +
|
| + Changes between 0.9.8r and 0.9.8s [xx XXX xxxx]
|
| +
|
| + *) Fix ssl_ciph.c set-up race.
|
| + [Adam Langley (Google)]
|
| +
|
| + *) Fix spurious failures in ecdsatest.c.
|
| + [Emilia Käsper (Google)]
|
| +
|
| + *) Fix the BIO_f_buffer() implementation (which was mixing different
|
| + interpretations of the '..._len' fields).
|
| + [Adam Langley (Google)]
|
| +
|
| + *) Fix handling of BN_BLINDING: now BN_BLINDING_invert_ex (rather than
|
| + BN_BLINDING_invert_ex) calls BN_BLINDING_update, ensuring that concurrent
|
| + threads won't reuse the same blinding coefficients.
|
| +
|
| + This also avoids the need to obtain the CRYPTO_LOCK_RSA_BLINDING
|
| + lock to call BN_BLINDING_invert_ex, and avoids one use of
|
| + BN_BLINDING_update for each BN_BLINDING structure (previously,
|
| + the last update always remained unused).
|
| + [Emilia Käsper (Google)]
|
| +
|
| + *) Fix SSL memory handling for (EC)DH ciphersuites, in particular
|
| + for multi-threaded use of ECDH.
|
| + [Adam Langley (Google)]
|
| +
|
| + *) Fix x509_name_ex_d2i memory leak on bad inputs.
|
| + [Bodo Moeller]
|
| +
|
| + *) Add protection against ECDSA timing attacks as mentioned in the paper
|
| + by Billy Bob Brumley and Nicola Tuveri, see:
|
| +
|
| + http://eprint.iacr.org/2011/232.pdf
|
| +
|
| + [Billy Bob Brumley and Nicola Tuveri]
|
| +
|
| + Changes between 0.9.8q and 0.9.8r [8 Feb 2011]
|
| +
|
| + *) Fix parsing of OCSP stapling ClientHello extension. CVE-2011-0014
|
| + [Neel Mehta, Adam Langley, Bodo Moeller (Google)]
|
| +
|
| + *) Fix bug in string printing code: if *any* escaping is enabled we must
|
| + escape the escape character (backslash) or the resulting string is
|
| + ambiguous.
|
| + [Steve Henson]
|
| +
|
| + Changes between 0.9.8p and 0.9.8q [2 Dec 2010]
|
| +
|
| + *) Disable code workaround for ancient and obsolete Netscape browsers
|
| + and servers: an attacker can use it in a ciphersuite downgrade attack.
|
| + Thanks to Martin Rex for discovering this bug. CVE-2010-4180
|
| + [Steve Henson]
|
| +
|
| + *) Fixed J-PAKE implementation error, originally discovered by
|
| + Sebastien Martini, further info and confirmation from Stefan
|
| + Arentz and Feng Hao. Note that this fix is a security fix. CVE-2010-4252
|
| + [Ben Laurie]
|
| +
|
| + Changes between 0.9.8o and 0.9.8p [16 Nov 2010]
|
| +
|
| + *) Fix extension code to avoid race conditions which can result in a buffer
|
| + overrun vulnerability: resumed sessions must not be modified as they can
|
| + be shared by multiple threads. CVE-2010-3864
|
| + [Steve Henson]
|
| +
|
| + *) Fix for double free bug in ssl/s3_clnt.c CVE-2010-2939
|
| + [Steve Henson]
|
| +
|
| + *) Don't reencode certificate when calculating signature: cache and use
|
| + the original encoding instead. This makes signature verification of
|
| + some broken encodings work correctly.
|
| + [Steve Henson]
|
| +
|
| + *) ec2_GF2m_simple_mul bugfix: compute correct result if the output EC_POINT
|
| + is also one of the inputs.
|
| + [Emilia Käsper <emilia.kasper@esat.kuleuven.be> (Google)]
|
| +
|
| + *) Don't repeatedly append PBE algorithms to table if they already exist.
|
| + Sort table on each new add. This effectively makes the table read only
|
| + after all algorithms are added and subsequent calls to PKCS12_pbe_add
|
| + etc are non-op.
|
| + [Steve Henson]
|
| +
|
| Changes between 0.9.8n and 0.9.8o [01 Jun 2010]
|
|
|
| + [NB: OpenSSL 0.9.8o and later 0.9.8 patch levels were released after
|
| + OpenSSL 1.0.0.]
|
| +
|
| *) Correct a typo in the CMS ASN1 module which can result in invalid memory
|
| access or freeing data twice (CVE-2010-0742)
|
| [Steve Henson, Ronald Moesbergen <intercommit@gmail.com>]
|
|
|