summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-10-30 16:55:21 +1000
committerteor <teor@torproject.org>2019-10-31 12:34:20 +1000
commit8036954bf5fd6bd6752b3e4b4e6c52e68dd4ddcb (patch)
tree04e1a5e1512ca8241a4bc7e507cdeaccbf746822 /src
parent23faa03ffc28e8d1132370e861756e84d659be5e (diff)
downloadtor-8036954bf5fd6bd6752b3e4b4e6c52e68dd4ddcb.tar.gz
tor-8036954bf5fd6bd6752b3e4b4e6c52e68dd4ddcb.zip
config: Move warn_nonlocal_ext_orports() to relay
Part of 32213.
Diffstat (limited to 'src')
-rw-r--r--src/app/config/config.c21
-rw-r--r--src/feature/relay/relay_config.c21
-rw-r--r--src/feature/relay/relay_config.h3
3 files changed, 24 insertions, 21 deletions
diff --git a/src/app/config/config.c b/src/app/config/config.c
index 901ed92e57..e568d0a580 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -5632,27 +5632,6 @@ warn_nonlocal_client_ports(const smartlist_t *ports,
} SMARTLIST_FOREACH_END(port);
}
-/** Warn for every Extended ORPort port in <b>ports</b> that is on a
- * publicly routable address. */
-static void
-warn_nonlocal_ext_orports(const smartlist_t *ports, const char *portname)
-{
- SMARTLIST_FOREACH_BEGIN(ports, const port_cfg_t *, port) {
- if (port->type != CONN_TYPE_EXT_OR_LISTENER)
- continue;
- if (port->is_unix_addr)
- continue;
- /* XXX maybe warn even if address is RFC1918? */
- if (!tor_addr_is_internal(&port->addr, 1)) {
- log_warn(LD_CONFIG, "You specified a public address '%s' for %sPort. "
- "This is not advised; this address is supposed to only be "
- "exposed on localhost so that your pluggable transport "
- "proxies can connect to it.",
- fmt_addrport(&port->addr, port->port), portname);
- }
- } SMARTLIST_FOREACH_END(port);
-}
-
/** Given a list of port_cfg_t in <b>ports</b>, warn if any controller port
* there is listening on any non-loopback address. If <b>forbid_nonlocal</b>
* is true, then emit a stronger warning and remove the port from the list.
diff --git a/src/feature/relay/relay_config.c b/src/feature/relay/relay_config.c
index 7ef2a15132..d8c4f0f100 100644
--- a/src/feature/relay/relay_config.c
+++ b/src/feature/relay/relay_config.c
@@ -111,6 +111,27 @@ get_effective_bwburst(const or_options_t *options)
return (uint32_t)bw;
}
+/** Warn for every Extended ORPort port in <b>ports</b> that is on a
+ * publicly routable address. */
+void
+warn_nonlocal_ext_orports(const smartlist_t *ports, const char *portname)
+{
+ SMARTLIST_FOREACH_BEGIN(ports, const port_cfg_t *, port) {
+ if (port->type != CONN_TYPE_EXT_OR_LISTENER)
+ continue;
+ if (port->is_unix_addr)
+ continue;
+ /* XXX maybe warn even if address is RFC1918? */
+ if (!tor_addr_is_internal(&port->addr, 1)) {
+ log_warn(LD_CONFIG, "You specified a public address '%s' for %sPort. "
+ "This is not advised; this address is supposed to only be "
+ "exposed on localhost so that your pluggable transport "
+ "proxies can connect to it.",
+ fmt_addrport(&port->addr, port->port), portname);
+ }
+ } SMARTLIST_FOREACH_END(port);
+}
+
/** Given a list of <b>port_cfg_t</b> in <b>ports</b>, check them for internal
* consistency and warn as appropriate. On Unix-based OSes, set
* *<b>n_low_ports_out</b> to the number of sub-1024 ports we will be
diff --git a/src/feature/relay/relay_config.h b/src/feature/relay/relay_config.h
index 3a9ea418ba..13ab0fe7f2 100644
--- a/src/feature/relay/relay_config.h
+++ b/src/feature/relay/relay_config.h
@@ -24,6 +24,9 @@ void relay_config_free_all(void);
uint32_t get_effective_bwrate(const or_options_t *options);
uint32_t get_effective_bwburst(const or_options_t *options);
+void warn_nonlocal_ext_orports(const smartlist_t *ports,
+ const char *portname);
+
int parse_ports_relay(or_options_t *options,
char **msg,
smartlist_t *ports_out,