Skip to content
Snippets Groups Projects
Commit 6785f0b6 authored by David Goulet's avatar David Goulet Committed by Nick Mathewson
Browse files

HSDir flag now requires the Stable flag

Fixes #8243
parent f2ff8145
No related branches found
No related tags found
No related merge requests found
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.
......@@ -1278,8 +1278,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.
......@@ -1306,6 +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 &&
uptime >= get_options()->MinUptimeHidServDirectoryV2 &&
router_is_active(router, node, now));
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment