Sfoglia il codice sorgente

Use the DL_SCHED_CONSENSUS schedule for consensuses.

Fixes bug 11679; bugfix on 0.2.2.6-alpha
Nick Mathewson 9 anni fa
parent
commit
d14127eb7a
2 ha cambiato i file con 11 aggiunte e 1 eliminazioni
  1. 3 0
      changes/bug11679
  2. 8 1
      src/or/networkstatus.c

+ 3 - 0
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.

+ 8 - 1
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. */