Detect and handle OpenSSL 1.1
OpenSSL 1.1 supports most of the native threading libraries, including pthread. This means that only versions before 1.1 need the thread handling code.
This commit is contained in:
parent
8fb9b79dbb
commit
750f2ef96c
@ -78,8 +78,10 @@ if(NOT OPENSSL_FOUND)
|
||||
else()
|
||||
if(OPENSSL_VERSION VERSION_LESS 1 AND NOT FORCE_OPENSSL100)
|
||||
add_definitions("-DOPENSSL_0_9")
|
||||
else()
|
||||
elseif(OPENSSL_VERSION VERSION_LESS 1.1)
|
||||
add_definitions("-DOPENSSL_1_0")
|
||||
else()
|
||||
add_definitions("-DOPENSSL_1_1")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -203,6 +203,7 @@ const DEBUG_ARGUMENT debug_arguments[] =
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
#ifndef OPENSSL_1_1
|
||||
/** SSL multi-threading functions and structures */
|
||||
|
||||
static SPINLOCK* ssl_locks;
|
||||
@ -284,6 +285,7 @@ static void maxscale_ssl_id(CRYPTO_THREADID* id)
|
||||
CRYPTO_THREADID_set_numeric(id, pthread_self());
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Handler for SIGHUP signal. Reload the configuration for the
|
||||
@ -1734,6 +1736,7 @@ int main(int argc, char **argv)
|
||||
SSL_load_error_strings();
|
||||
OPENSSL_add_all_algorithms_noconf();
|
||||
|
||||
#ifndef OPENSSL_1_1
|
||||
numlocks = CRYPTO_num_locks();
|
||||
if ((ssl_locks = (SPINLOCK*)MXS_MALLOC(sizeof(SPINLOCK) * (numlocks + 1))) == NULL)
|
||||
{
|
||||
@ -1753,6 +1756,7 @@ int main(int argc, char **argv)
|
||||
CRYPTO_THREADID_set_callback(maxscale_ssl_id);
|
||||
#else
|
||||
CRYPTO_set_id_callback(pthread_self);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user