diff options
author | Kris Katterjohn <katterjohn@gmail.com> | 2019-01-25 15:52:40 -0600 |
---|---|---|
committer | Kris Katterjohn <katterjohn@gmail.com> | 2019-02-25 16:03:42 -0600 |
commit | 1b9e77349ffbe813c7b16af67c069d967327f63b (patch) | |
tree | 5f39712e646092ac7a8ead7f313d4e5e4c495950 /src/or | |
parent | a3f9ddcf033881ac78cda0aa7e6a9fd7195868cc (diff) | |
download | tor-1b9e77349ffbe813c7b16af67c069d967327f63b.tar.gz tor-1b9e77349ffbe813c7b16af67c069d967327f63b.zip |
Fix some error-checking logic and a misleading error message
When IPv4Only (IPv6Only) was used but the address could not be
interpreted as a IPv4 (IPv6) address, the error message referred
to the wrong IP version.
This also fixes up the error-checking logic so it's more precise
about what's being checked.
Fixes bug 13221; bugfix on 0.2.3.9-alpha
Signed-off-by: Kris Katterjohn <katterjohn@gmail.com>
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/config.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/or/config.c b/src/or/config.c index 810f1e9a7a..e0d1794bdf 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -6650,13 +6650,13 @@ parse_port_config(smartlist_t *out, portname, escaped(ports->value)); goto err; } - if (bind_ipv4_only && tor_addr_family(&addr) == AF_INET6) { - log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv6", + if (bind_ipv4_only && tor_addr_family(&addr) != AF_INET) { + log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv4", portname); goto err; } - if (bind_ipv6_only && tor_addr_family(&addr) == AF_INET) { - log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv4", + if (bind_ipv6_only && tor_addr_family(&addr) != AF_INET6) { + log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv6", portname); goto err; } |