aboutsummaryrefslogtreecommitdiff
path: root/src/libmain/shared.cc
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2023-02-01 13:34:32 +0100
committerRobert Hensing <robert@roberthensing.nl>2023-04-07 16:24:18 +0200
commit6e0b7109abb40ded327b15599b29f861d9acb3c9 (patch)
treeec76c73232d9440ecabb5bc4a2263c351b77a0a7 /src/libmain/shared.cc
parent0746951be1563b1dd590690f9ee48a2fe964bd93 (diff)
Move OpenSSL init to initLibUtil
Part of an effort to make it easier to initialize the right things, by moving code into the appropriate libraries.
Diffstat (limited to 'src/libmain/shared.cc')
-rw-r--r--src/libmain/shared.cc22
1 files changed, 1 insertions, 21 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index 37664c065..2ed310cba 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -115,22 +115,6 @@ std::string getArg(const std::string & opt,
return *i;
}
-
-#if OPENSSL_VERSION_NUMBER < 0x10101000L
-/* OpenSSL is not thread-safe by default - it will randomly crash
- unless the user supplies a mutex locking function. So let's do
- that. */
-static std::vector<std::mutex> opensslLocks;
-
-static void opensslLockCallback(int mode, int type, const char * file, int line)
-{
- if (mode & CRYPTO_LOCK)
- opensslLocks[type].lock();
- else
- opensslLocks[type].unlock();
-}
-#endif
-
static std::once_flag dns_resolve_flag;
static void preloadNSS() {
@@ -177,11 +161,7 @@ void initNix()
std::cerr.rdbuf()->pubsetbuf(buf, sizeof(buf));
#endif
-#if OPENSSL_VERSION_NUMBER < 0x10101000L
- /* Initialise OpenSSL locking. */
- opensslLocks = std::vector<std::mutex>(CRYPTO_num_locks());
- CRYPTO_set_locking_callback(opensslLockCallback);
-#endif
+ initLibUtil();
if (sodium_init() == -1)
throw Error("could not initialise libsodium");