aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--src/or/routerlist.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8206bfced..a85bd2ef6 100644
--- a/ChangeLog
+++ b/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
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index dbf0bbd3f..623176ae8 100644
--- a/src/or/routerlist.c
+++ b/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.",