[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] r9023: Fix an assert failure when the directory authority sets Auth (in tor/trunk: . src/or)



Author: arma
Date: 2006-12-04 13:54:01 -0500 (Mon, 04 Dec 2006)
New Revision: 9023

Modified:
   tor/trunk/ChangeLog
   tor/trunk/src/or/dirserv.c
Log:
Fix an assert failure when the directory authority sets
AuthDirRejectUnlisted and then receives a descriptor from an
unlisted router (reported by seeess).


Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2006-12-04 18:11:31 UTC (rev 9022)
+++ tor/trunk/ChangeLog	2006-12-04 18:54:01 UTC (rev 9023)
@@ -1,11 +1,14 @@
 Changes in version 0.1.2.5-xxxx - 200?-??-??
   o Minor bugfixes;
     - Fix a bug when a PF socket is first used.  (Patch from Fabian
-      Keil)
+      Keil.)
+    - Fix an assert failure when the directory authority sets
+      AuthDirRejectUnlisted and then receives a descriptor from an
+      unlisted router (reported by seeess).
 
   o Controller bugfixes:
     - Report the circuit number correctly in STREAM CLOSED events. (Bug
-      reported by Mike Perry)
+      reported by Mike Perry.)
 
 
 Changes in version 0.1.2.4-alpha - 2006-12-03

Modified: tor/trunk/src/or/dirserv.c
===================================================================
--- tor/trunk/src/or/dirserv.c	2006-12-04 18:11:31 UTC (rev 9022)
+++ tor/trunk/src/or/dirserv.c	2006-12-04 18:54:01 UTC (rev 9023)
@@ -270,6 +270,8 @@
 
   if (crypto_pk_get_digest(router->identity_pkey, d)) {
     log_warn(LD_BUG,"Error computing fingerprint");
+    if (msg)
+      *msg = "Bug: Error computing fingerprint";
     return FP_REJECT;
   }
 
@@ -384,8 +386,11 @@
                  nickname, address);
       result |= FP_INVALID;
     }
-    if (reject_unlisted)
+    if (reject_unlisted) {
+      if (msg)
+        *msg = "Authdir rejects unknown routers.";
       return FP_REJECT;
+    }
     /* 0.1.0.2-rc was the first version that did enough self-testing that
      * we're willing to take its word about whether it's running. */
     if (platform && !tor_version_as_new_as(platform,"0.1.0.2-rc"))