[tor-bugs] #4563 [Tor Client]: Enable clients to talk to public bridges via IPv6

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Thu May 10 12:47:39 UTC 2012


#4563: Enable clients to talk to public bridges via IPv6
------------------------+---------------------------------------------------
 Reporter:  karsten     |          Owner:  ln5                     
     Type:  project     |         Status:  assigned                
 Priority:  normal      |      Milestone:  Sponsor G: June 30, 2012
Component:  Tor Client  |        Version:                          
 Keywords:              |         Parent:                          
   Points:              |   Actualpoints:                          
------------------------+---------------------------------------------------

Comment(by ln5):

 Replying to [comment:6 ln5]:
 > Let's keep node_t->is_running as it is and add no more running flags.
 > An existing address which is not "the primary address" (i.e. rs-> and
 > ri-> ipv4h_addr) is assumed to be running.  Naturally, we won't set
 > addresses (i.e. rs-> or ri-> ipv6_addr) if they're not in the router
 > descriptor (alternatively doesn't have the new optional Running flag
 > on their "a" line).

 First, we shouldn't generally have to assume that non-primary
 addresses are running.  Authorities (directory and bridge) can perform
 reachability tests.  Maybe authorities not on IPv6 should assume IPv6
 OR ports to be reachable when voting, to not punish IPv6 relays just
 because they're not capable of testing them -- false positives should
 be be better than false negatives.  In the context of bridges have to
 care only about Tonga, which reportedly is on IPv6 as soon as we wish
 it to be.

 Second, the "we won't set" part is confusing.  The first part seems to
 be about authorities and clients looking at router descriptors.  The
 second part is clearly about how to interpret a status document
 (consensus or vote).

 Proposed solution* for authorities:

 1. Perform reachability tests for IPv6 OR port if there is one
    (!tor_addr_is_null(routerinfo_t->ipv6_addr) and we're on IPv6
    (haveIPv6Connectivity).

 2. Include OR ports in the routerstatus_t of a relay if

     !haveIPv6Connectivity || node_t->last_reachable6 >= now-
 REACHABLE_TIMEOUT

 3. A non-primary OR port (i.e. IPv6) included in the routerstatus_t
    will be listed in an "a" line in status documents.


 (*) this is constrained to the current situation with one to two OR
 ports (on mandatory IPv4 and one optional IPv6) but should extend
 nicely to full prop186 support.

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


More information about the tor-bugs mailing list