From f7c2d1522e707de73b8d6828f83b11794e2a7102 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 12 Nov 2007 16:29:31 +0000 Subject: [PATCH] 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 --- ChangeLog | 7 +++++++ src/or/routerlist.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) 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.",