Kaynağa Gözat

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 19 yıl önce
ebeveyn
işleme
4ff3343e98
2 değiştirilmiş dosya ile 17 ekleme ve 14 silme
  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;
+      }
     }
     }
   }
   }