|
@@ -3178,6 +3178,7 @@ routerstatus_list_update_from_networkstatus(time_t now)
|
|
|
{
|
|
|
or_options_t *options = get_options();
|
|
|
int n_trusted, n_statuses, n_recent = 0, n_naming = 0;
|
|
|
+ int n_listing_bad_exits = 0;
|
|
|
int i, j, warned;
|
|
|
int *index, *size;
|
|
|
networkstatus_t **networkstatus;
|
|
@@ -3225,6 +3226,8 @@ routerstatus_list_update_from_networkstatus(time_t now)
|
|
|
++n_naming;
|
|
|
if (networkstatus[i]->is_recent)
|
|
|
++n_recent;
|
|
|
+ if (networkstatus[i]->lists_bad_exits)
|
|
|
+ ++n_listing_bad_exits;
|
|
|
}
|
|
|
|
|
|
/** Iterate over all entries in all networkstatuses, and build
|
|
@@ -3430,7 +3433,7 @@ routerstatus_list_update_from_networkstatus(time_t now)
|
|
|
rs_out->status.is_possible_guard = n_guard > n_statuses/2;
|
|
|
rs_out->status.is_stable = n_stable > n_statuses/2;
|
|
|
rs_out->status.is_v2_dir = n_v2_dir > n_statuses/2;
|
|
|
- rs_out->status.is_bad_exit = n_bad_exit > n_statuses/2;
|
|
|
+ rs_out->status.is_bad_exit = n_bad_exit > n_listing_bad_exits/2;
|
|
|
}
|
|
|
SMARTLIST_FOREACH(routerstatus_list, local_routerstatus_t *, rs,
|
|
|
local_routerstatus_free(rs));
|