From adccf3aea6ef7d33bd5cfcd322d5168b2c12415b Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 18 Aug 2004 04:05:30 +0000 Subject: [PATCH] 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 --- doc/rend-spec.txt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/doc/rend-spec.txt b/doc/rend-spec.txt index c955347fe9..26d8837809 100644 --- a/doc/rend-spec.txt +++ b/doc/rend-spec.txt @@ -117,15 +117,16 @@ Tor Rendezvous Spec PK Bob's public key [KL octets] TS A timestamp [4 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] KL is the length of PK, in octets. (Currently, KL must be 128.) 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 - triples. Servers must accept both forms. Before 0.0.7 is obsoleted, - servers should only generate the first form. + The members of Ipt may either be EITHER nicknames, or identity key + digests, encoded in hex, and prefixed with a '$'. Servers must accept + 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 to do that if he previously advertised some introduction points, @@ -252,14 +253,14 @@ Tor Rendezvous Spec RC Rendezvous cookie [20 octets] g^x Diffie-Hellman data, part 1 [128 octets] OR - VER Version byte: set to 4. [1 octet] - RP:IP IP of rendezvous point [4 octets] - RP:P Port of rendezvous point [2 octets] - RP:ID ID key hash of rendezvous pt [20 octets] + VER Version byte: set to 1. [1 octet] + RP [42 octets] RC Rendezvous cookie [20 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 first so long as Tor 0.0.7 is in use.