[tor-bugs] #33618 [Core Tor/Tor]: Add IPv6 Support to is_local_addr()

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Mar 16 10:13:24 UTC 2020


#33618: Add IPv6 Support to is_local_addr()
------------------------------------------+--------------------------------
 Reporter:  kimimaro                      |          Owner:  (none)
     Type:  enhancement                   |         Status:  new
 Priority:  Medium                        |      Milestone:  Tor:
                                          |  0.4.4.x-final
Component:  Core Tor/Tor                  |        Version:
 Severity:  Normal                        |     Resolution:
 Keywords:  outreachy-ipv6 ipv6  prop312  |  Actual Points:
Parent ID:                                |         Points:  1
 Reviewer:                                |        Sponsor:  Sponsor55-can
------------------------------------------+--------------------------------
Changes (by teor):

 * keywords:  outreachy-ipv6 ipv6 => outreachy-ipv6 ipv6  prop312
 * milestone:   => Tor: 0.4.4.x-final
 * points:   => 1
 * sponsor:   => Sponsor55-can


Old description:

> "  We propose this optional change, to improve the accuracy of IPv6
> address
>    detection from directory documents.
>
>    Directory servers use is_local_addr() to detect if the requesting tor
>    instance is on the same local network. If it is, the directory server
> does
>    not include the X-Your-Address-Is HTTP header in directory documents.
>
>    Currently, is_local_addr() checks for:
>      * an internal IPv4 or IPv6 address, or
>      * the same IPv4 /24 as the directory server.
>
>    We propose also checking for:
>      * the same IPv6 /48 as the directory server.
>
>    We choose /48 because it is typically the smallest network in the
> global
>    IPv6 routing tables, and it was previously the recommended per-
> customer
>    network block. (See [RFC 6177: IPv6 End Site Address Assignment].)
>
>    Tor currently uses:
>      * IPv4 /8 and IPv6 /16 for port summaries,
>      * IPv4 /16 and IPv6 /32 for path selection (avoiding relays in the
> same
>        network block).
>    See also the next section, which uses IPv6 /64 for sybils."
> Source: https://gitweb.torproject.org/torspec.git/tree/proposals/312
> -relay-auto-ipv6-addr.txt#n1099

New description:

 We propose this optional change, to improve the accuracy of IPv6 address
 detection from directory documents.

 Directory servers use is_local_addr() to detect if the requesting tor
 instance is on the same local network. If it is, the directory server does
 not include the X-Your-Address-Is HTTP header in directory documents.

 Currently, is_local_addr() checks for:
   * an internal IPv4 or IPv6 address, or
   * the same IPv4 /24 as the directory server.

 We propose also checking for:
   * the same IPv6 /48 as the directory server.

 We choose /48 because it is typically the smallest network in the global
 IPv6 routing tables, and it was previously the recommended per-customer
 network block. (See [RFC 6177: IPv6 End Site Address Assignment].)

 Tor currently uses:
   * IPv4 /8 and IPv6 /16 for port summaries,
   * IPv4 /16 and IPv6 /32 for path selection (avoiding relays in the same
     network block).

 Source: https://gitweb.torproject.org/torspec.git/tree/proposals/312
 -relay-auto-ipv6-addr.txt#n1099

--

Comment:

 I just fixed the ticket description formatting so it's more readable, and
 added some standard ticket fields.

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


More information about the tor-bugs mailing list