mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 14:40:51 +01:00
No dirport should mean no hsdir flag (bug 1693)
This commit is contained in:
parent
4fc230b305
commit
c6f5792404
2 changed files with 14 additions and 2 deletions
8
changes/1693-withhold-hsdir-if-no-dirport
Normal file
8
changes/1693-withhold-hsdir-if-no-dirport
Normal file
|
@ -0,0 +1,8 @@
|
|||
o Major bugfixes:
|
||||
- Stop assigning the HSDir flag to relays that disable their
|
||||
DirPort (and thus will refuse to answer directory requests). This
|
||||
fix should dramatically improve the reachability of hidden services:
|
||||
hidden services and hidden service clients pick three HSDir relays
|
||||
to store and retrieve the hidden service descriptor, and currently
|
||||
about half of the HSDir relays will refuse to work. Bugfix on
|
||||
0.2.0.10-alpha; fixes part of bug 1693.
|
|
@ -1717,7 +1717,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, and it's currently considered Running.
|
||||
* uptime, it has a DirPort open, and it's currently considered Running.
|
||||
*
|
||||
* This function needs to be called after router-\>is_running has
|
||||
* been set.
|
||||
|
@ -1727,7 +1727,11 @@ dirserv_thinks_router_is_hs_dir(routerinfo_t *router, time_t now)
|
|||
{
|
||||
long uptime = real_uptime(router, now);
|
||||
|
||||
return (router->wants_to_be_hs_dir &&
|
||||
/* XXX We shouldn't need to check dir_port, but we do because of
|
||||
* bug 1693. In the future, once relays set wants_to_be_hs_dir
|
||||
* correctly, we can revert to only checking dir_port if router's
|
||||
* version is too old. */
|
||||
return (router->wants_to_be_hs_dir && router->dir_port &&
|
||||
uptime > get_options()->MinUptimeHidServDirectoryV2 &&
|
||||
router->is_running);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue