|
@@ -319,6 +319,7 @@ init_keys(void)
|
|
|
mydesc = router_get_my_descriptor();
|
|
|
if (authdir_mode(options)) {
|
|
|
const char *m;
|
|
|
+ routerinfo_t *ri;
|
|
|
/* We need to add our own fingerprint so it gets recognized. */
|
|
|
if (dirserv_add_own_fingerprint(options->Nickname, get_identity_key())) {
|
|
|
log_err(LD_GENERAL,"Error adding own fingerprint to approved set");
|
|
@@ -328,7 +329,13 @@ init_keys(void)
|
|
|
log_err(LD_GENERAL,"Error initializing descriptor.");
|
|
|
return -1;
|
|
|
}
|
|
|
- if (dirserv_add_descriptor(router_get_my_routerinfo(), &m) < 0) {
|
|
|
+ ri = router_parse_entry_from_string(mydesc, NULL, 1);
|
|
|
+ if (!ri) {
|
|
|
+ log_err(LD_GENERAL,"Generated a routerinfo we couldn't parse.");
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ if (dirserv_add_descriptor(ri, &m)
|
|
|
+ < 0) {
|
|
|
log_err(LD_GENERAL,"Unable to add own descriptor to directory: %s",
|
|
|
m?m:"<unknown error>");
|
|
|
return -1;
|