瀏覽代碼

r17089@catbus: nickm | 2007-12-11 17:33:34 -0500
Patch from mwenge: fix consensus status lookup by nickname when nickname is a hexdigest.


svn:r12766

Nick Mathewson 16 年之前
父節點
當前提交
3208b102d6
共有 2 個文件被更改,包括 5 次插入2 次删除
  1. 3 0
      ChangeLog
  2. 2 2
      src/or/networkstatus.c

+ 3 - 0
ChangeLog

@@ -58,6 +58,9 @@ Changes in version 0.2.0.13-alpha - 2007-12-??
       using bridges or we have StrictEntryNodes set), don't mark relays
       down when they fail a directory request. Otherwise we're too quick
       to mark all our entry points down.
+    - Fix handling of hex nicknames when answering controller requests for
+      networkstatus by name, or when deciding whether to warn about unknown
+      routers in a config option. Bugfix on 0.2.0.x. (Patch from mwenge.)
 
   o Minor features:
     - On USR1, when dmalloc is in use, log the top 10 memory

+ 2 - 2
src/or/networkstatus.c

@@ -830,11 +830,11 @@ router_get_consensus_status_by_nickname(const char *nickname,
     return NULL;
 
   if (nickname[0] == '$') {
-    if (base16_decode(digest, DIGEST_LEN, nickname+1, strlen(nickname))<0)
+    if (base16_decode(digest, DIGEST_LEN, nickname+1, strlen(nickname+1))<0)
       return NULL;
     return networkstatus_vote_find_entry(current_consensus, digest);
   } else if (strlen(nickname) == HEX_DIGEST_LEN &&
-       (base16_decode(digest, DIGEST_LEN, nickname+1, strlen(nickname))==0)) {
+       (base16_decode(digest, DIGEST_LEN, nickname, strlen(nickname))==0)) {
     return networkstatus_vote_find_entry(current_consensus, digest);
   }