We have released LibreSSL 2.8.1, which will be arriving in the
LibreSSL directory of your local OpenBSD mirror soon.
This is the second development release from the 2.8 series, which will
eventually be part of OpenBSD 6.4. It includes the following changes:
* Added Wycheproof test vectors for ECDH, RSASSA-PSS, AES-GCM,
AES-CMAC, AES-CCM, AES-CBC-PKCS5, DSA, ChaCha20-Poly1305, ECDSA,
X25519, and applied appropriate fixes for errors uncovered by tests.
* Simplified key exchange signature generation and verification.
* Fixed a one-byte buffer overrun in callers of EVP_read_pw_string
* Converted more code paths to use CBB/CBS. All handshake messages are
now created by CBB.
* Fixed various memory leaks found by Coverity.
* Simplfied session ticket parsing and handling, inspired by
* Modified signature of CRYPTO_mem_leaks_* to return -1. This function
is a no-op in LibreSSL, so this function returns an error to not
indicate the (non-)existence of memory leaks.
* SSL_copy_session_id, PEM_Sign, EVP_EncodeUpdate, BIO_set_cipher,
X509_OBJECT_up_ref_count now return an int for error handling,
* Converted a number of #defines into proper functions, matching
* Added X509_get0_serialNumber from OpenSSL.
* Removed EVP_PKEY2PKCS8_broken and PKCS8_set_broken, while adding
PKCS8_pkey_add1_attr_by_NID and PKCS8_pkey_get0_attrs, matching
* Removed broken pkcs8 formats from openssl(1).
* Converted more functions in public API to use const arguments.
* Stopped handing AES-GCM in ssl_cipher_get_evp, since they use the
* Stopped using composite EVP_CIPHER AEADs.
* Added timing-safe compares for checking results of signature
verification. There are no known attacks, this is just inexpensive
* Correctly clear the current cipher state, when changing cipher state.
This fixed an issue where renegotion of cipher suites would fail
when switched from AEAD to non-AEAD or vice-versa.
Issue reported by Bernard Spil.
* Added more cipher tests to appstest.sh, including all TLSv1.2
* Added RSA_meth_get_finish() RSA_meth_set1_name() from OpenSSL.
* Added new EVP_CIPHER_CTX_(get|set)_iv() API that allows the IV to be
retrieved and set with appropriate validation.
The LibreSSL project continues improvement of the codebase to reflect modern,
safe programming practices. We welcome feedback and improvements from the
broader community. Thanks to all of the contributors who helped make this