[tor-commits] [tor/master] Stub out some more functions in dirvote/*.h, fix compilation.
asn at torproject.org
asn at torproject.org
Mon Sep 16 12:20:55 UTC 2019
commit 4256ee0d379daf35098c396757ce92b97b025c6e
Author: Nick Mathewson <nickm at torproject.org>
Date: Thu Aug 29 09:50:38 2019 -0400
Stub out some more functions in dirvote/*.h, fix compilation.
This fixes LTO compilation for Android and -O0 compilation in
general, when --disable-module-dirauth is provided.
Fixes bug 31552; bugfix on 0.4.1.1-alpha.
---
changes/bug31552 | 5 +++++
src/feature/dirauth/process_descs.h | 26 +++++++++++++++++++++++---
src/feature/dirauth/reachability.h | 16 ++++++++++++++--
3 files changed, 42 insertions(+), 5 deletions(-)
diff --git a/changes/bug31552 b/changes/bug31552
new file mode 100644
index 000000000..fb33e1442
--- /dev/null
+++ b/changes/bug31552
@@ -0,0 +1,5 @@
+ o Minor bugfixes (compilation):
+ - Add more stub functions to fix compilation on Android with LTO, when
+ --disable-module-dirauth is used. Previously, these compilation
+ settings would make the compiler look for functions that didn't exist.
+ Fixes bug 31552; bugfix on 0.4.1.1-alpha.
diff --git a/src/feature/dirauth/process_descs.h b/src/feature/dirauth/process_descs.h
index 001c866eb..0da47c96c 100644
--- a/src/feature/dirauth/process_descs.h
+++ b/src/feature/dirauth/process_descs.h
@@ -25,15 +25,35 @@ enum was_router_added_t dirserv_add_descriptor(routerinfo_t *ri,
const char **msg,
const char *source);
-int authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg,
- int complain,
- int *valid_out);
uint32_t dirserv_router_get_status(const routerinfo_t *router,
const char **msg,
int severity);
void dirserv_set_node_flags_from_authoritative_status(node_t *node,
uint32_t authstatus);
+#ifdef HAVE_MODULE_DIRAUTH
int dirserv_would_reject_router(const routerstatus_t *rs);
+int authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg,
+ int complain,
+ int *valid_out);
+#else
+static inline int
+dirserv_would_reject_router(const routerstatus_t *rs)
+{
+ (void)rs;
+ return 0;
+}
+static inline int
+authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg,
+ int complain,
+ int *valid_out)
+{
+ (void)ri;
+ (void)msg;
+ (void)complain;
+ (void)valid_out;
+ return 0;
+}
+#endif
#endif /* !defined(TOR_RECV_UPLOADS_H) */
diff --git a/src/feature/dirauth/reachability.h b/src/feature/dirauth/reachability.h
index 873a3f9a2..0018c7f63 100644
--- a/src/feature/dirauth/reachability.h
+++ b/src/feature/dirauth/reachability.h
@@ -28,9 +28,21 @@ void dirserv_orconn_tls_done(const tor_addr_t *addr,
uint16_t or_port,
const char *digest_rcvd,
const struct ed25519_public_key_t *ed_id_rcvd);
-int dirserv_should_launch_reachability_test(const routerinfo_t *ri,
- const routerinfo_t *ri_old);
void dirserv_single_reachability_test(time_t now, routerinfo_t *router);
void dirserv_test_reachability(time_t now);
+#ifdef HAVE_MODULE_DIRAUTH
+int dirserv_should_launch_reachability_test(const routerinfo_t *ri,
+ const routerinfo_t *ri_old);
+#else
+static inline int
+dirserv_should_launch_reachability_test(const routerinfo_t *ri,
+ const routerinfo_t *ri_old)
+{
+ (void)ri;
+ (void)ri_old;
+ return 0;
+}
+#endif
+
#endif /* !defined(TOR_REACHABILITY_H) */
More information about the tor-commits
mailing list