Specify formats to use $KEYID in service descriptors, INTRODUCE cells. The old thing will not actually work, since clients need onion keys as well as key digests to extend.

svn:r2268
This commit is contained in:
Nick Mathewson 2004-08-18 04:05:30 +00:00
parent fffb4dbb8b
commit adccf3aea6

View File

@ -117,15 +117,16 @@ Tor Rendezvous Spec
PK Bob's public key [KL octets] PK Bob's public key [KL octets]
TS A timestamp [4 octets] TS A timestamp [4 octets]
NI Number of introduction points [2 octets] NI Number of introduction points [2 octets]
Ipt A list of NUL-terminated ORs [variable] Ipt A list of NUL-terminated ORs [variable]
SIG Signature of above fields [variable] SIG Signature of above fields [variable]
KL is the length of PK, in octets. (Currently, KL must be 128.) KL is the length of PK, in octets. (Currently, KL must be 128.)
TS is the number of seconds elapsed since Jan 1, 1970. TS is the number of seconds elapsed since Jan 1, 1970.
The members of Ipt may either be OR nicknames, or IP:Port:ID-key-hash The members of Ipt may either be EITHER nicknames, or identity key
triples. Servers must accept both forms. Before 0.0.7 is obsoleted, digests, encoded in hex, and prefixed with a '$'. Servers must accept
servers should only generate the first form. both forms. Before 0.0.7 is obsoleted, servers should only generate the
first form. After, servers should only generate the second form.
[It's ok for Bob to advertise 0 introduction points. He might want [It's ok for Bob to advertise 0 introduction points. He might want
to do that if he previously advertised some introduction points, to do that if he previously advertised some introduction points,
@ -252,14 +253,14 @@ Tor Rendezvous Spec
RC Rendezvous cookie [20 octets] RC Rendezvous cookie [20 octets]
g^x Diffie-Hellman data, part 1 [128 octets] g^x Diffie-Hellman data, part 1 [128 octets]
OR OR
VER Version byte: set to 4. [1 octet] VER Version byte: set to 1. [1 octet]
RP:IP IP of rendezvous point [4 octets] RP [42 octets]
RP:P Port of rendezvous point [2 octets]
RP:ID ID key hash of rendezvous pt [20 octets]
RC Rendezvous cookie [20 octets] RC Rendezvous cookie [20 octets]
g^x Diffie-Hellman data, part 1 [128 octets] g^x Diffie-Hellman data, part 1 [128 octets]
PK_ID is the hash of Bob's public key. RP is NUL-padded. PK_ID is the hash of Bob's public key. RP is NUL-padded and terminated,
and must contain EITHER a nickname, or an identity key digest, encoded in
hex, and prefixed with a '$'.
Implementations must accept both variants, but should only generate the Implementations must accept both variants, but should only generate the
first so long as Tor 0.0.7 is in use. first so long as Tor 0.0.7 is in use.