summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@ev0ke.net>2015-09-02 16:52:55 +0200
committerDavid Goulet <dgoulet@ev0ke.net>2015-09-02 17:03:00 +0200
commitd6bfedb8e56ae3d2fc249852de477a61eb6a1278 (patch)
treeb5eeead780b35d4675e31c878ce94edf55108ae0
parent9d86f6665aaf3ef73bf93fd4f96dd861f894c5bd (diff)
downloadtor-d6bfedb8e56ae3d2fc249852de477a61eb6a1278.tar.gz
tor-d6bfedb8e56ae3d2fc249852de477a61eb6a1278.zip
Don't vote HSDir if we aren't voting Fast
Fixes #15963 Signed-off-by: David Goulet <dgoulet@ev0ke.net>
-rw-r--r--changes/bug159634
-rw-r--r--src/or/dirserv.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/changes/bug15963 b/changes/bug15963
new file mode 100644
index 0000000000..8c903d2d34
--- /dev/null
+++ b/changes/bug15963
@@ -0,0 +1,4 @@
+ o Hidden service directory enhancement
+ - Relays need to have the Fast flag to ge the HSDir flag. As this is
+ being written, we'll go from 2745 HSDirs down to 2342, a ~14% drop.
+ Fixes #15983.
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 65bfafba6c..6ac834fdc0 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -1279,7 +1279,7 @@ dirserv_thinks_router_is_unreliable(time_t now,
/** Return true iff <b>router</b> should be assigned the "HSDir" flag.
* Right now this means it advertises support for it, it has a high uptime,
- * it has a DirPort open, it has the Stable flag and it's currently
+ * it has a DirPort open, it has the Stable and Fast flag and it's currently
* considered Running.
*
* This function needs to be called after router-\>is_running has
@@ -1307,7 +1307,7 @@ dirserv_thinks_router_is_hs_dir(const routerinfo_t *router,
uptime = real_uptime(router, now);
return (router->wants_to_be_hs_dir && router->dir_port &&
- node->is_stable &&
+ node->is_stable && node->is_fast &&
uptime >= get_options()->MinUptimeHidServDirectoryV2 &&
router_is_active(router, node, now));
}