[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #20871 [Core Tor/Torsocks]: Regression in Torsocks 2.2.0 breaks wget, among others
#20871: Regression in Torsocks 2.2.0 breaks wget, among others
-------------------------------+-----------------------------------
Reporter: cypherpunks | Owner: dgoulet
Type: defect | Status: needs_information
Priority: High | Milestone:
Component: Core Tor/Torsocks | Version:
Severity: Major | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------------+-----------------------------------
Comment (by sysrqb):
Replying to [comment:2 cypherpunks]:
> In 2.2.0 in `src/lib/gethostbyname.c`, there's an if statement which
checks if `name` is a valid IPv4 address. If it is valid IPv4 address, it
should return 1, otherwise a negative value. What's weirder still is in
`src/common/utils.c`, the `check_addr()` function is written in such a way
that it cannot possibly return 0, only 1 or -1 (which both evaluate true
in C).
Nice catch, indeed that is likely broken and should be corrected. However,
wget doesn't use gethostbyname(), it uses getaddrinfo(). Can you provide
debug level logs that show how the name is being resolved (as dgoulet
requested)? Setting something like `TORSOCKS_LOG_LEVEL=5
TORSOCKS_LOG_FILE_PATH=torsocks.log` should be sufficient. Logging to a
file maybe better than stdio.
Debug logging shows:
{{{
1480831284 DEBUG torsocks[11468]: Setting up a connection to the Tor
network on fd 5 (in setup_tor_connection() at torsocks.c:367)
1480831284 DEBUG torsocks[11468]: Socks5 sending method ver: 5, nmethods
0x01, methods 0x00 (in socks5_send_method() at socks5.c:229)
1480831284 DEBUG torsocks[11468]: Socks5 received method ver: 5, method
0x00 (in socks5_recv_method() at socks5.c:262)
1480831284 DEBUG torsocks[11468]: [socks5] Resolve for www.torproject.org
sent successfully (in socks5_send_resolve_request() at socks5.c:639)
1480831284 DEBUG torsocks[11468]: [socks5] Resolve reply received
successfully (in socks5_recv_resolve_reply() at socks5.c:716)
1480831284 DEBUG torsocks[11468]: [getaddrinfo] Node www.torproject.org
resolved to 82.195.75.101 (in tsocks_getaddrinfo() at getaddrinfo.c:107)
}}}
Specifically:
{{{
amnesia@amnesia:~/torsocks$ git show --pretty=oneline | head -n 1
e54d80bc9595beeceac637b03e5c5395c07e62f7 Update version to v2.2.0
amnesia@amnesia:~/torsocks$ git describe
v2.2.0
amnesia@amnesia:~/torsocks$ /usr/lib/wget/wget -V | head -n 3
GNU Wget 1.16 built on linux-gnu.
+digest +https +ipv6 +iri +large-file +nls +ntlm +opie +psl +ssl/gnutls
}}}
{{{
amnesia@amnesia:~/torsocks$ TORSOCKS_CONF_FILE=doc/torsocks.conf
TORSOCKS_LOG_LEVEL=5 TORSOCKS_LOG_FILE_PATH=torsocks.log
LD_PRELOAD=src/lib/.libs/libtorsocks.so.0.0.0 /usr/lib/wget/wget --spider
https://www.torproject.org/
Spider mode enabled. Check if remote file exists.
--2016-12-04 06:16:22-- https://www.torproject.org/
Resolving www.torproject.org (www.torproject.org)... 82.195.75.101
Connecting to www.torproject.org
(www.torproject.org)|82.195.75.101|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15845 (15K) [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20871#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs