diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/or/routerlist.c | 4 |
2 files changed, 5 insertions, 2 deletions
@@ -19,6 +19,9 @@ Changes in version 0.1.2.14 - 2007-0?-?? o Minor bugfixes: - Actually set the purpose correctly for descriptors inserted with purpose=controller. + - When we have k non-v2 authorities in our DirServer config, + we ignored as many as k v2 authorities while updating our + network-statuses. o Minor features: - When routers publish SVN revisions in their router descriptors, diff --git a/src/or/routerlist.c b/src/or/routerlist.c index ab47705cfc..8abd03e5b8 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -2909,14 +2909,14 @@ update_networkstatus_client_downloads(time_t now) /* If no networkstatus was found, choose a dirserver at random as "most * recent". */ if (most_recent_idx<0) - most_recent_idx = crypto_rand_int(n_dirservers); + most_recent_idx = crypto_rand_int(smartlist_len(trusted_dir_servers)); if (fetch_latest) { int i; int n_failed = 0; for (i = most_recent_idx + 1; 1; ++i) { trusted_dir_server_t *ds; - if (i >= n_dirservers) + if (i >= smartlist_len(trusted_dir_servers)) i = 0; ds = smartlist_get(trusted_dir_servers, i); if (! ds->is_v2_authority) |