aboutsummaryrefslogtreecommitdiff
path: root/src/or/routerlist.c
diff options
context:
space:
mode:
authorDaniel Bryg <daniel@accessnow.org>2012-02-23 13:57:27 -0500
committerNick Mathewson <nickm@torproject.org>2012-02-23 13:59:37 -0500
commitf7e87f41f719f4251582acf16f13921f350095a0 (patch)
treef0af3a0ff0816b8035d1dea061519339929053f9 /src/or/routerlist.c
parent81fe3e438b39cd14986247581d03cb0d0d650f1d (diff)
downloadtor-f7e87f41f719f4251582acf16f13921f350095a0.tar.gz
tor-f7e87f41f719f4251582acf16f13921f350095a0.zip
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.
Diffstat (limited to 'src/or/routerlist.c')
-rw-r--r--src/or/routerlist.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 2524fc9870..d0ef662ca8 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);