[tor-bugs] #33817 [Core Tor/Tor]: Perform Basic Relay IPv6 Extends

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Apr 29 12:15:12 UTC 2020


#33817: Perform Basic Relay IPv6 Extends
---------------------------+------------------------------------
 Reporter:  teor           |          Owner:  teor
     Type:  task           |         Status:  needs_review
 Priority:  Medium         |      Milestone:  Tor: 0.4.4.x-final
Component:  Core Tor/Tor   |        Version:
 Severity:  Normal         |     Resolution:
 Keywords:  ipv6, prop311  |  Actual Points:  3
Parent ID:  #33220         |         Points:  1
 Reviewer:                 |        Sponsor:  Sponsor55-must
---------------------------+------------------------------------
Changes (by teor):

 * keywords:  ipv6, prop311, technical-debt-partial => ipv6, prop311
 * status:  needs_revision => needs_review
 * actualpoints:   => 3


Old description:

> Currently, tor checks that extend cells have IPv4 addresses in:
> [ ] some functions in circuitbuild_relay.c (a new file introduced by
> #33633)
> [x] channel_get_for_extend() in channel.c
> [x] check_extend_cell() in onion.c
> [x] extend_cell_from_extend2_cell_body() in onion.c
> [ ] and possibly other functions.
>
> We also want to fix a missing IPv6 check in:
> [x] connection_or_check_canonicity(), where only IPv4 addresses are
> considered canonical,
>   * (note that channel_tls_process_netinfo_cell() already handles IPv6
> canonicity correctly)
>
> Unlike the other changes, the connection_or_check_canonicity() change is
> a bug fix. Other code already considers IPv6 connections canonical.

New description:

 Currently, tor checks that extend cells have IPv4 addresses in:
 [x] some functions in circuitbuild_relay.c (a new file introduced by
 #33633)
 [x] channel_get_for_extend() in channel.c
 [x] check_extend_cell() in onion.c
 [x] extend_cell_from_extend2_cell_body() in onion.c
 [?] and possibly other functions.

 We want to allow IPv6 in all these places.

 And when we have an IPv4 and an IPv6 address, we want to choose between
 them at random.

--

Comment:

 This was a bit more complicated than I expected.

 See my PR:
 * master: https://github.com/torproject/tor/pull/1864

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


More information about the tor-bugs mailing list