Skip to content

Prop 312: 3.2.1. Test Address torrc Option Configurations

This ticket depends on IPv6 Addresses in legacy/trac#33233 (moved), and automatic IPv6 ORPorts in legacy/trac#33246 (moved). These tests should be in CI, or they should be repeated after each change.

We should support the following combinations of address literals and hostnames:

Legacy configurations:

  1. (A) No configured Address option
  2. (B) Address IPv4 literal
  3. (C) Address hostname (use IPv4 and IPv6 DNS addresses)

New configurations:

  1. (D) Address IPv6 literal
  2. (E) Address IPv4 literal / Address IPv6 literal
  3. (F) Address hostname / Address hostname (use IPv4 and IPv6 DNS addresses)
  4. (G) Address IPv4 literal / Address hostname (only use IPv6 DNS addresses)
  5. (H) Address hostname (only use IPv4 DNS addresses) / Address IPv6 literal

If we can't find an IPv4 or IPv6 address using the configured Address options:

  • No IPv4: guess IPv4, and its reachability must succeed.
  • No IPv6: guess IPv6, publish if reachability succeeds.

Combinations A and B are the most common legacy configurations. We want to support the following outcomes for all legacy configurations:

  • automatic upgrades to guessed and reachable IPv6 addresses,
  • continuing to operate on IPv4 when the IPv6 address can't be guessed, and
  • continuing to operate on IPv4 when the IPv6 address has been guessed, but it is unreachable.

See proposal 312, section 3.2.1, testing notes: ​https://gitweb.torproject.org/torspec.git/tree/proposals/312-relay-auto-ipv6-addr.txt#n270

Edited by David Goulet
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information