summaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorKris Katterjohn <katterjohn@gmail.com>2019-01-25 15:52:40 -0600
committerKris Katterjohn <katterjohn@gmail.com>2019-02-25 16:03:42 -0600
commit1b9e77349ffbe813c7b16af67c069d967327f63b (patch)
tree5f39712e646092ac7a8ead7f313d4e5e4c495950 /src/or
parenta3f9ddcf033881ac78cda0aa7e6a9fd7195868cc (diff)
downloadtor-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.c8
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;
}