summaryrefslogtreecommitdiff
path: root/src/common/Cryptography/OpenSSLCrypto.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/Cryptography/OpenSSLCrypto.cpp')
-rw-r--r--src/common/Cryptography/OpenSSLCrypto.cpp53
1 files changed, 2 insertions, 51 deletions
diff --git a/src/common/Cryptography/OpenSSLCrypto.cpp b/src/common/Cryptography/OpenSSLCrypto.cpp
index 1a69a0c0f8..64a1962958 100644
--- a/src/common/Cryptography/OpenSSLCrypto.cpp
+++ b/src/common/Cryptography/OpenSSLCrypto.cpp
@@ -17,34 +17,12 @@
#include "OpenSSLCrypto.h"
#include <openssl/crypto.h> // NOTE: this import is NEEDED (even though some IDEs report it as unused)
-
-#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010000fL
-#include <vector>
-#include <thread>
-#include <mutex>
-
-std::vector<std::mutex*> cryptoLocks;
-
-static void lockingCallback(int mode, int type, char const* /*file*/, int /*line*/)
-{
- if (mode & CRYPTO_LOCK)
- cryptoLocks[type]->lock();
- else
- cryptoLocks[type]->unlock();
-}
-
-static void threadIdCallback(CRYPTO_THREADID * id)
-{
- (void)id;
- CRYPTO_THREADID_set_numeric(id, std::hash<std::thread::id>()(std::this_thread::get_id()));
-}
-#elif OPENSSL_VERSION_NUMBER >= 0x30000000L
#include <openssl/provider.h>
+
OSSL_PROVIDER* LegacyProvider;
OSSL_PROVIDER* DefaultProvider;
-#endif
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L && AC_PLATFORM == AC_PLATFORM_WINDOWS
+#if AC_PLATFORM == AC_PLATFORM_WINDOWS
#include <boost/dll/runtime_symbol_info.hpp>
#include <filesystem>
@@ -62,43 +40,16 @@ void SetupLibrariesForWindows()
void OpenSSLCrypto::threadsSetup()
{
-#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010000fL
- cryptoLocks.resize(CRYPTO_num_locks());
-
- for (int i = 0 ; i < CRYPTO_num_locks(); ++i)
- {
- cryptoLocks[i] = new std::mutex();
- }
-
- (void)&threadIdCallback;
- CRYPTO_THREADID_set_callback(threadIdCallback);
-
- (void)&lockingCallback;
- CRYPTO_set_locking_callback(lockingCallback);
-#elif OPENSSL_VERSION_NUMBER >= 0x30000000L
#if AC_PLATFORM == AC_PLATFORM_WINDOWS
SetupLibrariesForWindows();
#endif
LegacyProvider = OSSL_PROVIDER_load(nullptr, "legacy");
DefaultProvider = OSSL_PROVIDER_load(nullptr, "default");
-#endif
}
void OpenSSLCrypto::threadsCleanup()
{
-#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010000fL
- CRYPTO_set_locking_callback(nullptr);
- CRYPTO_THREADID_set_callback(nullptr);
-
- for (int i = 0 ; i < CRYPTO_num_locks(); ++i)
- {
- delete cryptoLocks[i];
- }
-
- cryptoLocks.resize(0);
-#elif OPENSSL_VERSION_NUMBER >= 0x30000000L
OSSL_PROVIDER_unload(LegacyProvider);
OSSL_PROVIDER_unload(DefaultProvider);
OSSL_PROVIDER_set_default_search_path(nullptr, nullptr);
-#endif
}