commit 62477906e9b5a378bcdd7b4588253ee422ccbb9f Author: Nick Mathewson nickm@torproject.org Date: Mon Nov 14 12:48:18 2016 -0500
Fix remaining case of circpathbias inspecting entryguard internals --- src/or/circpathbias.c | 2 +- src/or/entrynodes.c | 7 +++++++ src/or/entrynodes.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/or/circpathbias.c b/src/or/circpathbias.c index a2e1641..7a9af82 100644 --- a/src/or/circpathbias.c +++ b/src/or/circpathbias.c @@ -1175,7 +1175,7 @@ pathbias_count_circs_in_states(entry_guard_t *guard, if (ocirc->path_state >= from && ocirc->path_state <= to && pathbias_should_count(ocirc) && - fast_memeq(guard->identity, + fast_memeq(entry_guard_get_rsa_id_digest(guard), ocirc->cpath->extend_info->identity_digest, DIGEST_LEN)) { log_debug(LD_CIRC, "Found opened circuit %d in path_state %s", diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index 32d198a..1324e31 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -177,6 +177,13 @@ entry_guard_describe(const entry_guard_t *guard) return buf; }
+/** Return <b>guard</b>'s 20-byte RSA identity digest */ +const char * +entry_guard_get_rsa_id_digest(const entry_guard_t *guard) +{ + return guard->identity; +} + /** Check whether the entry guard <b>e</b> is usable, given the directory * authorities' opinion about the router (stored in <b>ri</b>) and the user's * configuration (in <b>options</b>). Set <b>e</b>->bad_since diff --git a/src/or/entrynodes.h b/src/or/entrynodes.h index 97ae3ac..ba8cd9f 100644 --- a/src/or/entrynodes.h +++ b/src/or/entrynodes.h @@ -104,6 +104,7 @@ int num_live_entry_guards(int for_directory);
const node_t *entry_guard_find_node(const entry_guard_t *guard); void entry_guard_mark_bad(entry_guard_t *guard); +const char *entry_guard_get_rsa_id_digest(const entry_guard_t *guard); const char *entry_guard_describe(const entry_guard_t *guard);
#ifdef ENTRYNODES_PRIVATE