Implement proposal 318: "Limit protover values to 0-63"
Proposal 318 says that subprotocol versions should be limited to the integers 0 through 63.
We could apply this requirement in two different ways. We could either add the restriction to all Tor instances immediately, or we could apply it first at the authorities, and later at clients once authorities are enforcing it too.
This ticket assumes that we're taking a one-step approach to implementing the proposal, on the theory I propose here.
The steps to follow are:
- Get feedback on my shortcut idea on the comment linked above.
- Edit the subprotocol version parsing code so that it only accepts version numbers 0-63.
- Refactor the representation of subprotocol versions so that it's just a uint64_t bitmask.
- Edit tor-spec.txt and dir-spec.txt to describe the updated behavior.