If we take my current favored approach to #572 (moved) , which involves implementing proposal 206, then we don't need to do this for authorities per se, though the code would be reusable.
I've thrown up a sketch implementation in branch "bug6027" in my public repository. I believe that's sufficient to allow users to configure IPv6 addr:orports for DirAuthority and FallbackDir lines, which can let users without IPv6 bootstrap.
I haven't been able to test this; it could use testing and review.
This hasn't made the deadline for 0.2.4 features; I think it's deferrable to 0.2.5.
FWIW, from the sponsor F POV, I think it's fine to defer this to 0.2.5.
On the year 3 page you write that we need somebody to fill in the IPv6 addresses and that this is a coordination project. Can you elaborate on that? What should that person do, and how often?
FWIW, from the sponsor F POV, I think it's fine to defer this to 0.2.5.
On the year 3 page you write that we need somebody to fill in the IPv6 addresses and that this is a coordination project. Can you elaborate on that? What should that person do, and how often?
Make sure that there are directory authorities with long-term fixed IPv6 addresses. List those IPv6 addresses in config.c, or tell me those addresses so that I can do so.
Alternatively, make sure that there are some directories with long-term fixed IPv6 addresses. Start figuring out how we want to ship that list. Maintain that list.
Trac: Milestone: Tor: 0.2.4.x-final to Tor: 0.2.5.x-final
Make sure that there are directory authorities with long-term fixed IPv6 addresses. List those IPv6 addresses in config.c, or tell me those addresses so that I can do so.
I just asked authority operators. I'll collect addresses and let you know.
Alternatively, make sure that there are some directories with long-term fixed IPv6 addresses. Start figuring out how we want to ship that list. Maintain that list.
Okay. We could ask relay operators on tor-relays@, or I could write a simple script to parse apparently long-term fixed IPv6 addresses from consensuses. The latter is probably less work. But I guess this doesn't matter until we ship the first 0.2.5.x-alpha bundle. We can still run the script on archived consensuses then.
Urras now has the following addresses:[2607:ff58::d053:df22] a.k.a. [2607:ff58::208.83.223.34]208.83.223.34Or if you just want to remember one address:[2607:ff58::208.83.223.34]208.83.223.34 has an ORPort on 80208.83.223.34 has an DirPort on 443[2607:ff58::208.83.223.34] has an ORPort on 80
I'm trying to test your bug6027 branch, with no luck so far. Here's what I did:
Set up an EC2 instance with outbound IPv6 connectivity and a firewall rule to drop all new outgoing IPv4 connections. curl -6 https://www.torproject.org/ works fine, and curl https://www.torproject.org/ doesn't do anything.
Added three directory authority IPv6 addresses to src/or/config.c:
However, when starting the tor client it always attempts to download the consensus from a fallback directory (this part works), but using its IPv4 address:
May 14 19:17:38.000 [notice] Bootstrapped 5%: Connecting to directory server.May 14 19:17:38.000 [info] connection_ap_make_link(): ... application connection created and linked.May 14 19:17:38.000 [info] directory_send_command(): Downloading consensus from 171.25.193.20:443 using /tor/status-vote/current/consensus-microdesc/14C131+27B6B5+49015F+585769+805509+D586D1+E8A9C4+ED03BB+EFCBE7.zMay 14 19:17:38.000 [info] or_state_save(): Saved state to "/home/ubuntu/client/data//state"May 14 19:17:38.000 [info] connection_edge_process_inbuf(): data from edge while in 'waiting for circuit' state. Leaving it on buffer.May 14 19:17:38.000 [info] connection_edge_process_inbuf(): data from edge while in 'waiting for circuit' state. Leaving it on buffer.May 14 19:19:38.000 [info] connection_ap_expire_beginning(): Tried for 120 seconds to get a connection to [scrubbed]:443. Giving up. (waiting for circuit)
How would I tell my tor client that I don't have any outgoing IPv4 connectivity and that it should instead use only IPv6 addresses?