]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Unconditionally use config CircuitBuildTimeout if LearnCircuitBuildTimeout is disabled
authorAndrea Shepard <andrea@persephoneslair.org>
Tue, 12 Jun 2012 19:11:32 +0000 (12:11 -0700)
committerNick Mathewson <nickm@torproject.org>
Wed, 13 Jun 2012 20:44:33 +0000 (16:44 -0400)
src/or/circuitbuild.c

index 2b5cb2148692f3c15df6f29a485ca5cc88557ed2..61576d12dd1abc8dc39af5ec89fd297eaf3c6849 100644 (file)
@@ -535,16 +535,27 @@ static double
 circuit_build_times_get_initial_timeout(void)
 {
   double timeout;
-  if (!unit_tests && get_options()->CircuitBuildTimeout) {
-    timeout = get_options()->CircuitBuildTimeout*1000;
-    if (timeout < circuit_build_times_min_timeout()) {
-      log_warn(LD_CIRC, "Config CircuitBuildTimeout too low. Setting to %ds",
-               circuit_build_times_min_timeout()/1000);
-      timeout = circuit_build_times_min_timeout();
+
+  /*
+   * Check if we have LearnCircuitBuildTimeout, and if we don't,
+   * always use CircuitBuildTimeout, no questions asked.
+   */
+  if (get_options()->LearnCircuitBuildTimeout) {
+    if (!unit_tests && get_options()->CircuitBuildTimeout) {
+      timeout = get_options()->CircuitBuildTimeout*1000;
+      if (timeout < circuit_build_times_min_timeout()) {
+        log_warn(LD_CIRC, "Config CircuitBuildTimeout too low. Setting to %ds",
+                 circuit_build_times_min_timeout()/1000);
+        timeout = circuit_build_times_min_timeout();
+      }
+    } else {
+      timeout = circuit_build_times_initial_timeout();
     }
-  } else {
-    timeout = circuit_build_times_initial_timeout();
   }
+  else {
+    timeout = get_options()->CircuitBuildTimeout*1000;
+  }
+
   return timeout;
 }