[tor-commits] [tor/master] Fix some error-checking logic and a misleading error message

nickm at torproject.org nickm at torproject.org
Tue Feb 26 12:27:55 UTC 2019


commit 1b9e77349ffbe813c7b16af67c069d967327f63b
Author: Kris Katterjohn <katterjohn at gmail.com>
Date:   Fri Jan 25 15:52:40 2019 -0600

    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 at gmail.com>
---
 changes/bug13221 | 5 +++++
 src/or/config.c  | 8 ++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/changes/bug13221 b/changes/bug13221
new file mode 100644
index 000000000..13935a192
--- /dev/null
+++ b/changes/bug13221
@@ -0,0 +1,5 @@
+  o Minor bugfixes (logging):
+    - Correct a misleading error message when IPv4Only or IPv6Only
+      is used but the resolved address can not be interpreted as an
+      address of the specified IP version.  Fixes bug 13221; bugfix
+      on 0.2.3.9-alpha.  Patch from Kris Katterjohn.
diff --git a/src/or/config.c b/src/or/config.c
index 810f1e9a7..e0d1794bd 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;
       }





More information about the tor-commits mailing list