aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-12-04 15:58:18 -0500
committerNick Mathewson <nickm@torproject.org>2013-01-02 14:11:14 -0500
commit5b3dd1610cf2147509167332bf298fc821e6a102 (patch)
tree081d16b883ba26f1b606656687470184676fb090 /src/or/or.h
parent6c883bc6384b3260d791e407b42ffcabb8276beb (diff)
downloadtor-5b3dd1610cf2147509167332bf298fc821e6a102.tar
tor-5b3dd1610cf2147509167332bf298fc821e6a102.tar.gz
Wrangle curve25519 onion keys: generate, store, load, publish, republish
Here we try to handle curve25519 onion keys from generating them, loading and storing them, publishing them in our descriptors, putting them in microdescriptors, and so on. This commit is untested and probably buggy like whoa
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 2ac9f6bde..219336bf7 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -99,6 +99,7 @@
#include "compat_libevent.h"
#include "ht.h"
#include "replaycache.h"
+#include "crypto_curve25519.h"
/* These signals are defined to help handle_control_signal work.
*/
@@ -1893,6 +1894,8 @@ typedef struct {
crypto_pk_t *onion_pkey; /**< Public RSA key for onions. */
crypto_pk_t *identity_pkey; /**< Public RSA key for signing. */
+ /** Public curve25519 key for onions */
+ curve25519_public_key_t *onion_curve25519_pkey;
char *platform; /**< What software/operating system is this OR using? */
@@ -2106,6 +2109,8 @@ typedef struct microdesc_t {
/** As routerinfo_t.onion_pkey */
crypto_pk_t *onion_pkey;
+ /** As routerinfo_t.onion_curve25519_pkey */
+ curve25519_public_key_t *onion_curve25519_pkey;
/** As routerinfo_t.ipv6_add */
tor_addr_t ipv6_addr;
/** As routerinfo_t.ipv6_orport */