You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

42 lines
1.5 KiB

diff --git a/src/ssl/Ssl.c b/src/ssl/Ssl.c
index 6501f25..9c24ad5 100644
--- a/src/ssl/Ssl.c
+++ b/src/ssl/Ssl.c
@@ -302,8 +302,8 @@ static boolean_t _retry(int socket, int *timeout, int (*callback)(int socket, ti
#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
-static unsigned long _threadID() {
- return (unsigned long)Thread_self();
+static void _threadID(CRYPTO_THREADID *id) {
+ CRYPTO_THREADID_set_numeric(id, (unsigned long)Thread_self());
}
@@ -482,7 +482,7 @@ void Ssl_start() {
instanceMutexTable = CALLOC(locks, sizeof(Mutex_T));
for (int i = 0; i < locks; i++)
Mutex_init(instanceMutexTable[i]);
- CRYPTO_set_id_callback(_threadID);
+ CRYPTO_THREADID_set_callback(_threadID);
CRYPTO_set_locking_callback(_mutexLock);
#endif
if (File_exist(URANDOM_DEVICE))
@@ -496,7 +496,7 @@ void Ssl_start() {
void Ssl_stop() {
#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
- CRYPTO_set_id_callback(NULL);
+ CRYPTO_THREADID_set_callback(NULL);
CRYPTO_set_locking_callback(NULL);
for (int i = 0; i < CRYPTO_num_locks(); i++)
Mutex_destroy(instanceMutexTable[i]);
@@ -510,7 +510,7 @@ void Ssl_stop() {
void Ssl_threadCleanup() {
#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
- ERR_remove_state(0);
+ ERR_remove_thread_state(NULL);
#endif
}