[tor-commits] [tor/master] Explain where bridge download statuses are initialised

nickm at torproject.org nickm at torproject.org
Fri Sep 15 12:15:20 UTC 2017


commit d60e7df2da5bfae62750bc4b41581d47e504e4bf
Author: teor <teor2345 at gmail.com>
Date:   Fri Sep 15 13:50:29 2017 +1000

    Explain where bridge download statuses are initialised
    
    And why we can't initialise them on config
    
    Comment-only change, follow-up to 23347.
---
 src/or/bridges.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/or/bridges.c b/src/or/bridges.c
index 0d4549dd1..812b0ddce 100644
--- a/src/or/bridges.c
+++ b/src/or/bridges.c
@@ -455,8 +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 -- and it does. */
-  // download_status_reset(&b->fetch_status);
+  /* We can't reset the bridge's download status here, because UseBridges
+   * might be 0 now, and it might be changed to 1 much later. */
   b->socks_args = bridge_line->socks_args;
   if (!bridge_list)
     bridge_list = smartlist_new();
@@ -625,6 +625,7 @@ fetch_bridge_descriptors(const or_options_t *options, time_t now)
 
   SMARTLIST_FOREACH_BEGIN(bridge_list, bridge_info_t *, bridge)
     {
+      /* This resets the download status on first use */
       if (!download_status_is_ready(&bridge->fetch_status, now,
                                     IMPOSSIBLE_TO_DOWNLOAD))
         continue; /* don't bother, no need to retry yet */





More information about the tor-commits mailing list