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 1665cfe94..7ef892085 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -446,7 +446,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 16f189afd..ea98ddacd 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -285,7 +285,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"),