[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-bugs] #23502 [Core Tor/Tor]: prop224: Don't make IPv4 mandatory because one day we'll have IPv6 only relays



#23502: prop224: Don't make IPv4 mandatory because one day we'll have IPv6 only
relays
----------------------------------------+----------------------------------
 Reporter:  dgoulet                     |          Owner:  dgoulet
     Type:  defect                      |         Status:  merge_ready
 Priority:  Medium                      |      Milestone:  Tor:
                                        |  0.3.2.x-final
Component:  Core Tor/Tor                |        Version:
 Severity:  Normal                      |     Resolution:
 Keywords:  prop224, tor-relay, tor-hs  |  Actual Points:
Parent ID:                              |         Points:
 Reviewer:  asn                         |        Sponsor:
----------------------------------------+----------------------------------

Comment (by teor):

 Replying to [comment:14 dgoulet]:
 > Summarizing a bit the IRC discussion and conclusion for the
 `merge_ready` state.
 >
 > This patch makes it that we can possibly encode an IPv6 only relay that
 is NO IPv4. Right now, it is not possible for a relay to not have an IPv4
 in tor so the HS subsystem will always prefer IPv4 in case of a 3-hop.
 >
 > For single onion now, the IPv6 is preferred if (1) firewall allow it,
 and (2) it is available of course.

 Available where?
 (We really need a spec for this, because there's not enough detail on this
 ticket.)

 Here are the 3 scenarios that matter:

 1. A single onion service can connect to its intro points using the IPv6
 address in their microdescriptor, or connect over a 3-hop path to the IPv4
 address in the consensus.

 2. A single onion service should put the IPv4 and IPv6 addresses in the
 link specifiers in the HS descriptor. But since we can't add IPv6 right
 now, and no clients need it (there's no v3 Tor2web), we can leave it, and
 do it in 0.3.3 for completeness.

 3. A single onion service should connect to the rend point using the IPv6
 address in the link specifiers in the INTRODUCE cell, or if there is no
 IPv6, it should connect over a 3-hop path to the IPv4 link specifier.
 * client: it's ok that clients can only provide an IPv4 link specifier in
 0.3.2, we can add IPv6 in 0.3.3
 * service: it's ok that services only get an IPv4 link specifier from
 0.3.2 clients. Do we want to support future IPv6 in 0.3.2, or leave it
 until we can test it in 0.3.3?

 > Now, the other issue is that *both* IPv4 and IPv6 of a relay can NOT be
 included in the link specifier list with current code. It is v4 and if not
 there, v6 if possible. If none are available, we go on error and the
 node_t is discarded.

 If we can only have IPv4 or IPv6, we *must* put IPv4 in every link
 specifier list.
 IPv4 is the only protocol all clients and services know how to access or
 fall back to.
 It doesn't matter if one side only supports IPv6 or whatever, it must be
 IPv4.

 > For 032 as the feature freeze is today, I think it is OK with what we
 have and we'll make a real IPv6 support for 033 if we can.

 This is ok for the moment, and it means that single onion v3 over IPv6
 should work in 0.3.2 using the IPv4 fallback code.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23502#comment:15>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs