Added optional code for older OpenSSL library versions.
This commit is contained in:
@ -31,19 +31,31 @@ include(cmake/CheckPlatform.cmake)
|
|||||||
|
|
||||||
check_deps()
|
check_deps()
|
||||||
check_dirs()
|
check_dirs()
|
||||||
|
find_package(OpenSSL)
|
||||||
find_package(Valgrind)
|
find_package(Valgrind)
|
||||||
find_package(MySQLClient)
|
find_package(MySQLClient)
|
||||||
find_package(MySQL)
|
find_package(MySQL)
|
||||||
find_package(Pandoc)
|
find_package(Pandoc)
|
||||||
find_package(TCMalloc)
|
find_package(TCMalloc)
|
||||||
find_package(Jemalloc)
|
find_package(Jemalloc)
|
||||||
|
find_package(CURL)
|
||||||
# You can find the variables set by this in the FindCURL.cmake file
|
# You can find the variables set by this in the FindCURL.cmake file
|
||||||
# which is a default module in CMake.
|
# which is a default module in CMake.
|
||||||
find_package(CURL)
|
|
||||||
if(NOT CURL_FOUND)
|
if(NOT CURL_FOUND)
|
||||||
message(FATAL_ERROR "Failed to locate dependency: libcurl")
|
message(FATAL_ERROR "Failed to locate dependency: libcurl")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(NOT OPENSSL_FOUND)
|
||||||
|
message(FATAL_ERROR "Failed to locate dependency: OpenSSL")
|
||||||
|
else()
|
||||||
|
if(OPENSSL_VERSION VERSION_LESS 1 AND NOT FORCE_OPENSSL100)
|
||||||
|
add_definitions("-DOPENSSL_0_9")
|
||||||
|
else()
|
||||||
|
add_definitions("-DOPENSSL_1_0")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/${MAXSCALE_LIBDIR})
|
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/${MAXSCALE_LIBDIR})
|
||||||
|
|
||||||
# Make sure the release notes for this release are present if it is a stable one
|
# Make sure the release notes for this release are present if it is a stable one
|
||||||
|
@ -263,6 +263,15 @@ static void ssl_free_dynlock(struct CRYPTO_dynlock_value * n,const char* file, i
|
|||||||
free(n);
|
free(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The thread ID callback function for OpenSSL dynamic locks.
|
||||||
|
* @param id Id to modify
|
||||||
|
*/
|
||||||
|
static void maxscale_ssl_id(CRYPTO_THREADID* id)
|
||||||
|
{
|
||||||
|
CRYPTO_THREADID_set_numeric(id,pthread_self());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler for SIGHUP signal. Reload the configuration for the
|
* Handler for SIGHUP signal. Reload the configuration for the
|
||||||
* gateway.
|
* gateway.
|
||||||
@ -1459,8 +1468,11 @@ int main(int argc, char **argv)
|
|||||||
CRYPTO_set_dynlock_create_callback(ssl_create_dynlock);
|
CRYPTO_set_dynlock_create_callback(ssl_create_dynlock);
|
||||||
CRYPTO_set_dynlock_destroy_callback(ssl_free_dynlock);
|
CRYPTO_set_dynlock_destroy_callback(ssl_free_dynlock);
|
||||||
CRYPTO_set_dynlock_lock_callback(ssl_lock_dynlock);
|
CRYPTO_set_dynlock_lock_callback(ssl_lock_dynlock);
|
||||||
|
#ifdef OPENSSL_1_0
|
||||||
|
CRYPTO_THREADID_set_callback(maxscale_ssl_id);
|
||||||
|
#else
|
||||||
CRYPTO_set_id_callback(pthread_self);
|
CRYPTO_set_id_callback(pthread_self);
|
||||||
|
#endif
|
||||||
/* register exit function for embedded MySQL library */
|
/* register exit function for embedded MySQL library */
|
||||||
l = atexit(libmysqld_done);
|
l = atexit(libmysqld_done);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user