LibreSSL 2.1.1 released
LibreSSL 2.1.1 released : LibreSSL now turns off SSL 3 by default as a fix for POODLE. Thanks to the awesome people that have made this possible. Remember to donate!
Tearing apart OpenSSL, one arcane VMS hack at a time. Like what OpenBSD is doing to OpenSSL? Donate here.
LibreSSL 2.1.1 released : LibreSSL now turns off SSL 3 by default as a fix for POODLE. Thanks to the awesome people that have made this possible. Remember to donate!
LibreSSL 2.1.0 released : Many thanks to all of the awesome hackers that have made this release possible. Again, if you like the work that OpenBSD is doing, please donate here
Add ressl_config_clear_keys() : Provide a ressl config function that explicitly clears keys. Now that ressl config takes copies of the keys passed to it, the keys need to be explicitly cleared. While this can be done by calling the appropriate functions with a NULL pointer, it is simpler and more obvious to call one function that does this for you. — jsing
Add SSL_CTX_use_certificate_chain() : Add a new API function SSL_CTX_use_certificate_chain() that allows to read the PEM-encoded certificate chain from memory instead of a file. This idea is derived from an older implementation in relayd that was needed to use the function with a privep'ed process in a chroot. Now it is time to get it into LibreSSL to make the API more privsep- friendly and to…
Don't overzealously free(3) what you did not allocate : X509v3_add_ext(): do not free stuff we did not allocate in the error path. — miod
Don't dereference when NULL, also don't leak memory : X509_TRUST_add(): check X509_TRUST_get0() return value before dereferencing it, for it may be NULL. Do not leak memory upon error. — miod
Don't avoid your own API for the sake of misguided cleverness : Someone ™ thought it was smart to save memory by using malloc(1) and manual field fiddling to create an ASN1_INTEGER object, instead of using M_ASN1_INTEGER_new() which will allocate sizeof(long) bytes. That person had probably never looked into malloc(3) and never heard of allocation size rounding. Thus, replace the obfuscated code…
Config interface should own its own memory : revamp the config interface to own memory. easier to use correctly without caller worrying about leaks or lifetimes. — tedu
Re-enable ghash assembly on hppa : Revert r1.5 and reenable assembler version of ghash now that it has been fixed. — miod
Disable more ghash hppa assembler : Doh, rev 1.4 had left out one routine with both 32-bit and 64-bit code, where the 64-bit code has to be disabled under OpenBSD/hppa. — miod
Disable assembly code for ghash on hppa : Disable assembler code for ghash on hppa, causes wrong computations in some cases and breaks TLS 1.2; crank libcrypto.so minor version out of safety and to be able to tell broken versions apart easily. — miod
Don't double NULL check ecdhp : There is not much point checking ecdhp is not NULL… twice. — jsing
Ensure that client actually wants the curve that the server has chosen : Check that the specified curve is one of the client preferences. Based on OpenSSL. — jsing
Only check mmap(2) return value for MAP_FAILED : Fix mmap() calls that check for a result other than MAP_FAILED. — doug
Another memory leak in an error-handling codepath : X509_STORE_new(): do not leak memory upon error. X509_STORE_get1_certs(), X509_STORE_get1_crls(): check the result of allocations.
Don't leak memory in error-handling codepaths : X509_issuer_and_serial_hash(): do not leak memory if an error occurs during the first EVP block. — miod
Don't free what you didn't allocate : X509at_add1_attr(): do not free stuff we did not allocate in the error path. — miod
Use static version of default EC formats : Now that we have a static version of the default EC formats, also use it for the server hello. From OpenSSL. — jsing
LibreSSL: More Than 30 Days Later
Use strndup(3) instead of strdup(3) : Fix regression introduced in revision 1.15 by using strndup() instead of strdup() to allocated directory list components. — miod