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

[or-cvs] r12485: Possibly fix bug 548 by making the fix for bug 543 not get i (in tor/trunk: . src/or)



Author: nickm
Date: 2007-11-12 11:29:31 -0500 (Mon, 12 Nov 2007)
New Revision: 12485

Modified:
   tor/trunk/
   tor/trunk/ChangeLog
   tor/trunk/src/or/routerlist.c
Log:
 r16656@catbus:  nickm | 2007-11-12 11:27:00 -0500
 Possibly fix bug 548 by making the fix for bug 543 not get invoked on authorities.  See changelog and bug 548 entry for rationale.



Property changes on: tor/trunk
___________________________________________________________________
 svk:merge ticket from /tor/trunk [r16656] on 8246c3cf-6607-4228-993b-4d95d33730f1

Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2007-11-12 15:46:38 UTC (rev 12484)
+++ tor/trunk/ChangeLog	2007-11-12 16:29:31 UTC (rev 12485)
@@ -9,6 +9,13 @@
   o Major bugfixes:
     - Fix a memory leak on exit relays; we were leaking a cached_resolve_t
       on every successful resolve. Reported by Mike Perry.
+    - On authorities, never downgrade to old router descriptors simply
+      because they're listed in the consensus.  This created a catch-22 where
+      we wouldn't list a new descriptor because there was an old one in the
+      consensus, and we couldn't get the new one in the consensus because we
+      wouldn't list it.  Possible fix for bug 548.  (Also, this might cause
+      bug 543 to appear on authorities.  If so, we'll need a band-aid for
+      that.)
 
   o Packaging fixes on 0.2.0.10-alpha:
     - We were including instructions about what to do with the

Modified: tor/trunk/src/or/routerlist.c
===================================================================
--- tor/trunk/src/or/routerlist.c	2007-11-12 15:46:38 UTC (rev 12484)
+++ tor/trunk/src/or/routerlist.c	2007-11-12 16:29:31 UTC (rev 12485)
@@ -3812,7 +3812,7 @@
       smartlist_add(downloadable, rs->descriptor_digest);
     });
 
-  if (smartlist_len(no_longer_old)) {
+  if (!authdir_mode(options) && smartlist_len(no_longer_old)) {
     routerlist_t *rl = router_get_routerlist();
     log_info(LD_DIR, "%d router descriptors listed in consensus are "
              "currently in old_routers; making them current.",