diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-12-04 15:58:18 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-01-02 14:11:14 -0500 |
commit | 5b3dd1610cf2147509167332bf298fc821e6a102 (patch) | |
tree | 081d16b883ba26f1b606656687470184676fb090 /src/or/or.h | |
parent | 6c883bc6384b3260d791e407b42ffcabb8276beb (diff) | |
download | tor-5b3dd1610cf2147509167332bf298fc821e6a102.tar.gz tor-5b3dd1610cf2147509167332bf298fc821e6a102.zip |
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.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h index 2ac9f6bdeb..219336bf72 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 */ |