Browse Source

Add a missing bridge download status reset

17750 made unused download schedules automatically reset.
But we should make that explicit.
teor 6 years ago
parent
commit
1b5e34badb
2 changed files with 4 additions and 0 deletions
  1. 2 0
      src/or/bridges.c
  2. 2 0
      src/test/test_entrynodes.c

+ 2 - 0
src/or/bridges.c

@@ -455,6 +455,8 @@ bridge_add_from_config(bridge_line_t *bridge_line)
   b->fetch_status.schedule = DL_SCHED_BRIDGE;
   b->fetch_status.backoff = DL_SCHED_RANDOM_EXPONENTIAL;
   b->fetch_status.increment_on = DL_SCHED_INCREMENT_ATTEMPT;
+  /* This will fail if UseBridges is not set */
+  download_status_reset(&b->fetch_status);
   b->socks_args = bridge_line->socks_args;
   if (!bridge_list)
     bridge_list = smartlist_new();

+ 2 - 0
src/test/test_entrynodes.c

@@ -917,6 +917,7 @@ test_entry_guard_node_filter(void *arg)
   routerset_parse(get_options_mutable()->ExcludeNodes, "144.144.0.0/16", "");
 
   /* 4: Bridge. */
+  get_options_mutable()->UseBridges = 1;
   sweep_bridge_list();
   bl = tor_malloc_zero(sizeof(bridge_line_t));
   tor_addr_from_ipv4h(&bl->addr, n[4]->rs->addr);
@@ -924,6 +925,7 @@ test_entry_guard_node_filter(void *arg)
   memcpy(bl->digest, n[4]->identity, 20);
   bridge_add_from_config(bl);
   bl = NULL; // prevent free.
+  get_options_mutable()->UseBridges = 0;
 
   /* 5: Unreachable. This stays in the filter, but isn't in usable-filtered */
   g[5]->last_tried_to_connect = approx_time(); // prevent retry.