|
@@ -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
|