Browse Source

Let directory authorities startup even when they can't generate
a descriptor immediately, e.g. because they don't know their
address.


svn:r11228

Roger Dingledine 18 years ago
parent
commit
4ff3343e98
2 changed files with 17 additions and 14 deletions
  1. 6 1
      ChangeLog
  2. 11 13
      src/or/router.c

+ 6 - 1
ChangeLog

@@ -1,5 +1,4 @@
 Changes in version 0.2.0.6-alpha - 2007-??-??
 Changes in version 0.2.0.6-alpha - 2007-??-??
-
   o Minor bugfixes (bridges):
   o Minor bugfixes (bridges):
     - Do not intermix bridge routers with controller-added routers. (Bugfix
     - Do not intermix bridge routers with controller-added routers. (Bugfix
       on 0.2.0.x)
       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
     - 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)
       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
 Changes in version 0.2.0.5-alpha - 2007-08-19
   o Removed features:
   o Removed features:
     - Version 1 directories are no longer generated in full. Instead,
     - Version 1 directories are no longer generated in full. Instead,

+ 11 - 13
src/or/router.c

@@ -429,19 +429,17 @@ init_keys(void)
       log_err(LD_GENERAL,"Error adding own fingerprint to approved set");
       log_err(LD_GENERAL,"Error adding own fingerprint to approved set");
       return -1;
       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:"<unknown error>");
-      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:"<unknown error>");
+        return -1;
+      }
     }
     }
   }
   }