Commit e7e61ec7 authored by teor (Tim Wilson-Brown)'s avatar teor (Tim Wilson-Brown)
Browse files

Prop210: Check fallback directories and authorities work as expected

Also clarify comments.
parent 9882a88b
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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())));