[or-cvs] Add IP:Port:KeyDigest format to rend-spec.txt

Nick Mathewson nickm at seul.org
Sun Aug 15 20:08:42 UTC 2004


Update of /home/or/cvsroot/doc
In directory moria.mit.edu:/tmp/cvs-serv20315/doc

Modified Files:
	rend-spec.txt 
Log Message:
Add IP:Port:KeyDigest format to rend-spec.txt

Index: rend-spec.txt
===================================================================
RCS file: /home/or/cvsroot/doc/rend-spec.txt,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- rend-spec.txt	28 Apr 2004 20:01:54 -0000	1.18
+++ rend-spec.txt	15 Aug 2004 20:08:39 -0000	1.19
@@ -117,21 +117,20 @@
          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 OR nicknames [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.
+
    [It's ok for Bob to advertise 0 introduction points. He might want
     to do that if he previously advertised some introduction points,
     and now he doesn't have any. -RD]
 
-   [Shouldn't the nicknames be hostname:port's instead?  That way, Alice's
-   directory servers don't need to know Bob's chosen introduction points.
-   Not important now, but essential if we ever have a non-total-knowledge
-   design. -NM]
-
 1.3. Bob's OP establishes his introduction points.
 
    The OP establishes a new introduction circuit to each introduction
@@ -160,7 +159,7 @@
    currently associated with PK.  On success, the OR sends Bob a
    RELAY_INTRO_ESTABLISHED cell with an empty payload.
 
-1.4. Bob's OP advertises his server descriptor
+1.4. Bob's OP advertises his service descriptor
 
    Bob's OP opens a stream to each directory server's directory port via Tor.
    (He may re-use old circuits for this.)
@@ -251,10 +250,20 @@
        Encrypted to Bob's PK:
           RP     Rendezvous point's nickname  [20 octets]
           RC     Rendezvous cookie            [20 octets]
-          g^x    Diffie-Hellman data, part 1 [128 octetes]
+          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]
+          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.
 
+   Implementations must accept both variants, but should only generate the
+   first so long as Tor 0.0.7.
+
    The hybrid encryption to Bob's PK works just like the hybrid
    encryption in CREATE cells (see main spec). Thus the payload of the
    RELAY_INTRODUCE1 cell on the wire will contain 20+42+16+20+20+128=246



More information about the tor-commits mailing list