commit 53f350182e60b32791b23ea98368a41037bffd0d Author: teor teor2345@gmail.com Date: Sun Dec 24 19:47:42 2017 +1100
Expand comments in node_get_ed25519_id() and put them near the relevant code
And add a changes file.
Follow-up to 24001. --- changes/ticket24001 | 4 ++++ src/or/nodelist.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/changes/ticket24001 b/changes/ticket24001 new file mode 100644 index 000000000..4701a38ed --- /dev/null +++ b/changes/ticket24001 @@ -0,0 +1,4 @@ + o Minor features (code correctness, descriptors): + - Check that microdesc ed25519 ids are non-zero in node_get_ed25519_id(), + before returning them. + Implements 24001, patch by "aruna1234". diff --git a/src/or/nodelist.c b/src/or/nodelist.c index 042074998..4eafe6d7a 100644 --- a/src/or/nodelist.c +++ b/src/or/nodelist.c @@ -908,18 +908,22 @@ node_get_ed25519_id(const node_t *node) { const ed25519_public_key_t *ri_pk = NULL; const ed25519_public_key_t *md_pk = NULL; + if (node->ri) { if (node->ri->cache_info.signing_key_cert) { ri_pk = &node->ri->cache_info.signing_key_cert->signing_key; + /* Checking whether routerinfo ed25519 is all zero. + * Our descriptor parser should make sure this never happens. */ if (BUG(ed25519_public_key_is_zero(ri_pk))) ri_pk = NULL; } }
-/* Checking whether microdesc_ed25519() is all zero*/ if (node->md) { if (node->md->ed25519_identity_pkey) { md_pk = node->md->ed25519_identity_pkey; + /* Checking whether microdesc ed25519 is all zero. + * Our descriptor parser should make sure this never happens. */ if (BUG(ed25519_public_key_is_zero(md_pk))) md_pk = NULL; }