[tor-bugs] #25055 [Core Tor/Tor]: string_is_valid_hostname() returns true for IPv4 addresses
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sun Feb 18 10:18:33 UTC 2018
#25055: string_is_valid_hostname() returns true for IPv4 addresses
-------------------------------+------------------------------------
Reporter: teor | Owner: (none)
Type: defect | Status: needs_revision
Priority: Medium | Milestone: Tor: 0.3.4.x-final
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: IPv6 IPv4 tor-dns | Actual Points:
Parent ID: | Points: 1
Reviewer: | Sponsor:
-------------------------------+------------------------------------
Comment (by rl1987):
> Therefore, rather than trying to detect punycode or alphabetical
endings, let's use this logic:
> 1. If it is a valid IPv4 or IPv6 address, it is not a hostname
> 2. Otherwise, if it has alphanumeric, -, or `_`, in the right format, it
is a hostname.
>
> Being lax makes Tor more future proof to domain name format changes.
> And it confirms to the RFC.
Technically IP address strings are not hostnames, but we do allow them to
be used in SOCKS requests. That's why I introduced `string_is_valid_dest`
that checks destination validity by branching out to `tor_inet_pton` and
`string_is_valid_hostname`. We want `string_is_valid_hostname` to do
exactly what the function name says - DNS hostname validation.
I think supporting punycode TLDs is a good idea. Currently all entries in
of valid TLDs [0] are either alphabetic or punycode.
[0] http://data.iana.org/TLD/tlds-alpha-by-domain.txt
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25055#comment:13>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list