tor

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

commit 825f52784d875ee580fe82619302a21c958d77ea
parent b58e5091b7f442568a10e949fec4ee901c809b12
Author: teor <teor@torproject.org>
Date:   Fri, 15 Nov 2019 12:11:32 +1000

Merge remote-tracking branch 'tor-github/pr/1535'

Diffstat:
Achanges/ticket32244 | 3+++
Achanges/ticket32245 | 3+++
Msrc/app/main/subsysmgr.c | 2+-
Msrc/app/main/subsystem_list.c | 4+++-
Msrc/core/include.am | 4++--
Msrc/feature/dirauth/dirauth_sys.h | 4++++
Msrc/feature/relay/relay_periodic.h | 13+++++++++++++
Msrc/feature/relay/relay_sys.h | 4++++
Msrc/lib/conf/confdecl.h | 2+-
Msrc/lib/crypt_ops/crypto_openssl_mgt.c | 2+-
10 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/changes/ticket32244 b/changes/ticket32244 @@ -0,0 +1,3 @@ + o Code simplification and refactoring: + - Disable relay_periodic when the relay module is disabled. + Closes ticket 32244. diff --git a/changes/ticket32245 b/changes/ticket32245 @@ -0,0 +1,3 @@ + o Code simplification and refactoring: + - Disable relay_sys when the relay module is disabled. + Closes ticket 32245. diff --git a/src/app/main/subsysmgr.c b/src/app/main/subsysmgr.c @@ -385,7 +385,7 @@ subsystems_get_state_idx(const subsys_fns_t *sys) tor_assert(i >= 0); return sys_status[i].state_idx; } -#endif +#endif /* defined(TOR_UNIT_TESTS) */ /** * Call all appropriate set_options() methods to tell the various subsystems diff --git a/src/app/main/subsystem_list.c b/src/app/main/subsystem_list.c @@ -18,7 +18,6 @@ #include "core/or/or_sys.h" #include "core/or/orconn_event_sys.h" #include "feature/control/btrack_sys.h" -#include "feature/relay/relay_sys.h" #include "lib/compress/compress_sys.h" #include "lib/crypt_ops/crypto_sys.h" #include "lib/err/torerr_sys.h" @@ -33,6 +32,7 @@ #include "lib/evloop/evloop_sys.h" #include "feature/dirauth/dirauth_sys.h" +#include "feature/relay/relay_sys.h" #include <stddef.h> @@ -66,7 +66,9 @@ const subsys_fns_t *tor_subsystems[] = { &sys_mainloop, &sys_or, +#ifdef HAVE_MODULE_RELAY &sys_relay, +#endif #ifdef HAVE_MODULE_DIRAUTH &sys_dirauth, diff --git a/src/core/include.am b/src/core/include.am @@ -143,8 +143,6 @@ LIBTOR_APP_A_SOURCES = \ src/feature/relay/dns.c \ src/feature/relay/ext_orport.c \ src/feature/relay/onion_queue.c \ - src/feature/relay/relay_periodic.c \ - src/feature/relay/relay_sys.c \ src/feature/relay/router.c \ src/feature/relay/routerkeys.c \ src/feature/relay/selftest.c \ @@ -174,6 +172,8 @@ LIBTOR_APP_TESTING_A_SOURCES = $(LIBTOR_APP_A_SOURCES) MODULE_RELAY_SOURCES = \ src/feature/relay/routermode.c \ src/feature/relay/relay_config.c \ + src/feature/relay/relay_periodic.c \ + src/feature/relay/relay_sys.c \ src/feature/relay/transport_config.c # The Directory Authority module. diff --git a/src/feature/dirauth/dirauth_sys.h b/src/feature/dirauth/dirauth_sys.h @@ -12,6 +12,10 @@ #ifndef DIRAUTH_SYS_H #define DIRAUTH_SYS_H +#ifdef HAVE_MODULE_DIRAUTH + extern const struct subsys_fns_t sys_dirauth; +#endif + #endif /* !defined(DIRAUTH_SYS_H) */ diff --git a/src/feature/relay/relay_periodic.h b/src/feature/relay/relay_periodic.h @@ -12,7 +12,20 @@ #ifndef TOR_FEATURE_RELAY_RELAY_PERIODIC_H #define TOR_FEATURE_RELAY_RELAY_PERIODIC_H +#ifdef HAVE_MODULE_RELAY + void relay_register_periodic_events(void); void reschedule_descriptor_update_check(void); +#else /* !defined(HAVE_MODULE_RELAY) */ + +#include "lib/cc/compat_compiler.h" + +#define relay_register_periodic_events() \ + STMT_NIL +#define reschedule_descriptor_update_check() \ + STMT_NIL + +#endif /* defined(HAVE_MODULE_RELAY) */ + #endif /* !defined(TOR_FEATURE_RELAY_RELAY_PERIODIC_H) */ diff --git a/src/feature/relay/relay_sys.h b/src/feature/relay/relay_sys.h @@ -12,6 +12,10 @@ #ifndef TOR_FEATURE_RELAY_RELAY_SYS_H #define TOR_FEATURE_RELAY_RELAY_SYS_H +#ifdef HAVE_MODULE_RELAY + extern const struct subsys_fns_t sys_relay; +#endif + #endif /* !defined(TOR_FEATURE_RELAY_RELAY_SYS_H) */ diff --git a/src/lib/conf/confdecl.h b/src/lib/conf/confdecl.h @@ -134,7 +134,7 @@ .initvalue = initval \ }, /**@}*/ -#endif +#endif /* !defined(COCCI) */ /** Type aliases for the "commonly used" configuration types. * diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.c b/src/lib/crypt_ops/crypto_openssl_mgt.c @@ -296,7 +296,7 @@ crypto_openssl_init_engines(const char *accelName, return -1; } return 0; -#else +#else /* !defined(DISABLE_ENGINES) */ ENGINE *e = NULL; log_info(LD_CRYPTO, "Initializing OpenSSL engine support.");