From: Roger Dingledine Date: Mon, 2 Apr 2018 04:20:01 +0000 (-0400) Subject: dir auths no longer vote Guard if they're not voting V2Dir X-Git-Tag: tor-0.3.3.5-rc~19^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=961d2ad597134df0171dbbed2e035ae93e2215c6;p=thirdparty%2Ftor.git dir auths no longer vote Guard if they're not voting V2Dir Directory authorities no longer vote in favor of the Guard flag for relays that don't advertise directory support. Starting in Tor 0.3.0.1-alpha, Tor clients have been avoiding using such relays in the Guard position, leading to increasingly broken load balancing for the 5%-or-so of Guards that don't advertise directory support. Fixes bug 22310; bugfix on 0.3.0.6. --- diff --git a/changes/bug22310 b/changes/bug22310 new file mode 100644 index 0000000000..c8017daffe --- /dev/null +++ b/changes/bug22310 @@ -0,0 +1,8 @@ + o Major bugfixes (performance, load balancing): + - Directory authorities no longer vote in favor of the Guard flag + for relays that don't advertise directory support. Starting in Tor + 0.3.0.1-alpha, Tor clients have been avoiding using such relays in + the Guard position, leading to increasingly broken load balancing + for the 5%-or-so of Guards that don't advertise directory support. + Fixes bug 22310; bugfix on 0.3.0.6. + diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 0f47a83986..f0333e288f 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -2266,6 +2266,7 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs, rs->is_valid = node->is_valid; if (node->is_fast && node->is_stable && + ri->supports_tunnelled_dir_requests && ((options->AuthDirGuardBWGuarantee && routerbw_kb >= options->AuthDirGuardBWGuarantee/1000) || routerbw_kb >= MIN(guard_bandwidth_including_exits_kb,