From bdc59e33c13672b64d5d52dfc395f9e80c6ed528 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 30 May 2016 12:03:03 -0400 Subject: [PATCH] Fix a warning on unnamed nodes in node_get_by_nickname(). There was a > that should have been an ==, and a missing !. These together prevented us from issuing a warning in the case that a nickname matched an Unnamed node only. Fixes bug 19203; bugfix on 0.2.3.1-alpha. --- changes/bug19203 | 4 ++++ src/or/nodelist.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 changes/bug19203 diff --git a/changes/bug19203 b/changes/bug19203 new file mode 100644 index 000000000..96bc1e855 --- /dev/null +++ b/changes/bug19203 @@ -0,0 +1,4 @@ + o Major bugfixes (user interface): + - Correctly give a warning in the cases where a relay is specified by + nickname, and one such relay is found, but it is not officially Named. + Fixes bug 19203; bugfix on 0.2.3.1-alpha. diff --git a/src/or/nodelist.c b/src/or/nodelist.c index 2f272a1d5..880b79578 100644 --- a/src/or/nodelist.c +++ b/src/or/nodelist.c @@ -587,10 +587,10 @@ node_get_by_nickname,(const char *nickname, int warn_if_unnamed)) "but none is listed as Named in the directory consensus. " "Choosing one arbitrarily.", nickname); } - } else if (smartlist_len(matches)>1 && warn_if_unnamed) { + } else if (smartlist_len(matches)==1 && warn_if_unnamed) { char fp[HEX_DIGEST_LEN+1]; node_t *node = smartlist_get(matches, 0); - if (node->name_lookup_warned) { + if (! node->name_lookup_warned) { base16_encode(fp, sizeof(fp), node->identity, DIGEST_LEN); log_warn(LD_CONFIG, "You specified a server \"%s\" by name, but the directory "