浏览代码

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.


svn:r12485

Nick Mathewson 17 年之前
父节点
当前提交
f7c2d1522e
共有 2 个文件被更改,包括 8 次插入1 次删除
  1. 7 0
      ChangeLog
  2. 1 1
      src/or/routerlist.c

+ 7 - 0
ChangeLog

@@ -9,6 +9,13 @@ Changes in version 0.2.0.11-alpha - 2007-11-??
   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

+ 1 - 1
src/or/routerlist.c

@@ -3812,7 +3812,7 @@ update_consensus_router_descriptor_downloads(time_t now)
       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.",