[tor-bugs] #5547 [Tor]: Add support for resolving destination names to IPv6 and exiting to IPv6 destinations
Tor Bug Tracker & Wiki
blackhole at torproject.org
Wed Nov 14 16:39:51 UTC 2012
#5547: Add support for resolving destination names to IPv6 and exiting to IPv6
destinations
-------------------------------------------------------+--------------------
Reporter: karsten | Owner: nickm
Type: project | Status: needs_review
Priority: normal | Milestone: Tor: 0.2.4.x-final
Component: Tor | Version:
Keywords: SponsorF20121101 needs-proposal tor-relay | Parent:
Points: | Actualpoints:
-------------------------------------------------------+--------------------
Comment(by nickm):
Acting on Andrea's reviews:
> In d39684896e93aefca1d1c738556c2943eae7ed29, it doesn't look like the
cache actually becomes per-circuit, just that it now passes a circuit
parameter around. This is intentional to allow for future implementation,
I presume?
Yes, that's right.
> 9a7d1c27432f04bab21b0cbb5ddfc41bc53d8096 looks good and I agree that
having parsed-cell data structures like this is better than the current
ad-hocery, but I don't quite see the connection to IPv6. Might have made
more sense in its own branch. I presume from this that
tor_addr_port_split() already parses IPv6 addresses?
The rationale for doing this on this branch was that BEGIN cells needed to
begin taking a new 'flags' argument, and I wasn't confident in my ability
to add it correctly without screwing anything up.
> In 2245ef768094646e22c01caa4420f49fcf6c432e, where does/will the
TAPMP_EXTENDED_STAR flag come from? It looks like the new flags argument
to tor_addr_parse_mask_ports() is always being set to 0 so far. Also, I
think comments should be added to the default config file documenting this
syntax; it's convenient but strikes me as quite counterintuitive, in that
my brain wants to read things like '*4' and '*6' as regular expressions.
I added it to router_parse_addr_policy_item_from_string in 8e33d77e.
Editing the default config file is something we don't want to do too
often, since it messes with debian packages, but we should do so when
we're close to an 0.2.4.x-beta or -rc. I'll add a ticket to that effect.
It's not too late to come up with a better syntax! Is there anything you
like more?
> I know this is a bit of an abstract concern, since we're unlikely to be
worried about any protocols other than IPv4 and IPv6 at any point in the
near future, but it bothers me a bit that we now have two protocols and in
some places we're dealing with them by ad-hoc code that effectively embeds
knowledge of what protocols we support in a hardwired way. Things like the
expansion of AF_UNSPEC into AF_INET and AF_INET6 wildcards in
policy_expand_unspec() of commit 8e33d77ee1cc73fc5638caff886d16a1a7779646
feel like they should be more table-driven or something, I guess. Similar
comments for exit_policy_remove_redundancies() in that commit.
I don't agree here; if we need to add IPv7 support, we will have plenty of
warning, and the likelihood of an IPv7 hitting in our lifetime seems a
little low. Although from an abstract POV I agree that "there are only 3
numbers in cs: 0, 1, and infinity", I think that this number is so likely
to remain 2 that it is going to be safe to keep it.
>I can think of two other 'easy' cases I didn't see handled (correct me if
I'm wrong): transparent proxying of IPv6 clients, and hidden service on an
IPv6 address.
> Then I can think of one harder one: a multiprotocol network where relays
are allowed to support only a subset of all protocols means the
connectivity graph among relays is no longer complete
I think transparent proxying of IPv6 clients will be trivial to add after
the nov15 deadline; it isn't much more code. Hidden service to an IPv6
address is orthogonal to this, but doable. A network where some relays
have no IPv4 address has the problem you mention where the topology of the
network would change; it's something to contemplate, but also orthogonal
IMO.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/5547#comment:23>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list