[tor-commits] [tor/master] When not fetching v2 dir info, don't require it for cleaning descriptors
nickm at torproject.org
nickm at torproject.org
Thu Feb 23 18:59:51 UTC 2012
commit f7e87f41f719f4251582acf16f13921f350095a0
Author: Daniel Bryg <daniel at 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);
More information about the tor-commits
mailing list