[tor-commits] [tor/master] Only use evutil_secure_rng_add_bytes() when present.
nickm at torproject.org
nickm at torproject.org
Fri Aug 12 00:38:09 UTC 2016
commit e788c577f11ef4c0309e9d5298bf57639c0ebb06
Author: Nick Mathewson <nickm at torproject.org>
Date: Thu Aug 11 20:37:18 2016 -0400
Only use evutil_secure_rng_add_bytes() when present.
OpenBSD removes this function, and now that Tor requires Libevent 2,
we should also support the OpenBSD Libevent 2.
Fixes bug 19904; bugfix on 0.2.5.4-alpha.
---
changes/bug19904 | 4 ++++
configure.ac | 4 +++-
src/common/compat_libevent.c | 2 ++
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/changes/bug19904 b/changes/bug19904
new file mode 100644
index 0000000..217d82d
--- /dev/null
+++ b/changes/bug19904
@@ -0,0 +1,4 @@
+ o Minor bugfixes (compilation):
+ - Build correctly on versions of libevent2 without support
+ for evutil_secure_rng_add_bytes(). Fixes bug 19904;
+ bugfix on 0.2.5.4-alpha.
diff --git a/configure.ac b/configure.ac
index be7c4e8..a1a55e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -500,7 +500,9 @@ save_CPPFLAGS="$CPPFLAGS"
LIBS="-levent $STATIC_LIBEVENT_FLAGS $TOR_LIB_WS32 $LIBS"
LDFLAGS="$TOR_LDFLAGS_libevent $LDFLAGS"
CPPFLAGS="$TOR_CPPFLAGS_libevent $CPPFLAGS"
-AC_CHECK_FUNCS([evutil_secure_rng_set_urandom_device_file])
+AC_CHECK_FUNCS([evutil_secure_rng_set_urandom_device_file \
+ evutil_secure_rng_add_bytes \
+])
LIBS="$STATIC_LIBEVENT_FLAGS $TOR_LIB_WS32 $save_LIBS"
diff --git a/src/common/compat_libevent.c b/src/common/compat_libevent.c
index 4dab544..055d6a8 100644
--- a/src/common/compat_libevent.c
+++ b/src/common/compat_libevent.c
@@ -337,7 +337,9 @@ tor_init_libevent_rng(void)
rv = -1;
}
crypto_rand(buf, 32);
+#ifdef HAVE_EVUTIL_SECURE_RNG_ADD_BYTES
evutil_secure_rng_add_bytes(buf, 32);
+#endif
evutil_secure_rng_get_bytes(buf, sizeof(buf));
return rv;
}
More information about the tor-commits
mailing list