diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/idevice.c | 15 |
1 files changed, 15 insertions, 0 deletions
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) | |||
| 79 | mutex_unlock(&mutex_buf[n]); | 79 | mutex_unlock(&mutex_buf[n]); |
| 80 | } | 80 | } |
| 81 | 81 | ||
| 82 | #if OPENSSL_VERSION_NUMBER < 0x10000000L | ||
| 82 | static unsigned long id_function(void) | 83 | static unsigned long id_function(void) |
| 83 | { | 84 | { |
| 84 | return ((unsigned long)THREAD_ID); | 85 | return ((unsigned long)THREAD_ID); |
| 85 | } | 86 | } |
| 87 | #else | ||
| 88 | static void id_function(CRYPTO_THREADID *thread) | ||
| 89 | { | ||
| 90 | CRYPTO_THREADID_set_numeric(thread, (unsigned long)THREAD_ID); | ||
| 91 | } | ||
| 86 | #endif | 92 | #endif |
| 87 | #endif | 93 | #endif |
| 94 | #endif /* HAVE_OPENSSL */ | ||
| 88 | 95 | ||
| 89 | static void internal_idevice_init(void) | 96 | static void internal_idevice_init(void) |
| 90 | { | 97 | { |
| @@ -99,7 +106,11 @@ static void internal_idevice_init(void) | |||
| 99 | for (i = 0; i < CRYPTO_num_locks(); i++) | 106 | for (i = 0; i < CRYPTO_num_locks(); i++) |
| 100 | mutex_init(&mutex_buf[i]); | 107 | mutex_init(&mutex_buf[i]); |
| 101 | 108 | ||
| 109 | #if OPENSSL_VERSION_NUMBER < 0x10000000L | ||
| 102 | CRYPTO_set_id_callback(id_function); | 110 | CRYPTO_set_id_callback(id_function); |
| 111 | #else | ||
| 112 | CRYPTO_THREADID_set_callback(id_function); | ||
| 113 | #endif | ||
| 103 | CRYPTO_set_locking_callback(locking_function); | 114 | CRYPTO_set_locking_callback(locking_function); |
| 104 | #endif | 115 | #endif |
| 105 | #else | 116 | #else |
| @@ -113,7 +124,11 @@ static void internal_idevice_deinit(void) | |||
| 113 | #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) | 124 | #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 114 | int i; | 125 | int i; |
| 115 | if (mutex_buf) { | 126 | if (mutex_buf) { |
| 127 | #if OPENSSL_VERSION_NUMBER < 0x10000000L | ||
| 116 | CRYPTO_set_id_callback(NULL); | 128 | CRYPTO_set_id_callback(NULL); |
| 129 | #else | ||
| 130 | CRYPTO_THREADID_set_callback(NULL); | ||
| 131 | #endif | ||
| 117 | CRYPTO_set_locking_callback(NULL); | 132 | CRYPTO_set_locking_callback(NULL); |
| 118 | for (i = 0; i < CRYPTO_num_locks(); i++) | 133 | for (i = 0; i < CRYPTO_num_locks(); i++) |
| 119 | mutex_destroy(&mutex_buf[i]); | 134 | mutex_destroy(&mutex_buf[i]); |
