diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/or/routerlist.c | 8 |
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; } |