aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorteor <teor2345@gmail.com>2017-12-23 00:00:18 +1100
committerteor <teor2345@gmail.com>2017-12-23 00:01:31 +1100
commit30e13716754bc3d991500f5f68eb83a19aea9b11 (patch)
tree0ebc7f5e7bdb589b7cf0eb6b74e480432e81225d
parent7d845976e3897fac8e78a4a26688ac57b660151b (diff)
downloadtor-30e13716754bc3d991500f5f68eb83a19aea9b11.tar.gz
tor-30e13716754bc3d991500f5f68eb83a19aea9b11.zip
Make the default DirAuthorityFallbackRate 0.1
This makes clients on the public tor network prefer to bootstrap off fallback directory mirrors. This is a follow-up to 24679, which removed weights from the default fallbacks. Implements ticket 24681.
-rw-r--r--changes/ticket246816
-rw-r--r--doc/tor.1.txt3
-rw-r--r--src/or/config.c9
3 files changed, 16 insertions, 2 deletions
diff --git a/changes/ticket24681 b/changes/ticket24681
new file mode 100644
index 0000000000..cc0a42b2e0
--- /dev/null
+++ b/changes/ticket24681
@@ -0,0 +1,6 @@
+ o Minor features (fallback directory mirrors):
+ - Make the default DirAuthorityFallbackRate 0.1, so that clients on the
+ public tor network prefer to bootstrap off fallback directory mirrors.
+ This is a follow-up to 24679, which removed weights from the default
+ fallbacks.
+ Implements ticket 24681.
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 74915b7119..b286a06563 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -432,7 +432,8 @@ GENERAL OPTIONS
When configured to use both directory authorities and fallback
directories, the directory authorities also work as fallbacks. They are
chosen with their regular weights, multiplied by this number, which
- should be 1.0 or less. (Default: 1.0)
+ should be 1.0 or less. The default is less than 1, to reduce load on
+ authorities. (Default: 0.1)
[[AlternateDirAuthority]] **AlternateDirAuthority** [__nickname__] [**flags**] __address__:__port__ __fingerprint__ +
diff --git a/src/or/config.c b/src/or/config.c
index 557790a81e..2a0d091a21 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -225,7 +225,14 @@ static config_var_t option_vars_[] = {
VAR("DirReqStatistics", BOOL, DirReqStatistics_option, "1"),
VAR("DirAuthority", LINELIST, DirAuthorities, NULL),
V(DirCache, BOOL, "1"),
- V(DirAuthorityFallbackRate, DOUBLE, "1.0"),
+ /* A DirAuthorityFallbackRate of 0.1 means that 0.5% of clients try an
+ * authority when all fallbacks are up, and 2% try an authority when 25% of
+ * fallbacks are down. (We rebuild the list when 25% of fallbacks are down).
+ *
+ * We want to reduce load on authorities, but keep these two figures within
+ * an order of magnitude, so there isn't too much load shifting to authorities
+ * when fallbacks go down. */
+ V(DirAuthorityFallbackRate, DOUBLE, "0.1"),
V(DisableAllSwap, BOOL, "0"),
V(DisableDebuggerAttachment, BOOL, "1"),
V(DisableIOCP, BOOL, "1"),