Prop 312: 3.2.1. Make the Address torrc Option Support IPv6 Literals
We can work on this ticket now, but we should do the code movement in
legacy/trac#33789 first.
Make relays and bridges use the Address torrc option to find their IPv6 addresses.
This ticket covers the IPv6 literal case:
1. Explicit IP addresses:
* allow the option to be specified up to two times,
* use the IPv4 address for IPv4,
* use the IPv6 address for IPv6.
Configuring two addresses in the same address family is a config error.
2. Hostnames / DNS names:
* allow the option to be specified up to two times,
* look up the configured name,
* use the first IPv4 and IPv6 address returned by the resolver, and
Resolving multiple addresses in the same address family is not a
runtime error, but only the first address from each family will be
used.
It is an error to configure an Address option with a private IPv4 or IPv6
address. (If tor is configured with a custom set of directory authorities, private addresses should be allowed, with a notice-level log.)
See proposal 312, section 3.2.1, case 1:
https://gitweb.torproject.org/torspec.git/tree/proposals/312-relay-auto-ipv6-addr.txt#n252
As soon as we implement this ticket, we should implement legacy/trac#33246 to automatically open an IPv6 ORPort based on the Address config. (Or any discovered addresses.)
Then we should test the different IPv4/IPv6 configs listed in legacy/trac#33235.
issue