diff options
-rw-r--r-- | changes/bug11679 | 3 | ||||
-rw-r--r-- | src/or/networkstatus.c | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/changes/bug11679 b/changes/bug11679 new file mode 100644 index 0000000000..3a191ce822 --- /dev/null +++ b/changes/bug11679 @@ -0,0 +1,3 @@ + o Minor bugfixes (client): + - Use the consensus schedule for downloading consensuses, and not the + generic schedule. Fixes bug 11679; bugfix on 0.2.2.6-alpha. diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index 95eb32035b..c7bed9b059 100644 --- a/src/or/networkstatus.c +++ b/src/or/networkstatus.c @@ -83,7 +83,11 @@ static consensus_waiting_for_certs_t * before the current consensus becomes invalid. */ static time_t time_to_download_next_consensus[N_CONSENSUS_FLAVORS]; /** Download status for the current consensus networkstatus. */ -static download_status_t consensus_dl_status[N_CONSENSUS_FLAVORS]; +static download_status_t consensus_dl_status[N_CONSENSUS_FLAVORS] = + { + { 0, 0, DL_SCHED_CONSENSUS }, + { 0, 0, DL_SCHED_CONSENSUS }, + }; /** True iff we have logged a warning about this OR's version being older than * listed by the authorities. */ @@ -754,6 +758,9 @@ update_consensus_networkstatus_downloads(time_t now) resource = networkstatus_get_flavor_name(i); + /* Let's make sure we remembered to update consensus_dl_status */ + tor_assert(consensus_dl_status[i].schedule == DL_SCHED_CONSENSUS); + if (!download_status_is_ready(&consensus_dl_status[i], now, options->TestingConsensusMaxDownloadTries)) continue; /* We failed downloading a consensus too recently. */ |