From 88c2a23c4b3954b321d2247ca3d66cff68e1912d Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 14 Nov 2019 16:17:17 +1000 Subject: [PATCH 1/3] relay: Disable relay_periodic when the relay module is disabled Closes ticket 32244. --- changes/ticket32244 | 3 +++ src/core/include.am | 2 +- src/feature/relay/relay_periodic.h | 13 +++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 changes/ticket32244 diff --git a/changes/ticket32244 b/changes/ticket32244 new file mode 100644 index 0000000000..b3690b7d8c --- /dev/null +++ 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/src/core/include.am b/src/core/include.am index 193b10a1cc..5cafc41210 100644 --- a/src/core/include.am +++ b/src/core/include.am @@ -143,7 +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 \ @@ -174,6 +173,7 @@ 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/transport_config.c # The Directory Authority module. diff --git a/src/feature/relay/relay_periodic.h b/src/feature/relay/relay_periodic.h index b6ea83c749..8da5b536a7 100644 --- 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 + +#include "lib/cc/compat_compiler.h" + +#define relay_register_periodic_events() \ + STMT_NIL +#define reschedule_descriptor_update_check() \ + STMT_NIL + +#endif + #endif /* !defined(TOR_FEATURE_RELAY_RELAY_PERIODIC_H) */ From 0df8bcfb6fc31fabccf480f5a153174360dffc7a Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 14 Nov 2019 16:27:06 +1000 Subject: [PATCH 2/3] relay: Disable relay_sys when the relay module is disabled Closes ticket 32245. --- changes/ticket32245 | 3 +++ src/app/main/subsystem_list.c | 4 +++- src/core/include.am | 2 +- src/feature/dirauth/dirauth_sys.h | 4 ++++ src/feature/relay/relay_sys.h | 4 ++++ 5 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 changes/ticket32245 diff --git a/changes/ticket32245 b/changes/ticket32245 new file mode 100644 index 0000000000..fc79e748b1 --- /dev/null +++ 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/subsystem_list.c b/src/app/main/subsystem_list.c index 4a40702e70..a343207c1c 100644 --- 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 @@ -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 index 5cafc41210..868e3c49dd 100644 --- a/src/core/include.am +++ b/src/core/include.am @@ -143,7 +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_sys.c \ src/feature/relay/router.c \ src/feature/relay/routerkeys.c \ src/feature/relay/selftest.c \ @@ -174,6 +173,7 @@ 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 index 2d5a0cb3e7..86c8d8ba3e 100644 --- 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_sys.h b/src/feature/relay/relay_sys.h index 32e21d90d8..aa387369b5 100644 --- 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) */ From d19f370aa2dbffe72587b6af9f7119a36ea7c25a Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 14 Nov 2019 16:28:39 +1000 Subject: [PATCH 3/3] Run "make autostyle" --- src/app/main/subsysmgr.c | 2 +- src/feature/relay/relay_periodic.h | 4 ++-- src/lib/conf/confdecl.h | 2 +- src/lib/crypt_ops/crypto_openssl_mgt.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/main/subsysmgr.c b/src/app/main/subsysmgr.c index 8be4a7d75c..ca23b5df93 100644 --- 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/feature/relay/relay_periodic.h b/src/feature/relay/relay_periodic.h index 8da5b536a7..84bc8a9780 100644 --- a/src/feature/relay/relay_periodic.h +++ b/src/feature/relay/relay_periodic.h @@ -17,7 +17,7 @@ void relay_register_periodic_events(void); void reschedule_descriptor_update_check(void); -#else +#else /* !defined(HAVE_MODULE_RELAY) */ #include "lib/cc/compat_compiler.h" @@ -26,6 +26,6 @@ void reschedule_descriptor_update_check(void); #define reschedule_descriptor_update_check() \ STMT_NIL -#endif +#endif /* defined(HAVE_MODULE_RELAY) */ #endif /* !defined(TOR_FEATURE_RELAY_RELAY_PERIODIC_H) */ diff --git a/src/lib/conf/confdecl.h b/src/lib/conf/confdecl.h index 26c71e1d43..294a1e7173 100644 --- 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 index 20c61696c8..e867012f4e 100644 --- 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.");