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:
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.");