mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Reject attempts to say FooPort and FooPort 0 in the same cfg domain
This commit is contained in:
parent
e1fb3b8d65
commit
d993b04485
@ -5,3 +5,11 @@
|
||||
server, even though our new listener code would correctly not
|
||||
open any ORPorts for ORPort 0. Similar bugs in other Port
|
||||
options are also fixed. Fixes bug 6507; bugfix on 0.2.3.3-alpha.
|
||||
|
||||
o Minor features:
|
||||
|
||||
- Detect and reject attempts to specify both 'FooPort' and
|
||||
'FooPort 0' in the same configuration domain. (It's still okay
|
||||
to have a FooPort in your configuration file,and use 'FooPort 0'
|
||||
on the command line to disable it.) Fixes another case of
|
||||
bug6507; bugfix on 0.2.3.3-alpha.
|
||||
|
@ -5667,6 +5667,7 @@ parse_port_config(smartlist_t *out,
|
||||
const unsigned forbid_nonlocal = flags & CL_PORT_FORBID_NONLOCAL;
|
||||
const unsigned allow_spurious_listenaddr =
|
||||
flags & CL_PORT_ALLOW_EXTRA_LISTENADDR;
|
||||
int got_zero_port=0, got_nonzero_port=0;
|
||||
|
||||
/* FooListenAddress is deprecated; let's make it work like it used to work,
|
||||
* though. */
|
||||
@ -5919,6 +5920,11 @@ parse_port_config(smartlist_t *out,
|
||||
} SMARTLIST_FOREACH_END(elt);
|
||||
}
|
||||
|
||||
if (port)
|
||||
got_nonzero_port = 1;
|
||||
else
|
||||
got_zero_port = 1;
|
||||
|
||||
if (out && port) {
|
||||
port_cfg_t *cfg = tor_malloc_zero(sizeof(port_cfg_t));
|
||||
tor_addr_copy(&cfg->addr, &addr);
|
||||
@ -5945,6 +5951,13 @@ parse_port_config(smartlist_t *out,
|
||||
warn_nonlocal_client_ports(out, portname);
|
||||
}
|
||||
|
||||
if (got_zero_port && got_nonzero_port) {
|
||||
log_warn(LD_CONFIG, "You specified a nonzero %sPort along with '%sPort 0' "
|
||||
"in the same configuration. Did you mean to disable %sPort or "
|
||||
"not?", portname, portname, portname);
|
||||
goto err;
|
||||
}
|
||||
|
||||
retval = 0;
|
||||
err:
|
||||
SMARTLIST_FOREACH(elts, char *, cp, tor_free(cp));
|
||||
|
Loading…
Reference in New Issue
Block a user