diff --git a/ChangeLog b/ChangeLog index 8d1b4ee73..4cd8694f0 100644 --- a/ChangeLog +++ b/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 diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index 6a72340ba..dadfbc54d 100644 --- a/src/or/networkstatus.c +++ b/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); }