Don't vote HSDir if we aren't voting Fast

Fixes #15963

Signed-off-by: David Goulet <dgoulet@ev0ke.net>
This commit is contained in:
David Goulet 2015-09-02 16:52:55 +02:00
parent 9d86f6665a
commit d6bfedb8e5
2 changed files with 6 additions and 2 deletions

4
changes/bug15963 Normal file
View File

@ -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.

View File

@ -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));
}