[tor-bugs] #33818 [Core Tor/Tor]: Add options for clients and relays to enable IPv6 extends

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Apr 5 07:36:14 UTC 2020


#33818: Add options for clients and relays to enable IPv6 extends
--------------------------------+--------------------------------
     Reporter:  teor            |      Owner:  teor
         Type:  task            |     Status:  assigned
     Priority:  Medium          |  Milestone:  Tor: 0.4.4.x-final
    Component:  Core Tor/Tor    |    Version:
     Severity:  Normal          |   Keywords:  ipv6, prop311
Actual Points:                  |  Parent ID:  #33220
       Points:  1               |   Reviewer:
      Sponsor:  Sponsor55-must  |
--------------------------------+--------------------------------
 To help with testing and future network upgrades, we want to add options
 that:
 * make clients and relays send IPv6 addresses in extend cells, and
 * make relays perform extends over IPv6.

 **General Options**

 ExtendByIPv6ORPort (like ExtendByEd25519ID):

 If this option is set to 1, Tor tries to include a relay’s IPv6 ORPort
 when telling the preceding relay in a circuit to extend to it. If this
 option is set to 0, Tor never includes an IPv6 ORPort when extending
 circuits. (And Tor relays disable IPv6 reachability self-tests.) If the
 option is set to "auto", Tor obeys a parameter in the consensus document.
 If the consensus parameter is not set:
   * relays include IPv6 ORPorts in extend cells, but
   * clients and bridges do not include IPv6 ORPort in extend cells.
 (Default: auto)

 **Relay and Bridge Options**

 ExtendAllowIPv6Addresses (like ExtendAllowPrivateAddresses):

 Relays and bridges only. When this option is set to 1, Tor will connect to
 relays on IPv6 addresses. In particular, Tor relays and bridges will allow
 EXTEND requests to IPv6 addresses.

 This option does not apply to clients, or direct OR connections initiated
 by relays or bridges. Use ClientUseIPv6 and  ClientPreferIPv6ORPort to
 enable direct IPv6 connections.

 If this option is set to 0, Tor will not connect to IPv6 ORPorts when
 extending circuits. If the option is set to "auto", Tor obeys a parameter
 in the consensus document. If the consensus parameter is not set:
   * relays allow IPv6 extends, but
   * bridges do not allow IPv6 extends. (Default: auto)

 **Proposal Notes**

 The design and option names are changed from section 4.4.4 of proposal
 311, for the following reasons:
 * consistent design:
   * simpler code: decide based on public_server_mode(), rather than
 circuit purpose
   * relay reachability and other cells can't be distinguished
   * relays include IPv6 first, because they don't require anonymity
   * clients don't include IPv6 (until there are more IPv6 relays)
   * bridges match clients
 * consistency with existing options

 See:
 https://github.com/torproject/torspec/blob/master/proposals/311-relay-
 ipv6-reachability.txt#L535

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


More information about the tor-bugs mailing list