summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2012-09-01 01:25:17 -0400
committerRoger Dingledine <arma@torproject.org>2012-09-01 01:25:17 -0400
commiteb3d0796677b5d37f27caf8b11d2a2e2c18e5674 (patch)
treee9b6a0c91730a7368e63c6622db4791f7ff3fa89
parentb17bb543dab3e34f5076649707bc74d5d3bd62fd (diff)
downloadtor-eb3d0796677b5d37f27caf8b11d2a2e2c18e5674.tar.gz
tor-eb3d0796677b5d37f27caf8b11d2a2e2c18e5674.zip
Make begindir_cutoff the same as general_cutoff
Allow one-hop directory fetching circuits the full "circuit build timeout" period, rather than just half of it, before failing them and marking the relay down. This fix should help reduce cases where clients declare relays (or worse, bridges) unreachable because the TLS handshake takes a few seconds to complete. Fixes bug 6743 (one piece of bug 3443); bugfix on 0.2.2.2-alpha, where we changed the timeout from a static 30 seconds.
-rw-r--r--changes/bug67439
-rw-r--r--src/or/circuituse.c2
2 files changed, 10 insertions, 1 deletions
diff --git a/changes/bug6743 b/changes/bug6743
new file mode 100644
index 0000000000..6ec78f853a
--- /dev/null
+++ b/changes/bug6743
@@ -0,0 +1,9 @@
+ o Minor bugfixes:
+ - Allow one-hop directory fetching circuits the full "circuit build
+ timeout" period, rather than just half of it, before failing them
+ and marking the relay down. This fix should help reduce cases where
+ clients declare relays (or worse, bridges) unreachable because
+ the TLS handshake takes a few seconds to complete. Fixes bug 6743;
+ bugfix on 0.2.2.2-alpha, where we changed the timeout from a static
+ 30 seconds.
+
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index c34b698fa1..20f124eb4e 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -372,7 +372,7 @@ circuit_expire_building(void)
} while (0)
SET_CUTOFF(general_cutoff, circ_times.timeout_ms);
- SET_CUTOFF(begindir_cutoff, circ_times.timeout_ms / 2.0);
+ SET_CUTOFF(begindir_cutoff, circ_times.timeout_ms);
SET_CUTOFF(fourhop_cutoff, circ_times.timeout_ms * (4/3.0));
SET_CUTOFF(cannibalize_cutoff, circ_times.timeout_ms / 2.0);
SET_CUTOFF(close_cutoff, circ_times.close_ms);