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 832
    • Issues 832
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 31
    • Merge requests 31
  • 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
  • #32743

Closed (moved)
(moved)
Open
Created Dec 13, 2019 by opara@opara🎄Contributor

Remove tor-spec requirement of initiator-side V1 and V2 link handshakes

The tor spec says the following (section "2. Connections"):

In either case, once the responder has sent its certificate or certificates, the initiator counts them. If two certificates have been sent, it proceeds as in "certificates up-front"; otherwise, it proceeds as in "renegotiation" or "in-protocol".

and

To decide whether to do "renegotiation" or "in-protocol", the initiator checks whether the responder's initial certificate matches the criteria listed above.

and

All new relay implementations of the Tor protocol MUST support backwards-compatible renegotiation

Since the initiator can be a client or relay, I take this to mean that relays must allow V1 and V2 handshakes if the responder does not support a higher handshake version.

The tor code removed initiator support for V1 and V2 handshakes in legacy/trac#11150 (moved) for clients and relays. Since the official tor implementation does not support these handshakes for initiators, I don't see a reason to keep it in the spec. It also makes the code difficult to follow, and I've been confused looking at the code trying to understand how the initiators respond to these handshakes (assuming they did since it's in the spec), but it wasn't until finding the ticket above that I learned that it's been removed. So I think removing this requirement from the tor spec removes this discrepancy between tor and tor-spec, and also generally makes things more clear.

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