diff options
Diffstat (limited to 'cpp/src/IceSSL/OpenSSLEngine.cpp')
-rw-r--r-- | cpp/src/IceSSL/OpenSSLEngine.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/cpp/src/IceSSL/OpenSSLEngine.cpp b/cpp/src/IceSSL/OpenSSLEngine.cpp index 8a6af245907..25320a03a8a 100644 --- a/cpp/src/IceSSL/OpenSSLEngine.cpp +++ b/cpp/src/IceSSL/OpenSSLEngine.cpp @@ -41,7 +41,7 @@ IceUtil::Mutex* staticMutex = 0; int instanceCount = 0; bool initOpenSSL = false; -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) IceUtil::Mutex* locks = 0; #endif @@ -53,7 +53,7 @@ extern "C" // OpenSSL 1.1.0 introduces a new thread API and removes // the need to use a custom thread callback. // -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) // // OpenSSL mutex callback. // @@ -124,7 +124,7 @@ IceSSL_opensslPasswordCallback(char* buf, int size, int flag, void* userData) DH* IceSSL_opensslDHCallback(SSL* ssl, int /*isExport*/, int keyLength) { -# if OPENSSL_VERSION_NUMBER >= 0x10100000L +# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) SSL_CTX* ctx = SSL_get_SSL_CTX(ssl); # else SSL_CTX* ctx = ssl->ctx; @@ -154,7 +154,7 @@ public: // OpenSSL 1.1.0 introduces a new thread API and removes // the need to use a custom thread callback. // -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) if(CRYPTO_get_locking_callback() == IceSSL_opensslLockCallback) { assert(locks); @@ -222,11 +222,12 @@ OpenSSLEngine::OpenSSLEngine(const CommunicatorPtr& communicator) : // // OpenSSL 1.1.0 remove the need for library initialization and cleanup. // -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) if(!CRYPTO_get_id_callback()) { CRYPTO_set_id_callback(IceSSL_opensslThreadIdCallback); } + // // Create the mutexes and set the callbacks. // @@ -333,7 +334,7 @@ OpenSSLEngine::~OpenSSLEngine() // // OpenSSL 1.1.0 remove the need for library initialization and cleanup. // -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) // // Clean up OpenSSL resources. // @@ -406,7 +407,7 @@ OpenSSLEngine::initialize() "IceSSL: unable to create SSL context:\n" + sslErrors()); } -#if OPENSSL_VERSION_NUMBER >= 0x10100000L +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) int securityLevel = properties->getPropertyAsIntWithDefault(propPrefix + "SecurityLevel", -1); if(securityLevel != -1) { @@ -961,7 +962,7 @@ OpenSSLEngine::parseProtocols(const StringSeq& protocols) const SSL_METHOD* OpenSSLEngine::getMethod(int /*protocols*/) { -#if OPENSSL_VERSION_NUMBER >= 0x10100000L +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) SSL_METHOD* meth = const_cast<SSL_METHOD*>(TLS_method()); #else // |