summaryrefslogtreecommitdiff
path: root/src/or/nodelist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/nodelist.c')
-rw-r--r--src/or/nodelist.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/or/nodelist.c b/src/or/nodelist.c
index 4eafe6d7a7..95fef43020 100644
--- a/src/or/nodelist.c
+++ b/src/or/nodelist.c
@@ -1637,24 +1637,18 @@ microdesc_has_curve25519_onion_key(const microdesc_t *md)
int
node_has_curve25519_onion_key(const node_t *node)
{
- if (!node)
- return 0;
-
- if (node->ri)
- return routerinfo_has_curve25519_onion_key(node->ri);
- else if (node->md)
- return microdesc_has_curve25519_onion_key(node->md);
- else
- return 0;
+ return(node_get_curve25519_onion_key(node)!=NULL);
}
/** Return the curve25519 key of <b>node</b>, or NULL if none. */
const curve25519_public_key_t *
node_get_curve25519_onion_key(const node_t *node)
{
- if (node->ri)
+ if (!node)
+ return NULL;
+ if (routerinfo_has_curve25519_onion_key(node->ri))
return node->ri->onion_curve25519_pkey;
- else if (node->md)
+ else if (microdesc_has_curve25519_onion_key(node->md))
return node->md->onion_curve25519_pkey;
else
return NULL;