[tor-bugs] #27490 [Core Tor/Tor]: When ClientPreferIPv6ORPort is set to auto, and a relay is being chosen for a directory or orport connection, prefer IPv4 or IPv6 at random

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Oct 15 23:20:25 UTC 2018


#27490: When ClientPreferIPv6ORPort is set to auto, and a relay is being chosen for
a directory or orport connection, prefer IPv4 or IPv6 at random
--------------------------+------------------------------------
 Reporter:  neel          |          Owner:  neel
     Type:  enhancement   |         Status:  needs_review
 Priority:  Medium        |      Milestone:  Tor: 0.3.6.x-final
Component:  Core Tor/Tor  |        Version:
 Severity:  Normal        |     Resolution:
 Keywords:                |  Actual Points:
Parent ID:  #17835        |         Points:
 Reviewer:  teor          |        Sponsor:
--------------------------+------------------------------------
Changes (by teor):

 * milestone:   => Tor: 0.3.6.x-final


Comment:

 If this code works, and we think it doesn't introduce too much technical
 debt, it will go in 0.3.6.

 Replying to [comment:8 neel]:
 > As per your request, I have a new PR:
 https://github.com/torproject/tor/pull/373
 >
 > However, this still lacks tests. At least right now, I don't see how I
 can fit tests into ClientAutoIPv6ORPort as the output can be random as a
 result of this function.

 Here's how we can test functions with random outputs:
 * work out what the possible results are. Run the functions that have
 random results, and check that the actual result is one of the possible
 results.
 * mock the function that calls the random number generator, and check that
 other functions behave correctly with each of the possible inputs (in this
 case, 0 and 1)
 * test the tor binary in integration tests using shell scripts, python, or
 chutney

 Replying to [comment:9 neel]:
 > Also, should I check for ClientAutoIPv6ORPort is 1 in
 fascist_firewall_use_ipv6()? I have added an commit for it. If not, is it
 okay if I delete the commit `67e5a36`?

 fascist_firewall_use_ipv6() means "can this client use IPv6?"
 So it needs to check for ClientAutoIPv6ORPort == 1. Let's keep the commit.

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


More information about the tor-bugs mailing list