--- a/lib/crypto.c 2016-12-21 07:57:44.000000000 -0700 +++ b/lib/crypto.c 2017-03-24 13:19:34.188259018 -0600 @@ -51,11 +51,20 @@ } } +#if OPENSSL_VERSION_NUMBER < 0x10000000 static unsigned long ssl_thread_id(void) { return (unsigned long) get_thread_id(); } + +#else +static void +ssl_thread_id2(CRYPTO_THREADID *id) +{ + CRYPTO_THREADID_set_numeric(id, get_thread_id()); +} +#endif static void crypto_init_threading(void) @@ -68,7 +76,11 @@ { g_static_mutex_init(&ssl_locks[i]); } +#if OPENSSL_VERSION_NUMBER < 0x10000000 CRYPTO_set_id_callback(ssl_thread_id); +#else + CRYPTO_THREADID_set_callback(ssl_thread_id2); +#endif CRYPTO_set_locking_callback(ssl_locking_callback); }