aboutsummaryrefslogtreecommitdiff
path: root/src/app
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-11-07 10:44:10 +1000
committerteor <teor@torproject.org>2019-11-07 11:43:41 +1000
commitaaef9a2519d81c016bc1f58272121ed908fbff10 (patch)
tree720f3f62b2cada31b0f77b023288e9a498182d66 /src/app
parent57f43bcb03b6dafd3564b128f40e4d6713c91b8e (diff)
downloadtor-aaef9a2519d81c016bc1f58272121ed908fbff10.tar.gz
tor-aaef9a2519d81c016bc1f58272121ed908fbff10.zip
relay: Stop failing on startup when the relay module is disabled
When the relay module is disabled, make "ClientOnly 1" and "DirCache 0" by default. (But keep "ClientOnly 0" and "DirCache 1" as the defaults for the unit tests.) And run "make autostyle". Part of ticket 32410.
Diffstat (limited to 'src/app')
-rw-r--r--src/app/config/config.c12
-rw-r--r--src/app/config/or_options_st.h4
2 files changed, 15 insertions, 1 deletions
diff --git a/src/app/config/config.c b/src/app/config/config.c
index e223011fcf..5f9a55ed17 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -363,7 +363,13 @@ static const config_var_t option_vars_[] = {
V(CircuitStreamTimeout, INTERVAL, "0"),
V(CircuitPriorityHalflife, DOUBLE, "-1.0"), /*negative:'Use default'*/
V(ClientDNSRejectInternalAddresses, BOOL,"1"),
+#if defined(HAVE_MODULE_RELAY) || defined(TOR_UNIT_TESTS)
+ /* The unit tests expect the ClientOnly default to be 0. */
V(ClientOnly, BOOL, "0"),
+#else
+ /* We must be a Client if the relay module is disabled. */
+ V(ClientOnly, BOOL, "1"),
+#endif /* defined(HAVE_MODULE_RELAY) || defined(TOR_UNIT_TESTS) */
V(ClientPreferIPv6ORPort, AUTOBOOL, "auto"),
V(ClientPreferIPv6DirPort, AUTOBOOL, "auto"),
V(ClientAutoIPv6ORPort, BOOL, "0"),
@@ -400,7 +406,13 @@ static const config_var_t option_vars_[] = {
V(DirPortFrontPage, FILENAME, NULL),
VAR("DirReqStatistics", BOOL, DirReqStatistics_option, "1"),
VAR("DirAuthority", LINELIST, DirAuthorities, NULL),
+#if defined(HAVE_MODULE_RELAY) || defined(TOR_UNIT_TESTS)
+ /* The unit tests expect the DirCache default to be 1. */
V(DirCache, BOOL, "1"),
+#else
+ /* We can't be a DirCache if the relay module is disabled. */
+ V(DirCache, BOOL, "0"),
+#endif /* defined(HAVE_MODULE_RELAY) || defined(TOR_UNIT_TESTS) */
/* A DirAuthorityFallbackRate of 0.1 means that 0.5% of clients try an
* authority when all fallbacks are up, and 2% try an authority when 25% of
* fallbacks are down. (We rebuild the list when 25% of fallbacks are down).
diff --git a/src/app/config/or_options_st.h b/src/app/config/or_options_st.h
index 1bbb2b97ec..5511763daa 100644
--- a/src/app/config/or_options_st.h
+++ b/src/app/config/or_options_st.h
@@ -573,7 +573,9 @@ struct or_options_t {
int DirCache; /**< Cache all directory documents and accept requests via
* tunnelled dir conns from clients. If 1, enabled (default);
- * If 0, disabled. */
+ * If 0, disabled. Use dir_server_mode() rather than
+ * referencing this option directly. (Except for routermode
+ * and relay_config, which do direct checks.) */
char *VirtualAddrNetworkIPv4; /**< Address and mask to hand out for virtual
* MAPADDRESS requests for IPv4 addresses */