Loading src/or/routerlist.c +11 −12 Changes for src/or/routerlist.c: 11 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ static void update_networkstatus_cache_downloads(time_t now); static void update_networkstatus_client_downloads(time_t now); static int signed_desc_digest_is_recognized(signed_descriptor_t *desc); static void routerlist_assert_ok(routerlist_t *rl); static int have_tried_downloading_all_statuses(void); static int have_tried_downloading_all_statuses(int n_failures); static routerstatus_t *networkstatus_find_entry(networkstatus_t *ns, const char *digest); Loading Loading @@ -2677,7 +2677,8 @@ routers_update_all_from_networkstatus(void) routers_update_status_from_networkstatus(routerlist->routers, 0); me = router_get_my_routerinfo(); if (me && !have_warned_about_invalid_status) { if (me && !have_warned_about_invalid_status && have_tried_downloading_all_statuses(4)) { int n_recent = 0, n_listing = 0, n_valid = 0, n_named = 0, n_naming = 0; routerstatus_t *rs; SMARTLIST_FOREACH(networkstatus_list, networkstatus_t *, ns, Loading @@ -2696,10 +2697,7 @@ routers_update_all_from_networkstatus(void) ++n_named; }); /* XXX Why require more than 1 recent or listing? If the user * has only one authority shouldn't he also get these warnings? -RD */ if (n_recent >= 2 && n_listing >= 2 && have_tried_downloading_all_statuses()) { if (n_recent && n_listing) { if (n_valid <= n_recent/2) { log_warn(LD_GENERAL, "%d/%d recent statements from directory authorities list us " Loading @@ -2718,7 +2716,8 @@ routers_update_all_from_networkstatus(void) entry_guards_set_status_from_directory(); if (!have_warned_about_old_version) { if (!have_warned_about_old_version && have_tried_downloading_all_statuses(4)) { int n_recent = 0; int n_recommended = 0; int is_server = server_mode(get_options()); Loading @@ -2739,7 +2738,7 @@ routers_update_all_from_networkstatus(void) consensus = version_status_join(consensus, vs); } }); if (n_recent > 2 && n_recommended < n_recent/2) { if (n_recent && n_recommended <= n_recent/2) { if (consensus == VS_NEW || consensus == VS_NEW_IN_SERIES) { if (!have_warned_about_new_version) { char *rec = compute_recommended_versions(now, !is_server); Loading Loading @@ -3597,10 +3596,10 @@ router_have_minimum_dir_info(void) return res; } /** Return true iff we have downloaded, or attempted to download, a network * status for each authority. */ /** Return true iff we have downloaded, or attempted to download at least * n_failures times, a network status for each authority. */ static int have_tried_downloading_all_statuses(void) have_tried_downloading_all_statuses(int n_failures) { if (!trusted_dir_servers) return 0; Loading @@ -3610,7 +3609,7 @@ have_tried_downloading_all_statuses(void) /* If we don't have the status, and we haven't failed to get the status, * we haven't tried to get the status. */ if (!networkstatus_get_by_digest(ds->digest) && !ds->n_networkstatus_failures) ds->n_networkstatus_failures <= n_failures) return 0; }); Loading Loading
src/or/routerlist.c +11 −12 Changes for src/or/routerlist.c: 11 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ static void update_networkstatus_cache_downloads(time_t now); static void update_networkstatus_client_downloads(time_t now); static int signed_desc_digest_is_recognized(signed_descriptor_t *desc); static void routerlist_assert_ok(routerlist_t *rl); static int have_tried_downloading_all_statuses(void); static int have_tried_downloading_all_statuses(int n_failures); static routerstatus_t *networkstatus_find_entry(networkstatus_t *ns, const char *digest); Loading Loading @@ -2677,7 +2677,8 @@ routers_update_all_from_networkstatus(void) routers_update_status_from_networkstatus(routerlist->routers, 0); me = router_get_my_routerinfo(); if (me && !have_warned_about_invalid_status) { if (me && !have_warned_about_invalid_status && have_tried_downloading_all_statuses(4)) { int n_recent = 0, n_listing = 0, n_valid = 0, n_named = 0, n_naming = 0; routerstatus_t *rs; SMARTLIST_FOREACH(networkstatus_list, networkstatus_t *, ns, Loading @@ -2696,10 +2697,7 @@ routers_update_all_from_networkstatus(void) ++n_named; }); /* XXX Why require more than 1 recent or listing? If the user * has only one authority shouldn't he also get these warnings? -RD */ if (n_recent >= 2 && n_listing >= 2 && have_tried_downloading_all_statuses()) { if (n_recent && n_listing) { if (n_valid <= n_recent/2) { log_warn(LD_GENERAL, "%d/%d recent statements from directory authorities list us " Loading @@ -2718,7 +2716,8 @@ routers_update_all_from_networkstatus(void) entry_guards_set_status_from_directory(); if (!have_warned_about_old_version) { if (!have_warned_about_old_version && have_tried_downloading_all_statuses(4)) { int n_recent = 0; int n_recommended = 0; int is_server = server_mode(get_options()); Loading @@ -2739,7 +2738,7 @@ routers_update_all_from_networkstatus(void) consensus = version_status_join(consensus, vs); } }); if (n_recent > 2 && n_recommended < n_recent/2) { if (n_recent && n_recommended <= n_recent/2) { if (consensus == VS_NEW || consensus == VS_NEW_IN_SERIES) { if (!have_warned_about_new_version) { char *rec = compute_recommended_versions(now, !is_server); Loading Loading @@ -3597,10 +3596,10 @@ router_have_minimum_dir_info(void) return res; } /** Return true iff we have downloaded, or attempted to download, a network * status for each authority. */ /** Return true iff we have downloaded, or attempted to download at least * n_failures times, a network status for each authority. */ static int have_tried_downloading_all_statuses(void) have_tried_downloading_all_statuses(int n_failures) { if (!trusted_dir_servers) return 0; Loading @@ -3610,7 +3609,7 @@ have_tried_downloading_all_statuses(void) /* If we don't have the status, and we haven't failed to get the status, * we haven't tried to get the status. */ if (!networkstatus_get_by_digest(ds->digest) && !ds->n_networkstatus_failures) ds->n_networkstatus_failures <= n_failures) return 0; }); Loading