From 30e13716754bc3d991500f5f68eb83a19aea9b11 Mon Sep 17 00:00:00 2001 From: teor Date: Sat, 23 Dec 2017 00:00:18 +1100 Subject: [PATCH 1/2] 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. --- changes/ticket24681 | 6 ++++++ doc/tor.1.txt | 3 ++- src/or/config.c | 9 ++++++++- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 changes/ticket24681 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 74915b711..b286a0656 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 557790a81..2a0d091a2 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"), From 94d5523c7f100a2fc94869c55af6ec8e3429df2a Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 5 Jan 2018 11:28:23 -0500 Subject: [PATCH 2/2] fix a wide line --- src/or/config.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/or/config.c b/src/or/config.c index 2a0d091a2..dd0016f7a 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -230,8 +230,8 @@ static config_var_t option_vars_[] = { * 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. */ + * 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"),