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 ports 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 ports, warn if any controller port * there is listening on any non-loopback address. If forbid_nonlocal * 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 ports 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 port_cfg_t in ports, check them for internal * consistency and warn as appropriate. On Unix-based OSes, set * *n_low_ports_out 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,