Browse Source

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
Nick Mathewson 21 years ago
parent
commit
adccf3aea6
1 changed files with 10 additions and 9 deletions
  1. 10 9
      doc/rend-spec.txt

+ 10 - 9
doc/rend-spec.txt

@@ -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
-   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
    [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]
-          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]
           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.