# HG changeset patch # User Sebastien Jodogne # Date 1476107767 -7200 # Node ID 0b6464320aac9a10db22a74e33b8b828c8fa7a9d # Parent 1554fc153a93d930ed600ae51aca9224c48f94ef# Parent bcbc9137a535954572d3e4b0b79337ca8ccddd72 merge diff -r 1554fc153a93 -r 0b6464320aac Core/HttpClient.cpp --- a/Core/HttpClient.cpp Mon Oct 10 15:55:56 2016 +0200 +++ b/Core/HttpClient.cpp Mon Oct 10 15:56:07 2016 +0200 @@ -44,6 +44,16 @@ #include +#if ORTHANC_SSL_ENABLED == 1 +// For OpenSSL initialization and finalization +# include +# include +# include +# include +# include +#endif + + #if ORTHANC_PKCS11_ENABLED == 1 # include "Pkcs11.h" #endif @@ -784,4 +794,32 @@ throw OrthancException(ErrorCode_InternalError); #endif } + + + void HttpClient::InitializeOpenSsl() + { +#if ORTHANC_SSL_ENABLED == 1 + // https://wiki.openssl.org/index.php/Library_Initialization + SSL_library_init(); + SSL_load_error_strings(); + OpenSSL_add_all_algorithms(); + ERR_load_crypto_strings(); +#endif + } + + + void HttpClient::FinalizeOpenSsl() + { + #if ORTHANC_SSL_ENABLED == 1 + // Finalize OpenSSL + // https://wiki.openssl.org/index.php/Library_Initialization#Cleanup + FIPS_mode_set(0); + ENGINE_cleanup(); + CONF_modules_unload(1); + EVP_cleanup(); + CRYPTO_cleanup_all_ex_data(); + ERR_remove_state(0); + ERR_free_strings(); +#endif + } } diff -r 1554fc153a93 -r 0b6464320aac Core/HttpClient.h --- a/Core/HttpClient.h Mon Oct 10 15:55:56 2016 +0200 +++ b/Core/HttpClient.h Mon Oct 10 15:56:07 2016 +0200 @@ -247,6 +247,10 @@ static void GlobalFinalize(); + static void InitializeOpenSsl(); + + static void FinalizeOpenSsl(); + static void InitializePkcs11(const std::string& module, const std::string& pin, bool verbose); diff -r 1554fc153a93 -r 0b6464320aac OrthancServer/OrthancInitialization.cpp --- a/OrthancServer/OrthancInitialization.cpp Mon Oct 10 15:55:56 2016 +0200 +++ b/OrthancServer/OrthancInitialization.cpp Mon Oct 10 15:56:07 2016 +0200 @@ -50,23 +50,13 @@ #include -#if ORTHANC_SSL_ENABLED == 1 -// For OpenSSL initialization and finalization -#include -#include -#include -#include -#include -#endif - - #if ORTHANC_JPEG_ENABLED == 1 -#include +# include #endif #if ORTHANC_JPEG_LOSSLESS_ENABLED == 1 -#include +# include #endif @@ -471,13 +461,7 @@ { boost::recursive_mutex::scoped_lock lock(globalMutex_); -#if ORTHANC_SSL_ENABLED == 1 - // https://wiki.openssl.org/index.php/Library_Initialization - SSL_library_init(); - SSL_load_error_strings(); - OpenSSL_add_all_algorithms(); - ERR_load_crypto_strings(); -#endif + HttpClient::InitializeOpenSsl(); InitializeServerEnumerations(); @@ -531,17 +515,7 @@ DJDecoderRegistration::cleanup(); #endif -#if ORTHANC_SSL_ENABLED == 1 - // Finalize OpenSSL - // https://wiki.openssl.org/index.php/Library_Initialization#Cleanup - FIPS_mode_set(0); - ENGINE_cleanup(); - CONF_modules_unload(1); - EVP_cleanup(); - CRYPTO_cleanup_all_ex_data(); - ERR_remove_state(0); - ERR_free_strings(); -#endif + HttpClient::FinalizeOpenSsl(); }