On 26 Oct 2017, at 09:09, teor teor2345@gmail.com wrote:
But it did occur to me that other code may assume the "platform" line takes a certain form.
It shouldn't, that's what protocol lines are for.
But any alternate implementation will never be used as a v3 HSDir, because it would need to claim to be Tor 0.3.0.8 or later for v3 onion services to use it. This is a poor design decision on our part: just like consensus methods, when we break a protocol version, we should allocate a new number, and check it. (Or we should exclude broken versions from the consensus.)
I've opened this ticket to fix that: https://trac.torproject.org/projects/tor/ticket/23998
For the record, I was wrong about this.
We ignore "Tor" implementations on 0.3.0.7 and below when checking for the HSDir protover 2. (Which supports v3 onion services.)
So any non-Tor implementation that advertises support for protover 2 will be accepted as a v3 onion service HSDir.
T