瀏覽代碼

refetch bridge descriptors in a timely fashion

When we configure a new bridge via the controller, don't wait up to ten
seconds before trying to fetch its descriptor. This wasn't so bad when
you listed your bridges in torrc, but it's dreadful if you configure
your bridges via vidalia.
Roger Dingledine 14 年之前
父節點
當前提交
07c5026efa
共有 2 個文件被更改,包括 7 次插入2 次删除
  1. 4 0
      changes/bug3198
  2. 3 2
      src/or/main.c

+ 4 - 0
changes/bug3198

@@ -0,0 +1,4 @@
+  o Major bugfixes:
+    - When we configure a new bridge via the controller, don't wait up
+      to ten seconds before trying to fetch its descriptor. Bugfix on
+      0.2.0.3-alpha; fixes bug 3198 (suggested by 2355).

+ 3 - 2
src/or/main.c

@@ -924,8 +924,6 @@ run_scheduled_events(time_t now)
   if (time_to_try_getting_descriptors < now) {
     update_router_descriptor_downloads(now);
     update_extrainfo_downloads(now);
-    if (options->UseBridges)
-      fetch_bridge_descriptors(options, now);
     if (router_have_minimum_dir_info())
       time_to_try_getting_descriptors = now + LAZY_DESCRIPTOR_RETRY_INTERVAL;
     else
@@ -938,6 +936,9 @@ run_scheduled_events(time_t now)
       now + DESCRIPTOR_FAILURE_RESET_INTERVAL;
   }
 
+  if (options->UseBridges)
+    fetch_bridge_descriptors(options, now);
+
   /** 1b. Every MAX_SSL_KEY_LIFETIME seconds, we change our TLS context. */
   if (!last_rotated_x509_certificate)
     last_rotated_x509_certificate = now;