[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