Преглед изворни кода

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 пре 13 година
родитељ
комит
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;