aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/or/routerlist.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 02c04a81f..c1e55ea48 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -3188,8 +3188,12 @@ update_networkstatus_client_downloads(time_t now)
ds = smartlist_get(trusted_dir_servers, i);
if (!(ds->type & V2_AUTHORITY))
continue;
- if (n_failed < n_dirservers &&
- ds->n_networkstatus_failures > NETWORKSTATUS_N_ALLOWABLE_FAILURES) {
+ if (n_failed >= n_dirservers) {
+ log_info(LD_DIR, "All authorities have failed. Not trying any.");
+ smartlist_free(missing);
+ return;
+ }
+ if (ds->n_networkstatus_failures > NETWORKSTATUS_N_ALLOWABLE_FAILURES) {
++n_failed;
continue;
}