Tell about the importance of 5.1.1 in `tor-spec.txt`
At first, I thought that the "Choosing circuit IDs in create cells" section in tor-spec.txt
was more of a recommendation, rather than an obligation, especially due to the formulation in the first paragraph:
The CircID for a CREATE/CREATE2 cell is an arbitrarily chosen nonzero integer.
It turns out however, that in link protocol version 4, the MSB must1 be 1 for clients, as stated in:
In link protocol version 4 or higher, whichever node initiated the connection sets its MSB to 1, and whichever node didn't initiate the connection sets its MSB to 0.
While these two paragraphs may not contradict each other, I think that they still cause confusion. I would suggest to either reformulate them or add a small sentence, emphasizing the importance of the version 4 behavior, as it apparently is a requirement.
-
At least my ctor relay refuses to create circuits with a CircID's MSB set to zero.
↩