]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Disable the dynlock functions we were giving openssl.
authorNick Mathewson <nickm@torproject.org>
Wed, 23 Dec 2015 14:58:36 +0000 (09:58 -0500)
committerNick Mathewson <nickm@torproject.org>
Wed, 23 Dec 2015 14:58:36 +0000 (09:58 -0500)
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 [new file with mode: 0644]
src/common/crypto.c

diff --git a/changes/17926 b/changes/17926
new file mode 100644 (file)
index 0000000..09bdbbe
--- /dev/null
@@ -0,0 +1,3 @@
+  o Removed code:
+    - Remove code for OpenSSL dynamic locks; OpenSSL doesn't use them.
+      Closes ticket 17926.
index 22d938fec756785c2319fcb6a3ed2efc80988e68..3a73b67c6513d0126e51ee1ea92383e8d5250592 100644 (file)
@@ -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;
 }