commit 0ee50a414cb970a4ce192075c6414dbfbdb0b0db
parent 23820a39439637f401b24085dfe7a703dee88c43
Author: Neel Chauhan <neel@neelc.org>
Date: Wed, 8 Nov 2017 18:33:30 -0500
Introduce node_get_curve25519_onion_key()
Diffstat:
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/or/nodelist.c b/src/or/nodelist.c
@@ -1633,6 +1633,18 @@ node_has_curve25519_onion_key(const node_t *node)
return 0;
}
+/** Return the curve25519 key of <b>node</b>, or NULL if none. */
+curve25519_public_key_t *
+node_get_curve25519_onion_key(const node_t *node)
+{
+ if (node->ri)
+ return node->ri->onion_curve25519_pkey;
+ else if (node->md)
+ return node->md->onion_curve25519_pkey;
+ else
+ return NULL;
+}
+
/** Refresh the country code of <b>ri</b>. This function MUST be called on
* each router when the GeoIP database is reloaded, and on all new routers. */
void
diff --git a/src/or/nodelist.h b/src/or/nodelist.h
@@ -85,6 +85,7 @@ int node_get_prim_dirport(const node_t *node, tor_addr_port_t *ap_out);
void node_get_pref_dirport(const node_t *node, tor_addr_port_t *ap_out);
void node_get_pref_ipv6_dirport(const node_t *node, tor_addr_port_t *ap_out);
int node_has_curve25519_onion_key(const node_t *node);
+curve25519_public_key_t *node_get_curve25519_onion_key(const node_t *node);
MOCK_DECL(smartlist_t *, nodelist_get_list, (void));