Commit adccf3ae authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Specify formats to use $KEYID in service descriptors, INTRODUCE cells. The...

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
parent fffb4dbb
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -123,9 +123,10 @@ Tor Rendezvous Spec
   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.