diff options
Diffstat (limited to 'src/or/routerlist.c')
-rw-r--r-- | src/or/routerlist.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c index b6889e9eaa..c7c701bae3 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -2247,11 +2247,43 @@ dump_routerlist_mem_usage(int severity) SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd, olddescs += sd->signed_descriptor_len); - log(severity, LD_GENERAL, + log(severity, LD_DIR, "In %d live descriptors: "U64_FORMAT" bytes. " "In %d old descriptors: "U64_FORMAT" bytes.", smartlist_len(routerlist->routers), U64_PRINTF_ARG(livedescs), smartlist_len(routerlist->old_routers), U64_PRINTF_ARG(olddescs)); + +#if 0 + { + const smartlist_t *networkstatus_v2_list = networkstatus_get_v2_list(); + networkstatus_t *consensus = networkstatus_get_latest_consensus(); + log(severity, LD_DIR, "Now let's look through old_descriptors!"); + SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd, { + int in_v2 = 0; + int in_v3 = 0; + char published[ISO_TIME_LEN+1]; + char last_valid_until[ISO_TIME_LEN+1]; + char last_served_at[ISO_TIME_LEN+1]; + char id[HEX_DIGEST_LEN+1]; + format_iso_time(published, sd->published_on); + format_iso_time(last_valid_until, sd->last_listed_as_valid_until); + format_iso_time(last_served_at, sd->last_served_at); + base16_encode(id, sizeof(id), sd->identity_digest, DIGEST_LEN); + SMARTLIST_FOREACH(networkstatus_v2_list, networkstatus_v2_t *, ns, + if (networkstatus_v2_find_entry(ns, sd->identity_digest)) { + in_v2 = 1; break; + }); + if (consensus && networkstatus_vote_find_entry(consensus, + sd->identity_digest)) + in_v3 = 1; + log(severity, LD_DIR, + "Old descriptor for %s (published %s) %sin v2 ns, %sin v3 " + "consensus. Last valid until %s; last served at %s.", + id, published, in_v2 ? "" : "not ", in_v3 ? "" : "not ", + last_valid_until, last_served_at); + }); + } +#endif } static INLINE int |