summaryrefslogtreecommitdiff
path: root/src/or/dirserv.c
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/dirserv.c
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/dirserv.c')
-rw-r--r--src/or/dirserv.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 63bc2b0e28..dc7bc3f003 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -2285,6 +2285,13 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
voter->or_port = options->ORPort;
voter->contact = tor_strdup(contact);
memcpy(voter->signing_key_digest, signing_key_digest, DIGEST_LEN);
+ if (options->V3AuthUseLegacyKey) {
+ authority_cert_t *c = get_my_v3_legacy_cert();
+ if (c) {
+ crypto_pk_get_digest(c->identity_key, voter->legacy_id_digest);
+ }
+ }
+
v3_out->voters = smartlist_create();
smartlist_add(v3_out->voters, voter);
v3_out->cert = authority_cert_dup(cert);