[tor-bugs] #13718 [Tor]: Reachability Tests aren't conducted if there are no exit nodes

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Dec 23 18:56:41 UTC 2014


#13718: Reachability Tests aren't conducted if there are no exit nodes
-------------------------+-------------------------------------------------
     Reporter:  tom      |      Owner:  teor
         Type:  defect   |     Status:  needs_review
     Priority:  normal   |  Milestone:  Tor: 0.2.6.x-final
    Component:  Tor      |    Version:  Tor: 0.2.6.1-alpha
   Resolution:           |   Keywords:  tor-relay test-network lorax
Actual Points:           |  chutney 026-deferrable
       Points:           |  Parent ID:
-------------------------+-------------------------------------------------

Comment (by teor):

 18:42] <teor> There are two scenarios:
 [18:44] <teor> We can either give the test network a big push and say:
 "assume everything is reachable, a guard, and an exit" - this case
 bootstraps in 8-10 seconds
 [18:45] <teor> Or we can leave the relays to bootstrap "naturally", and
 join a subsequent consensus once they have tested their reachability
 [18:45] <teor> The second case is the issue we're trying to fix in the bug
 [18:45] <nickm> ah
 [18:45] <teor> The first case is a quick boot
 [18:45] <teor> The second case is a comprehensive test
 [18:45] <teor> (it takes around 25-30 seconds)
 [18:46] <nickm> So, I can see the benefit of that, but I don't htink the
 right approach is to say that no connection is local.  Instead maybe we
 should just say that connections to ourself are always nonlocal?   Or
 something like that?
 [18:48] <teor> When DirAllowPrivateAddresses is 0 on the authorities, the
 current code makes sense
 [18:48] <teor> if I run two nodes on the one IP, they shouldn't declare
 themselves reachable just because they can connect to each other on
 127.0.0.1
 [18:50] <teor> (the current code is even stricter - if
 EnforceDistinctSubnets is 1, we have to connect to something outside our
 /24 before we're reachable)
 [18:51] <nickm> right
 [18:53] <nickm> Hm.
 [18:53] <nickm> I see
 [18:53] <teor> Another option is to disable the !channel_is_local() check
 when TestingTorNetwork is true
 [18:53] <teor> This would leave the is_local flag alone, and just ignire
 it at the other end
 [18:53] <nickm> That is one option, and maybe a good one.
 [18:53] <teor> it's much cleaner
 [18:53] <nickm> The other option is to rename is_local so that it reflects
 what it means in both cases.
 [18:54] <nickm> I think that disabling that check, or adding a new
 function that does (TestingTorNetwork || channel_is_local())  is the right
 thing
 [18:54] <nickm> at least, it sounds simple
 [18:54] <teor> it is simple
 [18:55] <teor> circuitbuild.c line 1381 is the only line that needs to
 change

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13718#comment:40>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list