Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Tor Tor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 314
    • Issues 314
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 34
    • Merge requests 34
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • TorTor
  • Issues
  • #33816
Closed
Open
Created Apr 05, 2020 by teor@teor

Fill in missing IPv6 addresses in extend cells

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

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking