Quellcode durchsuchen

Prop210: Check fallback directories and authorities work as expected

Also clarify comments.
teor (Tim Wilson-Brown) vor 8 Jahren
Ursprung
Commit
e7e61ec7ec
1 geänderte Dateien mit 7 neuen und 3 gelöschten Zeilen
  1. 7 3
      src/or/networkstatus.c

+ 7 - 3
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())));