Opened 7 weeks ago

Last modified 7 weeks ago

#33816 new task

Fill in missing IPv6 addresses in extend cells

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: 0.4.4.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: ipv6, prop311, outreachy-ipv6
Cc: Actual Points:
Parent ID: #33220 Points: 1
Reviewer: Sponsor: Sponsor55-can

Description (last modified by teor)

When an extend cell is missing an IPv6 address, tor relays could use the IPv6 address from the consensus. (If there is one.)

Similarly, if the client only supplied an IPv6 address, the relay could add an IPv4 address.

Relays already add ed25519 keys during an extend, when the client only supplies the RSA fingerprint.

This change helps obfuscate:

  • whether clients know the IPv6 addresses of relays,
  • which clients implement sending IPv6 addresses in extends, and
  • which clients are configured to send IPv6 addresses in extends.

This change also helps with reachability, if a relay has recently gained an IPv6 ORPort, or its IPv4 ORPort is unreliable.

It has a minor impact on testing:

  • increases the number of IPv6 extends, but
  • decreases the number of IPv4-only extends.

This change can be made in circuit_extend():
https://github.com/torproject/tor/pull/1801/files#diff-84b529c5e46d955c02d683463cd3317bR230

By calling a function that works like circuit_extend_add_ed25519_helper(), but adds IP addresses instead:
https://github.com/torproject/tor/pull/1801/files#diff-84b529c5e46d955c02d683463cd3317bR77

Child Tickets

Change History (1)

comment:1 Changed 7 weeks ago by teor

Description: modified (diff)
Note: See TracTickets for help on using tickets.