Warn at parse time for routerstatus entry missing a microdesc consensus

In 0.2.3.18-rc, we started warning on this case while building a
list of missing microdescriptor digests.  That turned out to spam
the logs; instead let's warn at parse time.

Partial fix for bug 6404.
This commit is contained in:
Nick Mathewson
2012-07-31 11:00:18 -04:00
parent 7143d112a6
commit 063138e001
3 changed files with 10 additions and 6 deletions
+4
View File
@@ -10,3 +10,7 @@
agree on a microdescriptor. Partial fix for bug 6404; fix on
0.2.2.6-alpha.
- Move log message when unable to find a microdesc in a
routerstatus entry to parse time. Previously we'd spam this
warning every time we tried to figure out which microdescriptors
to download. Partial fix for bug 6404; fix on 0.2.3.18-rc.
+1 -6
View File
@@ -643,13 +643,8 @@ microdesc_list_missing_digest256(networkstatus_t *ns, microdesc_cache_t *cache,
continue;
if (skip && digestmap_get(skip, rs->descriptor_digest))
continue;
if (tor_mem_is_zero(rs->descriptor_digest, DIGEST256_LEN)) {
log_info(LD_BUG, "Found an entry in networkstatus with no "
"microdescriptor digest. (Router %s=%s at %s:%d.)",
rs->nickname, hex_str(rs->identity_digest, DIGEST_LEN),
fmt_addr32(rs->addr), rs->or_port);
if (tor_mem_is_zero(rs->descriptor_digest, DIGEST256_LEN))
continue;
}
/* XXXX Also skip if we're a noncache and wouldn't use this router.
* XXXX NM Microdesc
*/
+5
View File
@@ -2201,6 +2201,11 @@ routerstatus_parse_entry_from_string(memarea_t *area,
escaped(tok->args[0]));
goto err;
}
} else {
log_info(LD_BUG, "Found an entry in networkstatus with no "
"microdescriptor digest. (Router %s=%s at %s:%d.)",
rs->nickname, hex_str(rs->identity_digest, DIGEST_LEN),
fmt_addr32(rs->addr), rs->or_port);
}
}