summaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-05-12 02:14:01 +0000
committerNick Mathewson <nickm@torproject.org>2008-05-12 02:14:01 +0000
commitf3f6ecef48b019fe18fac371b64c3f3466ef3388 (patch)
tree29075075ca19e72f6e593c31ca0db4092ba5741b /src/or/or.h
parentb7a80920e26f53e354975a7252e3a1f33ef9192b (diff)
downloadtor-f3f6ecef48b019fe18fac371b64c3f3466ef3388.tar.gz
tor-f3f6ecef48b019fe18fac371b64c3f3466ef3388.zip
r19690@catbus: nickm | 2008-05-11 22:13:31 -0400
Implement a proposal to let a directory authority migrate its identity key without ceasing to sign consensuses. svn:r14584
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 592cef764a..4153b76a37 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -1461,6 +1461,7 @@ typedef struct networkstatus_voter_info_t {
uint16_t or_port; /**< OR port of this voter */
char *contact; /**< Contact information for this voter. */
char vote_digest[DIGEST_LEN]; /**< Digest of this voter's vote, as signed. */
+ char legacy_id_digest[DIGEST_LEN]; /**< From vote only. DOCDOC */
/* Nothing from here on is signed. */
char signing_key_digest[DIGEST_LEN]; /**< Declared digest of signing key
@@ -2339,6 +2340,10 @@ typedef struct {
/** The number of intervals we think a consensus should be valid. */
int V3AuthNIntervalsValid;
+ /** Should advertise and sign consensuses with a legacy key, for key
+ * migration purposes? */
+ int V3AuthUseLegacyKey;
+
/** File to check for a consensus networkstatus, if we don't have one
* cached. */
char *FallbackNetworkstatusFile;
@@ -3772,6 +3777,8 @@ crypto_pk_env_t *get_identity_key(void);
int identity_key_is_set(void);
authority_cert_t *get_my_v3_authority_cert(void);
crypto_pk_env_t *get_my_v3_authority_signing_key(void);
+authority_cert_t *get_my_v3_legacy_cert(void);
+crypto_pk_env_t *get_my_v3_legacy_signing_key(void);
void dup_onion_keys(crypto_pk_env_t **key, crypto_pk_env_t **last);
void rotate_onion_key(void);
crypto_pk_env_t *init_key_from_file(const char *fname, int generate,