mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Avoid spurious local-port warnings
Our old warn_nonlocal_client_ports() would give a bogus warning for every nonlocal port every time it parsed any ports at all. So if it parsed a nonlocal socksport, it would complain that it had a nonlocal socksport...and then turn around and complain about the nonlocal socksport again, calling it a nonlocal transport or nonlocal dnsport, if it had any of those. Fixes bug 7836; bugfix on 0.2.3.3-alpha.
This commit is contained in:
parent
11e8a445c3
commit
ee4182612f
5
changes/bug7836
Normal file
5
changes/bug7836
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
o Minor bugfixes:
|
||||||
|
- Avoid spurious warnings when configuring multiple client ports of
|
||||||
|
which only some are nonlocal. Previously, we had claimed that some
|
||||||
|
were nonlocal when in fact they weren't. Fixes bug 7836; bugfix on
|
||||||
|
0.2.3.3-alpha.
|
@ -4633,12 +4633,15 @@ port_cfg_free(port_cfg_t *port)
|
|||||||
tor_free(port);
|
tor_free(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Warn for every port in <b>ports</b> that is on a publicly routable
|
/** Warn for every port in <b>ports</b> of type <b>listener_type</b> that is
|
||||||
* address. */
|
* on a publicly routable address. */
|
||||||
static void
|
static void
|
||||||
warn_nonlocal_client_ports(const smartlist_t *ports, const char *portname)
|
warn_nonlocal_client_ports(const smartlist_t *ports, const char *portname,
|
||||||
|
int listener_type)
|
||||||
{
|
{
|
||||||
SMARTLIST_FOREACH_BEGIN(ports, const port_cfg_t *, port) {
|
SMARTLIST_FOREACH_BEGIN(ports, const port_cfg_t *, port) {
|
||||||
|
if (port->type != listener_type)
|
||||||
|
continue;
|
||||||
if (port->is_unix_addr) {
|
if (port->is_unix_addr) {
|
||||||
/* Unix sockets aren't accessible over a network. */
|
/* Unix sockets aren't accessible over a network. */
|
||||||
} else if (!tor_addr_is_internal(&port->addr, 1)) {
|
} else if (!tor_addr_is_internal(&port->addr, 1)) {
|
||||||
@ -4835,7 +4838,7 @@ parse_port_config(smartlist_t *out,
|
|||||||
if (is_control)
|
if (is_control)
|
||||||
warn_nonlocal_controller_ports(out, forbid_nonlocal);
|
warn_nonlocal_controller_ports(out, forbid_nonlocal);
|
||||||
else
|
else
|
||||||
warn_nonlocal_client_ports(out, portname);
|
warn_nonlocal_client_ports(out, portname, listener_type);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
} /* end if (listenaddrs) */
|
} /* end if (listenaddrs) */
|
||||||
@ -5101,7 +5104,7 @@ parse_port_config(smartlist_t *out,
|
|||||||
if (is_control)
|
if (is_control)
|
||||||
warn_nonlocal_controller_ports(out, forbid_nonlocal);
|
warn_nonlocal_controller_ports(out, forbid_nonlocal);
|
||||||
else
|
else
|
||||||
warn_nonlocal_client_ports(out, portname);
|
warn_nonlocal_client_ports(out, portname, listener_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (got_zero_port && got_nonzero_port) {
|
if (got_zero_port && got_nonzero_port) {
|
||||||
|
Loading…
Reference in New Issue
Block a user