[tor-commits] [tor/master] Prop210: Check fallback directories and authorities work as expected
nickm at torproject.org
nickm at torproject.org
Thu Dec 17 01:04:55 UTC 2015
commit e7e61ec7ec32b4aa874a38991358812438405d96
Author: teor (Tim Wilson-Brown) <teor2345 at gmail.com>
Date: Thu Dec 17 11:39:40 2015 +1100
Prop210: Check fallback directories and authorities work as expected
Also clarify comments.
---
src/or/networkstatus.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 584569a..0cf8873 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -1297,14 +1297,18 @@ networkstatus_consensus_can_use_multiple_directories(
}
/** Check if we can use fallback directory mirrors for a consensus download.
- * Only clients that have a list of additional fallbacks can use fallbacks. */
+ * If we have fallbacks and don't want to fetch from the authorities,
+ * we can use them. */
int
networkstatus_consensus_can_use_extra_fallbacks(const or_options_t *options)
{
- /* If we are a client, and we have additional mirrors, we can use them.
- * The list length comparisons are a quick way to check if we have any
+ /* The list length comparisons are a quick way to check if we have any
* non-authority fallback directories. If we ever have any authorities that
* aren't fallback directories, we will need to change this code. */
+ tor_assert(smartlist_len(router_get_fallback_dir_servers())
+ >= smartlist_len(router_get_trusted_dir_servers()));
+ /* If we don't fetch from the authorities, and we have additional mirrors,
+ * we can use them. */
return (!directory_fetches_from_authorities(options)
&& (smartlist_len(router_get_fallback_dir_servers())
> smartlist_len(router_get_trusted_dir_servers())));
More information about the tor-commits
mailing list