[tor-commits] [tor/master] Turn off LearnCircuitBuildTimeout when tor2web mode is on

nickm at torproject.org nickm at torproject.org
Wed Nov 30 19:56:18 UTC 2011


commit c90c33fd53463b67810b4e2b4c994e952e087698
Author: Robert Ransom <rransom.8774 at gmail.com>
Date:   Tue Jun 14 01:40:02 2011 -0700

    Turn off LearnCircuitBuildTimeout when tor2web mode is on
---
 src/or/config.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/or/config.c b/src/or/config.c
index 734efdf..1dd5ed7 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -3524,6 +3524,24 @@ options_validate(or_options_t *old_options, or_options_t *options,
     options->RendPostPeriod = MAX_DIR_PERIOD;
   }
 
+  if (options->Tor2webMode && options->LearnCircuitBuildTimeout) {
+    /* LearnCircuitBuildTimeout and Tor2webMode are incompatible in
+     * two ways:
+     *
+     * - LearnCircuitBuildTimeout results in a low CBT, which
+     *   Tor2webMode's use of one-hop rendezvous circuits lowers
+     *   much further, producing *far* too many timeouts.
+     *
+     * - The adaptive CBT code does not update its timeout estimate
+     *   using build times for single-hop circuits.
+     *
+     * If we fix both of these issues someday, we should test
+     * Tor2webMode with LearnCircuitBuildTimeout on again. */
+    log_notice(LD_CONFIG,"Tor2webMode is enabled; turning "
+               "LearnCircuitBuildTimeout off.");
+    options->LearnCircuitBuildTimeout = 0;
+  }
+
   if (options->MaxCircuitDirtiness < MIN_MAX_CIRCUIT_DIRTINESS) {
     log_warn(LD_CONFIG, "MaxCircuitDirtiness option is too short; "
              "raising to %d seconds.", MIN_MAX_CIRCUIT_DIRTINESS);





More information about the tor-commits mailing list