mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
relay: Double the size of the relay reentry set
This is to minimize false positive and thus deny reentry to Exit connections that were in reality not re-entering. Helps with overall UX. Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
ce3af5dd59
commit
98590621bb
@ -672,8 +672,12 @@ nodelist_set_consensus(networkstatus_t *ns)
|
||||
address_set_free(the_nodelist->node_addrs);
|
||||
addr_port_set_free(the_nodelist->reentry_set);
|
||||
the_nodelist->node_addrs = address_set_new(estimated_addresses);
|
||||
/* Times two here is for both the ORPort and DirPort. */
|
||||
the_nodelist->reentry_set = addr_port_set_new(estimated_addresses * 2);
|
||||
/* Times two here is for both the ORPort and DirPort. We double it again in
|
||||
* order to minimize as much as possible the false positive when looking up
|
||||
* this set. Reason is that Exit streams that are legitimate but end up a
|
||||
* false positive against this set will thus be considered reentry and be
|
||||
* rejected which means a bad UX. */
|
||||
the_nodelist->reentry_set = addr_port_set_new(estimated_addresses * 2 * 2);
|
||||
|
||||
SMARTLIST_FOREACH_BEGIN(ns->routerstatus_list, routerstatus_t *, rs) {
|
||||
node_t *node = node_get_or_create(rs->identity_digest);
|
||||
|
Loading…
Reference in New Issue
Block a user