commit f7e87f41f719f4251582acf16f13921f350095a0 Author: Daniel Bryg daniel@accessnow.org Date: Thu Feb 23 13:57:27 2012 -0500
When not fetching v2 dir info, don't require it for cleaning descriptors
Bugfix on 0.2.2.26-beta, which introduced the idea of caches not cacheing v2 info. Fixes bug 4838. --- changes/bug4838 | 5 +++++ src/or/routerlist.c | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/changes/bug4838 b/changes/bug4838 new file mode 100644 index 0000000..8c92bdb --- /dev/null +++ b/changes/bug4838 @@ -0,0 +1,5 @@ + o Minor bufixes: + - Directory caches no longer refuse to clean out descriptors when + because of missing v2 networkstatus documents, unless they're + actually trying to retrieve v2 networkstatus documents. Bugfix + on 0.2.2.26-beta; fixes bug 4838. Patch by Daniel Bryg. diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 2524fc9..d0ef662 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -3614,6 +3614,7 @@ routerlist_remove_old_routers(void) const networkstatus_t *consensus = networkstatus_get_latest_consensus(); const smartlist_t *networkstatus_v2_list = networkstatus_get_v2_list(); int have_enough_v2; + const or_options_t *options = get_options();
trusted_dirs_remove_old_certs();
@@ -3675,6 +3676,7 @@ routerlist_remove_old_routers(void) * routers.) */ /* we set this to true iff we don't care about v2 info, or we have enough. */ have_enough_v2 = !caches || + !(authdir_mode_any_main(options) || options->FetchV2Networkstatus) || (networkstatus_v2_list && smartlist_len(networkstatus_v2_list) > get_n_v2_authorities() / 2);
tor-commits@lists.torproject.org