diff --git a/changes/17926 b/changes/17926 new file mode 100644 index 0000000000..09bdbbeae7 --- /dev/null +++ b/changes/17926 @@ -0,0 +1,3 @@ + o Removed code: + - Remove code for OpenSSL dynamic locks; OpenSSL doesn't use them. + Closes ticket 17926. diff --git a/src/common/crypto.c b/src/common/crypto.c index 22d938fec7..3a73b67c65 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -2973,6 +2973,10 @@ openssl_locking_cb_(int mode, int n, const char *file, int line) tor_mutex_release(openssl_mutexes_[n]); } +#if 0 +/* This code is disabled, because OpenSSL never actually uses these callbacks. + */ + /** OpenSSL helper type: wraps a Tor mutex so that OpenSSL can use it * as a lock. */ struct CRYPTO_dynlock_value { @@ -3017,6 +3021,7 @@ openssl_dynlock_destroy_cb_(struct CRYPTO_dynlock_value *v, tor_mutex_free(v->lock); tor_free(v); } +#endif static void tor_set_openssl_thread_id(CRYPTO_THREADID *threadid) @@ -3038,9 +3043,11 @@ setup_openssl_threading(void) openssl_mutexes_[i] = tor_mutex_new(); CRYPTO_set_locking_callback(openssl_locking_cb_); CRYPTO_THREADID_set_callback(tor_set_openssl_thread_id); +#if 0 CRYPTO_set_dynlock_create_callback(openssl_dynlock_create_cb_); CRYPTO_set_dynlock_lock_callback(openssl_dynlock_lock_cb_); CRYPTO_set_dynlock_destroy_callback(openssl_dynlock_destroy_cb_); +#endif return 0; }