aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 f1068cedc6..4c5d5359af 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -445,7 +445,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 ddf49b037e..42ff25877e 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -226,7 +226,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"),
OBSOLETE("DisableIOCP"),