Support the ed25519 map in nodelist_assert_ok()

This commit is contained in:
Nick Mathewson 2017-08-09 14:00:30 -04:00
parent fc212458a6
commit fed3a08d8c

View File

@ -725,9 +725,27 @@ nodelist_assert_ok(void)
tor_assert(node_sl_idx == node->nodelist_idx); tor_assert(node_sl_idx == node->nodelist_idx);
} SMARTLIST_FOREACH_END(node); } 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) == tor_assert((long)smartlist_len(the_nodelist->nodes) ==
(long)HT_SIZE(&the_nodelist->nodes_by_id)); (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); digestmap_free(dm, NULL);
} }