[tor-bugs] #32314 [Core Tor/Tor]: Can't connect to literal IPv6 address containing double colon
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Nov 7 04:35:11 UTC 2019
#32314: Can't connect to literal IPv6 address containing double colon
--------------------------+------------------------------------
Reporter: liberat | Owner: (none)
Type: defect | Status: new
Priority: Medium | Milestone: Tor: 0.4.3.x-final
Component: Core Tor/Tor | Version: Tor: 0.4.1.6
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
--------------------------+------------------------------------
Comment (by liberat):
> This isn't quite right. Addresses and ports in Tor cells are binary. So
the string parsing all happens on the client.
I could be wrong. But according to the spec, the payload of the
RELAY_BEGIN cell is:
{{{
ADDRPORT [nul-terminated string]
FLAGS [4 bytes]
ADDRPORT is made of ADDRESS | ':' | PORT | [00]
where ADDRESS can be a DNS hostname, or an IPv4 address in
dotted-quad format, or an IPv6 address surrounded by square brackets;
and where PORT is a decimal integer between 1 and 65535, inclusive.
}}}
If the SOCKS client encodes the address in one ASCII format, Tor is able
to connect. If the SOCKS client encodes exactly the same address in a
slightly different ASCII format, Tor is not able to connect. When it
fails, it seems to be that the exit node reports an error. So I am
assuming that the ASCII string supplied by the client is indeed what is
transmitted in the RELAY_BEGIN cell.
And I assume the fact that this sometimes ''works'' when the client
supplies an address without brackets is a lucky accident, due to the
permissive behavior of tor_addr_port_split.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/32314#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list