diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/or/router.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/or/router.c b/src/or/router.c index bd7e666d2d..821ccc9a91 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -573,6 +573,7 @@ int router_dump_router_to_string(char *s, int maxlen, routerinfo_t *router, char digest[20]; char signature[128]; char published[32]; + char fingerprint[FINGERPRINT_LEN+1]; struct in_addr in; int onion_pkeylen, identity_pkeylen; int written; @@ -590,6 +591,12 @@ int router_dump_router_to_string(char *s, int maxlen, routerinfo_t *router, return -1; } + /* record our fingerprint, so we can include it in the descriptor */ + if (crypto_pk_get_fingerprint(router->identity_pkey, fingerprint)<0) { + log_fn(LOG_ERR, "Error computing fingerprint"); + return -1; + } + /* PEM-encode the onion key */ if(crypto_pk_write_public_key_to_string(router->onion_pkey, &onion_pkey,&onion_pkeylen)<0) { @@ -613,6 +620,7 @@ int router_dump_router_to_string(char *s, int maxlen, routerinfo_t *router, "router %s %s %d %d %d\n" "platform %s\n" "published %s\n" + "opt fingerprint %s\n" "opt uptime %ld\n" "bandwidth %d %d %d\n" "onion-key\n%s" @@ -627,6 +635,7 @@ int router_dump_router_to_string(char *s, int maxlen, routerinfo_t *router, router->is_trusted_dir ? router->dir_port : 0, router->platform, published, + fingerprint, stats_n_seconds_uptime, (int) router->bandwidthrate, (int) router->bandwidthburst, |