Browse Source

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.
Nick Mathewson 8 years ago
parent
commit
bdc59e33c1
2 changed files with 6 additions and 2 deletions
  1. 4 0
      changes/bug19203
  2. 2 2
      src/or/nodelist.c

+ 4 - 0
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.

+ 2 - 2
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 "