From b3eaf9ce6a852c2000ce443e851ef9fc36a4d331 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 21 Jun 2019 21:44:19 +0200 Subject: Use OPENSSL_THREADID_* API for OpenSSL >= 1.0.0 && < 1.1.0 --- src/idevice.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/idevice.c b/src/idevice.c index 745d784..8c81576 100644 --- a/src/idevice.c +++ b/src/idevice.c @@ -79,12 +79,19 @@ static void locking_function(int mode, int n, const char* file, int line) mutex_unlock(&mutex_buf[n]); } +#if OPENSSL_VERSION_NUMBER < 0x10000000L static unsigned long id_function(void) { return ((unsigned long)THREAD_ID); } +#else +static void id_function(CRYPTO_THREADID *thread) +{ + CRYPTO_THREADID_set_numeric(thread, (unsigned long)THREAD_ID); +} #endif #endif +#endif /* HAVE_OPENSSL */ static void internal_idevice_init(void) { @@ -99,7 +106,11 @@ static void internal_idevice_init(void) for (i = 0; i < CRYPTO_num_locks(); i++) mutex_init(&mutex_buf[i]); +#if OPENSSL_VERSION_NUMBER < 0x10000000L CRYPTO_set_id_callback(id_function); +#else + CRYPTO_THREADID_set_callback(id_function); +#endif CRYPTO_set_locking_callback(locking_function); #endif #else @@ -113,7 +124,11 @@ static void internal_idevice_deinit(void) #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) int i; if (mutex_buf) { +#if OPENSSL_VERSION_NUMBER < 0x10000000L CRYPTO_set_id_callback(NULL); +#else + CRYPTO_THREADID_set_callback(NULL); +#endif CRYPTO_set_locking_callback(NULL); for (i = 0; i < CRYPTO_num_locks(); i++) mutex_destroy(&mutex_buf[i]); -- cgit v1.1-32-gdbae