aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-03-20 13:34:57 -0400
committerNick Mathewson <nickm@torproject.org>2013-03-20 13:34:57 -0400
commita660fe6fd51cd511cdc610e4a50f06d59cbf74aa (patch)
tree24151e9895db0e480580a00d5f3a1c1b7314a7ed
parent90d2162f32f511f23449211ad900a880fd384afb (diff)
downloadtor-a660fe6fd51cd511cdc610e4a50f06d59cbf74aa.tar
tor-a660fe6fd51cd511cdc610e4a50f06d59cbf74aa.tar.gz
Let testing networks override ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG
This adds a new option to fix bug 8508 which broke chutney networks. The bug was introduced by 317d16de.
-rw-r--r--changes/bug84084
-rw-r--r--doc/tor.1.txt5
-rw-r--r--src/or/config.c1
-rw-r--r--src/or/dirserv.c3
-rw-r--r--src/or/or.h3
5 files changed, 16 insertions, 0 deletions
diff --git a/changes/bug8408 b/changes/bug8408
new file mode 100644
index 000000000..ae9cf172e
--- /dev/null
+++ b/changes/bug8408
@@ -0,0 +1,4 @@
+ o Minor bugfixes:
+ - Allow TestingTorNetworks to override the 4096-byte minimum for the Fast
+ threshold. Otherwise they can't bootstrap until they've observed more
+ traffic. Fixes bug 8508; bugfix on 0.2.4.10-alpha.
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 3be90be87..5727ec30f 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -2019,6 +2019,11 @@ The following options are used for running a testing Tor network.
time. Changing this requires that **TestingTorNetwork** is set. (Default:
10 minutes)
+**TestingMinFastFlagThreshold** __N__ **bytes**|**KBytes**|**MBytes**|**GBytes**::
+ Minimum value for the Fast flag. Overrides the ordinary minimum taken
+ from the consensus when TestingTorNetwork is set. (Default: 0.)
+
+
SIGNALS
-------
diff --git a/src/or/config.c b/src/or/config.c
index 2b8eab7d6..9e2230e76 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -341,6 +341,7 @@ static config_var_t option_vars_[] = {
V(PerConnBWRate, MEMUNIT, "0"),
V(PidFile, STRING, NULL),
V(TestingTorNetwork, BOOL, "0"),
+ V(TestingMinFastFlagThreshold, MEMUNIT, "0"),
V(OptimisticData, AUTOBOOL, "auto"),
V(PortForwarding, BOOL, "0"),
V(PortForwardingHelper, FILENAME, "tor-fw-helper"),
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 8e8f79a17..81f328a64 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -2005,6 +2005,9 @@ dirserv_compute_performance_thresholds(routerlist_t *rl,
ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG,
ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG,
INT32_MAX);
+ if (options->TestingTorNetwork) {
+ min_fast = (int32_t)options->TestingMinFastFlagThreshold;
+ }
max_fast = networkstatus_get_param(NULL, "FastFlagMaxThreshold",
INT32_MAX, min_fast, INT32_MAX);
if (fast_bandwidth < (uint32_t)min_fast)
diff --git a/src/or/or.h b/src/or/or.h
index 67315522e..2b0102de3 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -3910,6 +3910,9 @@ typedef struct {
* of certain configuration options. */
int TestingTorNetwork;
+ /** Minimum value for the Fast flag threshold on testing networks. */
+ uint64_t TestingMinFastFlagThreshold;
+
/** If true, and we have GeoIP data, and we're a bridge, keep a per-country
* count of how many client addresses have contacted us so that we can help
* the bridge authority guess which countries have blocked access to us. */