Browse Source

Introduce node_get_curve25519_onion_key()

Neel Chauhan 6 years ago
parent
commit
0ee50a414c
2 changed files with 13 additions and 0 deletions
  1. 12 0
      src/or/nodelist.c
  2. 1 0
      src/or/nodelist.h

+ 12 - 0
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

+ 1 - 0
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));