From 4ff3343e9851abc07983a8038b1f8045351d7a38 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Mon, 20 Aug 2007 18:29:17 +0000 Subject: [PATCH] Let directory authorities startup even when they can't generate a descriptor immediately, e.g. because they don't know their address. svn:r11228 --- ChangeLog | 7 ++++++- src/or/router.c | 24 +++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9d70357a46..219744474e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,4 @@ Changes in version 0.2.0.6-alpha - 2007-??-?? - o Minor bugfixes (bridges): - Do not intermix bridge routers with controller-added routers. (Bugfix on 0.2.0.x) @@ -8,6 +7,12 @@ Changes in version 0.2.0.6-alpha - 2007-??-?? - Do not fail with an assert when accept() returns an unexpected address family. Addresses but does not wholly fix bug 483. (Bugfix on 0.2.0.x) + o Minor bugfixes (misc): + - Let directory authorities startup even when they can't generate + a descriptor immediately, e.g. because they don't know their + address. + + Changes in version 0.2.0.5-alpha - 2007-08-19 o Removed features: - Version 1 directories are no longer generated in full. Instead, diff --git a/src/or/router.c b/src/or/router.c index e69aa3d57f..6cfd47fbc5 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -429,19 +429,17 @@ init_keys(void) log_err(LD_GENERAL,"Error adding own fingerprint to approved set"); return -1; } - if (!mydesc) { - log_err(LD_GENERAL,"Error initializing descriptor."); - return -1; - } - 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:""); - return -1; + if (mydesc) { + 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:""); + return -1; + } } }