diff --git a/changes/ticket24681 b/changes/ticket24681 new file mode 100644 index 000000000..cc0a42b2e --- /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 fc285ebe1..a319aa938 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -466,7 +466,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**] __ipv4address__:__port__ __fingerprint__ + diff --git a/src/or/config.c b/src/or/config.c index d8f71a019..1c79c148e 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -298,7 +298,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"),