diff options
author | teor <teor@torproject.org> | 2019-10-30 16:55:21 +1000 |
---|---|---|
committer | teor <teor@torproject.org> | 2019-10-31 12:34:20 +1000 |
commit | 8036954bf5fd6bd6752b3e4b4e6c52e68dd4ddcb (patch) | |
tree | 04e1a5e1512ca8241a4bc7e507cdeaccbf746822 /src/feature/relay | |
parent | 23faa03ffc28e8d1132370e861756e84d659be5e (diff) | |
download | tor-8036954bf5fd6bd6752b3e4b4e6c52e68dd4ddcb.tar.gz tor-8036954bf5fd6bd6752b3e4b4e6c52e68dd4ddcb.zip |
config: Move warn_nonlocal_ext_orports() to relay
Part of 32213.
Diffstat (limited to 'src/feature/relay')
-rw-r--r-- | src/feature/relay/relay_config.c | 21 | ||||
-rw-r--r-- | src/feature/relay/relay_config.h | 3 |
2 files changed, 24 insertions, 0 deletions
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, |