tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit e85f46b7be0e658f3d5cd76dff3f1a98b426f22e
parent 17724a7cdeb9b98539831f1164a82784f1fb050f
Author: Nick Mathewson <nickm@torproject.org>
Date:   Tue, 18 Feb 2020 13:30:20 -0500

Do not build selftest.c when running relay mode is disabled.

Diffstat:
Achanges/ticket33370 | 3+++
Msrc/feature/relay/include.am | 4++--
Msrc/feature/relay/selftest.h | 29+++++++++++++++++++++++++++++
3 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/changes/ticket33370 b/changes/ticket33370 @@ -0,0 +1,3 @@ + o Minor features (client-only compilation): + - Disable more of our self-testing code when support for relay mode is + disabled. Closes ticket 33370. diff --git a/src/feature/relay/include.am b/src/feature/relay/include.am @@ -5,8 +5,7 @@ LIBTOR_APP_A_SOURCES += \ src/feature/relay/ext_orport.c \ src/feature/relay/onion_queue.c \ src/feature/relay/router.c \ - src/feature/relay/routerkeys.c \ - src/feature/relay/selftest.c + src/feature/relay/routerkeys.c # The Relay module. @@ -16,6 +15,7 @@ MODULE_RELAY_SOURCES = \ src/feature/relay/relay_config.c \ src/feature/relay/relay_periodic.c \ src/feature/relay/relay_sys.c \ + src/feature/relay/selftest.c \ src/feature/relay/transport_config.c # ADD_C_FILE: INSERT HEADERS HERE. diff --git a/src/feature/relay/selftest.h b/src/feature/relay/selftest.h @@ -12,6 +12,7 @@ #ifndef TOR_SELFTEST_H #define TOR_SELFTEST_H +#ifdef HAVE_MODULE_RELAY struct or_options_t; int check_whether_orport_reachable(const struct or_options_t *options); int check_whether_dirport_reachable(const struct or_options_t *options); @@ -20,5 +21,33 @@ void router_do_reachability_checks(int test_or, int test_dir); void router_orport_found_reachable(void); void router_dirport_found_reachable(void); void router_perform_bandwidth_test(int num_circs, time_t now); +#else /* !defined(HAVE_MODULE_RELAY) */ + +#define check_whether_orport_reachable(opts) \ + ((void)(opts), 0) +#define check_whether_dirport_reachable(opts) \ + ((void)(opts), 0) + +#define router_orport_found_reachable() \ + STMT_NIL +#define router_dirport_found_reachable() \ + STMT_NIL + +static inline void +router_do_reachability_checks(int test_or, int test_dir) +{ + (void)test_or; + (void)test_dir; + tor_assert_nonfatal_unreached(); +} +static inline void +router_perform_bandwidth_test(int num_circs, time_t now) +{ + (void)num_circs; + (void)now; + tor_assert_nonfatal_unreached(); +} + +#endif /* defined(HAVE_MODULE_RELAY) */ #endif /* !defined(TOR_SELFTEST_H) */