commit fed3a08d8c32f2010caba06c888f28716e3abb0a Author: Nick Mathewson nickm@torproject.org Date: Wed Aug 9 14:00:30 2017 -0400
Support the ed25519 map in nodelist_assert_ok() --- src/or/nodelist.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/src/or/nodelist.c b/src/or/nodelist.c index 93d362d8e..104915d29 100644 --- a/src/or/nodelist.c +++ b/src/or/nodelist.c @@ -725,9 +725,27 @@ nodelist_assert_ok(void) tor_assert(node_sl_idx == node->nodelist_idx); } SMARTLIST_FOREACH_END(node);
+ /* Every node listed with an ed25519 identity should be listed by that + * identity. + */ + SMARTLIST_FOREACH_BEGIN(the_nodelist->nodes, node_t *, node) { + if (!ed25519_public_key_is_zero(&node->ed25519_id)) { + tor_assert(node == node_get_by_ed25519_id(&node->ed25519_id)); + } + } SMARTLIST_FOREACH_END(node); + + node_t **idx; + HT_FOREACH(idx, nodelist_ed_map, &the_nodelist->nodes_by_ed_id) { + node_t *node = *idx; + tor_assert(node == node_get_by_ed25519_id(&node->ed25519_id)); + } + tor_assert((long)smartlist_len(the_nodelist->nodes) == (long)HT_SIZE(&the_nodelist->nodes_by_id));
+ tor_assert((long)smartlist_len(the_nodelist->nodes) >= + (long)HT_SIZE(&the_nodelist->nodes_by_ed_id)); + digestmap_free(dm, NULL); }