diff --git a/ChangeLog b/ChangeLog index 8206bfced5..a85bd2ef66 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 dbf0bbd3ff..623176ae87 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.",