Prop210: Check fallback directories and authorities work as expected

Also clarify comments.
This commit is contained in:
teor (Tim Wilson-Brown)
2015-12-17 11:39:40 +11:00
parent 9882a88b74
commit e7e61ec7ec
+7 -3
View File
@@ -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())));