mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
r9465@auth3-479: nickm | 2006-11-01 13:16:21 -0500
Add some temporary code to count how many *distinct* router digests we verify. (I have a sneaking suspicion that the numbers look way way high.) svn:r8890
This commit is contained in:
@@ -1333,6 +1333,7 @@ extern uint64_t buf_total_used;
|
||||
extern uint64_t buf_total_alloc;
|
||||
extern uint64_t rephist_total_alloc;
|
||||
extern uint32_t rephist_total_num;
|
||||
void dump_distinct_digests_xx(int severity); // xxxx0124 remove
|
||||
|
||||
/**
|
||||
* Write current memory usage information to the log.
|
||||
@@ -1436,6 +1437,7 @@ dumpstats(int severity)
|
||||
rep_hist_dump_stats(now,severity);
|
||||
rend_service_dump_stats(severity);
|
||||
dump_pk_ops(severity);
|
||||
dump_distinct_digests_xx(severity);
|
||||
}
|
||||
|
||||
/** Called by exit() as we shut down the process.
|
||||
|
||||
@@ -699,6 +699,17 @@ router_parse_list_from_string(const char **s, smartlist_t *dest,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void dump_distinct_digests_xx(int severity);
|
||||
static digestmap_t *verified_digests_tmp = NULL; // XXXX0124 remove me.
|
||||
// remove me too.
|
||||
void
|
||||
dump_distinct_digests_xx(int severity) {
|
||||
if (!verified_digests_tmp)
|
||||
verified_digests_tmp = digestmap_new();
|
||||
log(severity, LD_GENERAL, "%d *distinct* router digests verified",
|
||||
digestmap_size(verified_digests_tmp));
|
||||
}
|
||||
|
||||
/** Helper function: reads a single router entry from *<b>s</b> ...
|
||||
* *<b>end</b>. Mallocs a new router and returns it if all goes well, else
|
||||
* returns NULL.
|
||||
@@ -913,6 +924,9 @@ router_parse_entry_from_string(const char *s, const char *end,
|
||||
goto err;
|
||||
}
|
||||
note_crypto_pk_op(VERIFY_RTR);
|
||||
if (!verified_digests_tmp)
|
||||
verified_digests_tmp = digestmap_new();
|
||||
digestmap_set(verified_digests_tmp, signed_digest, (void*)(uintptr_t)1);
|
||||
if ((t=crypto_pk_public_checksig(router->identity_pkey, signed_digest,
|
||||
tok->object_body, 128)) != 20) {
|
||||
log_warn(LD_DIR, "Invalid signature %d",t);
|
||||
|
||||
Reference in New Issue
Block a user