commit 63658598250a906346d260c70678700e22c0fe01 Author: Nick Mathewson nickm@torproject.org Date: Wed Dec 23 09:58:36 2015 -0500
Disable the dynlock functions we were giving openssl.
OpenSSL doesn't use them, and fwict they were never called. If some version of openssl *does* start using them, we should test them before we turn them back on.
See ticket 17926 --- changes/17926 | 3 +++ src/common/crypto.c | 7 +++++++ 2 files changed, 10 insertions(+)
diff --git a/changes/17926 b/changes/17926 new file mode 100644 index 0000000..09bdbbe --- /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 22d938f..3a73b67 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; }