[tor-bugs] #17840 [Tor]: Add a minimal implementation of ClientUseIPv4 so IPv6-only clients can bootstrap

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Dec 18 02:48:49 UTC 2015


#17840: Add a minimal implementation of ClientUseIPv4 so IPv6-only clients can
bootstrap
--------------------+------------------------------------
 Reporter:  teor    |          Owner:  teor
     Type:  defect  |         Status:  needs_review
 Priority:  Medium  |      Milestone:  Tor: 0.2.8.x-final
Component:  Tor     |        Version:
 Severity:  Normal  |     Resolution:
 Keywords:  ipv6    |  Actual Points:
Parent ID:  #17811  |         Points:
  Sponsor:          |
--------------------+------------------------------------
Changes (by teor):

 * status:  accepted => needs_review


Comment:

 Please see my branch feature17840-v7 at
 https://github.com/teor2345/tor.git

 TL;DR: Tor clients now bootstrap and make connections on IPv6-only hosts,
 if configured correctly.

 Bootstrap on IPv6-only systems can be tested using variations on the
 following command-line:
 `src/or/tor DataDirectory /tmp/tor-ipv6 ClientUseIPv4 0 ClientUseIPv6 1
 SOCKSPort [::1]:9050`

 Commits in this branch:
 * adds the ClientUseIPv4 and ClientPreferIPv6DirPort options,
 * uses them and the existing ClientUseIPv6 option to bootstrap Dir servers
 * uses the ClientUseIPv4/6 options and ClientPreferIPv6ORPort to choose
 and connect to entry guards,
 * logs warnings when these preferences aren't met - they're for testing,
 we'll want to reconsider them before we merge.

 The code and unit tests run on IPv4-only, dual-stack, and IPv6-only
 systems.

 Bootstrap and connection works as long as the configured options match the
 available address families. We could make this more tolerant of
 misconfiguration,:
 * for ClientUseIPv4, ClientUseIPv6, ClientPreferIPv6ORPort,
 ClientPreferIPv6DirPort, see #6772 and #17835/#17217.
 * for SOCKSPort, see #11360.

 I'd test it using chutney, but chutney only runs on IPv4-only and dual-
 stack systems (and then mainly IPv4) at the moment. (See #17011/#17153.)
 That said, nothing on IPv4-only or dual-stack systems breaks with this
 patch.

 Tested on:
 * OS X (IPv4-only & dual-stack)
 * Linux (IPv4-only)

 I also have the following configurations available, I'll test on them
 soon:
 * Linux (IPv6-only)
 * FreeBSD (IPv6-only)

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


More information about the tor-bugs mailing list