diff options
Diffstat (limited to 'src/or/microdesc.c')
-rw-r--r-- | src/or/microdesc.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/or/microdesc.c b/src/or/microdesc.c index ba6c88f8a..d5a27d527 100644 --- a/src/or/microdesc.c +++ b/src/or/microdesc.c @@ -477,7 +477,7 @@ microdesc_cache_rebuild(microdesc_cache_t *cache, int force) md->body = (char*)cache->cache_content->data + md->off; if (PREDICT_UNLIKELY( md->bodylen < 9 || fast_memneq(md->body, "onion-key", 9) != 0)) { - /* XXXX023 once bug 2022 is solved, we can kill this block and turn it + /* XXXX once bug 2022 is solved, we can kill this block and turn it * into just the tor_assert(!memcmp) */ off_t avail = cache->cache_content->size - md->off; char *bad_str; @@ -643,8 +643,13 @@ 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)) - continue; /* This indicates a bug somewhere XXXX023*/ + if (tor_mem_is_zero(rs->descriptor_digest, DIGEST256_LEN)) { + log_info(LD_BUG, "Found an entry in networktatus 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); + continue; + } /* XXXX Also skip if we're a noncache and wouldn't use this router. * XXXX NM Microdesc */ |