summaryrefslogtreecommitdiff
path: root/src/common/crypto.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-03-25 11:27:50 +0100
committerNick Mathewson <nickm@torproject.org>2017-03-31 10:04:44 -0400
commite7506c03cf7e3121fb33567452039eaccd1eea50 (patch)
tree83c9437c838894d23c39b9d9037ff831fa7e4bab /src/common/crypto.c
parent04f1ddaa2a33194ba861cc38f89f16fd076c63a6 (diff)
downloadtor-e7506c03cf7e3121fb33567452039eaccd1eea50.tar.gz
tor-e7506c03cf7e3121fb33567452039eaccd1eea50.zip
Isolate dmalloc/openssl bridge code to crypto.c
This makes it so main.c, and the rest of src/or, no longer need to include any openssl headers.
Diffstat (limited to 'src/common/crypto.c')
-rw-r--r--src/common/crypto.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c
index a5eb7b5c9a..e1094aec50 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -3459,3 +3459,15 @@ crypto_global_cleanup(void)
/** @} */
+#ifdef USE_DMALLOC
+/** Tell the crypto library to use Tor's allocation functions rather than
+ * calling libc's allocation functions directly. Return 0 on success, -1
+ * on failure. */
+int
+crypto_use_tor_alloc_functions(void)
+{
+ int r = CRYPTO_set_mem_ex_functions(tor_malloc_, tor_realloc_, tor_free_);
+ return r ? 0 : -1;
+}
+#endif
+