From b444096be5ac509be1b2b68dc8e18ca1f558fef5 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 6 May 2020 17:15:37 -0400 Subject: [PATCH] Fix a boolean logic error when logging about invalid hostnames. Fixes bug 34131; bugfix on 0.4.3.1-alpha. --- changes/bug34131 | 4 ++++ src/core/or/connection_edge.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 changes/bug34131 diff --git a/changes/bug34131 b/changes/bug34131 new file mode 100644 index 0000000000..eb3a3feba2 --- /dev/null +++ b/changes/bug34131 @@ -0,0 +1,4 @@ + o Minor bugfixes (logging): + - Fix a logic error in a log message about whether an address was + invalid. Previously, the code would never report that onion addresses + were onion addresses. Fixes bug 34131; bugfix on 0.4.3.1-alpha. diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c index 7f707a5660..37e83ba71e 100644 --- a/src/core/or/connection_edge.c +++ b/src/core/or/connection_edge.c @@ -1643,9 +1643,11 @@ parse_extended_hostname(char *address, hostname_type_t *type_out) failed: /* otherwise, return to previous state and return 0 */ *s = '.'; + const bool is_onion = (*type_out == ONION_V2_HOSTNAME) || + (*type_out == ONION_V3_HOSTNAME); log_warn(LD_APP, "Invalid %shostname %s; rejecting", - (*type_out == (ONION_V2_HOSTNAME || ONION_V3_HOSTNAME) ? "onion " : ""), - safe_str_client(address)); + is_onion ? "onion " : "", + safe_str_client(address)); return false; }