Make HSIntro consistent with rend_service_descriptor_t.protocols
HSIntro supports protocol versions 3 and 4:
The "HSIntro" protocol handles introduction points.
"3" -- supports authentication as of proposal 121 in Tor
0.2.1.6-alpha.
"4" -- support ed25519 authentication keys which is defined by the HS v3
protocol as part of proposal 224 in Tor 0.3.0.4-alpha.
But rend_service_update_descriptor() says "intro protocols 2 and 3":
/* Support intro protocols 2 and 3. */
d->protocols = (1 << 2) + (1 << 3);
I think we need to delete "2" here.
And rend_service_descriptor_t says "introduce/rendezvous" 0-3:
/** Bitmask: which introduce/rendezvous protocols are supported?
* (We allow bits '0', '1', '2' and '3' to be set.) */
unsigned protocols : REND_PROTOCOL_VERSION_BITMASK_WIDTH;
I think we need to delete "/rendezvous" and 0-2 here.
This seems to be a bug in 496fe685 in 0.2.5.3-alpha.