summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2021-11-03 09:53:35 -0400
committerDavid Goulet <dgoulet@torproject.org>2021-11-03 09:53:35 -0400
commit36e6ad6c7b8c8205cda5763eff2ec535e788b1a0 (patch)
tree4cccc47860a3b91eb7181faaf188ddeda41c49a3 /src
parent44671995d10c863d3e7967f8f10d2b599ebfe2e6 (diff)
parent83f8fe05e8f398f8f1a403b159284db5952d17de (diff)
downloadtor-36e6ad6c7b8c8205cda5763eff2ec535e788b1a0.tar.gz
tor-36e6ad6c7b8c8205cda5763eff2ec535e788b1a0.zip
Merge branch 'maint-0.4.6'
Diffstat (limited to 'src')
-rw-r--r--src/feature/relay/relay_config.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/feature/relay/relay_config.c b/src/feature/relay/relay_config.c
index bfc5ac2612..959128a298 100644
--- a/src/feature/relay/relay_config.c
+++ b/src/feature/relay/relay_config.c
@@ -352,6 +352,7 @@ check_and_prune_server_ports(smartlist_t *ports,
int n_orport_listeners = 0;
int n_dirport_advertised = 0;
int n_dirport_listeners = 0;
+ int n_dirport_listeners_v4 = 0;
int n_low_port = 0;
int r = 0;
@@ -362,8 +363,12 @@ check_and_prune_server_ports(smartlist_t *ports,
if (port->type == CONN_TYPE_DIR_LISTENER) {
if (! port->server_cfg.no_advertise)
++n_dirport_advertised;
- if (! port->server_cfg.no_listen)
+ if (! port->server_cfg.no_listen) {
++n_dirport_listeners;
+ if (port_binds_ipv4(port)) {
+ ++n_dirport_listeners_v4;
+ }
+ }
} else if (port->type == CONN_TYPE_OR_LISTENER) {
if (! port->server_cfg.no_advertise) {
++n_orport_advertised;
@@ -408,6 +413,12 @@ check_and_prune_server_ports(smartlist_t *ports,
"address. Tor needs to listen on an IPv4 address too.");
r = -1;
}
+ if (n_dirport_advertised && n_dirport_listeners_v4 == 0) {
+ log_warn(LD_CONFIG, "We are listening on a non-IPv4 DirPort. This is not "
+ "allowed. Consider either setting an IPv4 address or "
+ "simply removing it because it is not used anymore.");
+ r = -1;
+ }
if (n_low_port && options->AccountingMax &&
(!have_capability_support() || options->KeepBindCapabilities == 0)) {