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

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Sep 15 12:43:19 UTC 2017


#23502: prop224: Don't make IPv4 mandatory because one day we'll have IPv6 only
relays
----------------------------------------+----------------------------------
 Reporter:  dgoulet                     |          Owner:  dgoulet
     Type:  defect                      |         Status:  needs_revision
 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 dgoulet):

 Replying to [comment:8 teor]:

 > Before we merge this, I want to make sure we understand the IPv6 single
 onion bug in #23493. The current code should provide IPv4 for all relays,
 even if we connect to them over IPv6. (If we fix #23493 by ignoring
 missing IPv4 in descriptors and INTRODUCE cells, that's the wrong fix. The
 right fix is to provide both addresses if we know both for the relay.)

 Right so if I can summarize the bug here. In prop224 code (and actually
 most part of tor), we go from a `node_t` object (that supports having IPv4
 and IPv6 within the descriptor) to an `extend_info_t` that has only one
 single IP address chosen depending on some conditions and finally we take
 that object and create the link specifiers.

 So, in the end, the link spec only gets either v4 or v6, not both.

 Seems a bit weird by design to make `extend_info_t` have both addresses
 because then the circuit subsystem will have to take yet another decision
 on which one to use so maybe what we need is a "node_t -> link spec" layer
 and then "link spec -> extend_info_t" which then any subsystem can take
 its decision on what address to use.

 OR, we make `extend_info_t` object have both address and we hint in it
 what order the circuit subsystem should use like for instance "IPv4 first,
 if fail IPv6" or "IPv4 only" or ...

 Thoughts?

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23502#comment:11>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list