[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