[tor-bugs] #33796 [Core Tor/Tor]: socks: Prefer IPv6 by default on SOCKS port broke torsocks

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Apr 3 12:00:26 UTC 2020


#33796: socks: Prefer IPv6 by default on SOCKS port broke torsocks
--------------------------------------------+------------------------------
 Reporter:  dgoulet                         |          Owner:  (none)
     Type:  defect                          |         Status:  new
 Priority:  Medium                          |      Milestone:  Tor:
                                            |  0.4.3.x-final
Component:  Core Tor/Tor                    |        Version:
 Severity:  Normal                          |     Resolution:
 Keywords:  tor-dns torsocks ipv6 043-must  |  Actual Points:
Parent ID:                                  |         Points:
 Reviewer:                                  |        Sponsor:
--------------------------------------------+------------------------------

Comment (by dgoulet):

 Replying to [comment:1 teor]:
 > Tor Browser has set PreferIPv6 for some time.
 > But I guess that isn't a common config for torsocks?

 Since we don't set it by default (until now), no not a common use case at
 all.

 >
 > And there aren't any unit tests or integration tests that make sure that
 torsocks keeps working?

 Jenkins builders don't do outbound tor connections so torsocks DNS tests
 are disabled :(.

 And this problem is seen "sometimes" when we hit an IPv6 exits basically.

 > That's a shame, we would have caught this issue much earlier.

 I personally use torsocks every day but only with .onion ... so I didn't
 caught it until I tried yesterday multiple things that never worked and so
 I investigated.

 Torsocks is _not_ under active development so unless users report issues
 (which I try to be a very active one), we don't caught that many with the
 tests. Jenkins builder runs on last commit but then doesn't re-run them
 regularly but even if Jenkins was able to run the DNS tests, if run once,
 there is a good chance it would just work.

 I run tor git master on my computer and so if I had a use case with a non
 .onion, I think I would have caught that much earlier. Thus, maybe time
 for me to add that regular use case to my daily flow :).

 >
 > We thought that allowing users to configure NoPreferIPv6 in tor was
 enough. But that only works if people control their system tor instance.
 >
 > Here's what I suggest we do:
 > * undo the default PreferIPv6 flag change in 0.4.3
 > * re-do the default PreferIPv6 flag change in 0.4.4
 > * add new socks commands for IPv4-only and IPv6-only in 0.4.4
 > * update torsocks to use those commands (when available)
 > * write unit tests or integration tests that cover the Torsocks use
 cases
 >
 > How much of that work are you able to do, dgoulet?

 Since TB uses `PreferIPv6`, we won't break that use case by moving this
 commit to 044 as long as we introduce that new "resolve IPv4/v6" feature
 on the SOCKS port in 044.

 I could implement all this (including the spec) in couple days of work top
 _but_ it is always the review round that eats up the time with this. So
 let say time 3 or 4 would results in couple weeks to have it all imo. Then
 I can adapt torsocks after.

 I thought of other applications that could be using our SocksPort the way
 torsocks do (that is DNS + connect()) but except for specific DNS tools
 like `dig` or `host` (which most people probably use _with_ torsocks), I
 assume the _common_ use is to pass the hostname to Tor.

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


More information about the tor-bugs mailing list