LibreSSL: Fix TLS initialization/deinitialization

Due to a missing guard for old OpenSSL code, SSL_library_init() was not
called, which is required for LibreSSL. Likewise for cleanup.

Signed-off-by: Christian Neukirchen <chneukirchen@gmail.com>
This commit is contained in:
Christian Neukirchen 2016-10-05 16:37:40 +02:00 committed by Jouni Malinen
parent 0d42179e12
commit df426738fb

View file

@ -919,7 +919,7 @@ void * tls_init(const struct tls_config *conf)
} }
#endif /* OPENSSL_FIPS */ #endif /* OPENSSL_FIPS */
#endif /* CONFIG_FIPS */ #endif /* CONFIG_FIPS */
#if OPENSSL_VERSION_NUMBER < 0x10100000L #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
SSL_load_error_strings(); SSL_load_error_strings();
SSL_library_init(); SSL_library_init();
#ifndef OPENSSL_NO_SHA256 #ifndef OPENSSL_NO_SHA256
@ -1043,7 +1043,7 @@ void tls_deinit(void *ssl_ctx)
tls_openssl_ref_count--; tls_openssl_ref_count--;
if (tls_openssl_ref_count == 0) { if (tls_openssl_ref_count == 0) {
#if OPENSSL_VERSION_NUMBER < 0x10100000L #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
#ifndef OPENSSL_NO_ENGINE #ifndef OPENSSL_NO_ENGINE
ENGINE_cleanup(); ENGINE_cleanup();
#endif /* OPENSSL_NO_ENGINE */ #endif /* OPENSSL_NO_ENGINE */
@ -2334,7 +2334,7 @@ static int tls_connection_client_cert(struct tls_connection *conn,
return 0; return 0;
#ifdef PKCS12_FUNCS #ifdef PKCS12_FUNCS
#if OPENSSL_VERSION_NUMBER < 0x10002000L #if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER)
/* /*
* Clear previously set extra chain certificates, if any, from PKCS#12 * Clear previously set extra chain certificates, if any, from PKCS#12
* processing in tls_parse_pkcs12() to allow OpenSSL to build a new * processing in tls_parse_pkcs12() to allow OpenSSL to build a new