aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2015-06-08 10:33:38 -0400
committerNick Mathewson <nickm@torproject.org>2015-06-08 10:33:38 -0400
commitc0c0a6085e7e6395e4f5819ba47076786ae2f2b0 (patch)
treeef81f7dac6035f272a85f7bdc33047627f766a5b
parent2f67a6e8c95aadadfc55b6245668471f7def72e6 (diff)
parent6785f0b65a106561a36239d89140bf18be3d7c6c (diff)
downloadtor-c0c0a6085e7e6395e4f5819ba47076786ae2f2b0.tar.gz
tor-c0c0a6085e7e6395e4f5819ba47076786ae2f2b0.zip
Merge remote-tracking branch 'origin/maint-0.2.6'
-rw-r--r--changes/ticket82437
-rw-r--r--src/or/dirserv.c6
2 files changed, 11 insertions, 2 deletions
diff --git a/changes/ticket8243 b/changes/ticket8243
new file mode 100644
index 0000000000..8946a21a59
--- /dev/null
+++ b/changes/ticket8243
@@ -0,0 +1,7 @@
+ o Minor feature:
+ - The HSDir flag given by authorities now requires the Stable flag. For
+ the current network, this results in going from 2887 to 2806 HSDirs.
+ Also, it makes it harder for an attacker to launch a sybil attack by
+ raising the effort for a relay to become Stable which takes at the
+ very least 7 days to do so and by keeping the 96 hours uptime
+ requirement for HSDir. Implements ticket #8243.
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index bee67cf749..ed38ba2259 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -1342,8 +1342,9 @@ 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, and it's currently considered Running.
+ * 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
+ * considered Running.
*
* This function needs to be called after router-\>is_running has
* been set.
@@ -1370,6 +1371,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 &&
uptime >= get_options()->MinUptimeHidServDirectoryV2 &&
router_is_active(router, node, now));
}