aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2004-08-15 20:08:39 +0000
committerNick Mathewson <nickm@torproject.org>2004-08-15 20:08:39 +0000
commit2728a2e971ba128d84c2710505404d79705fc9e1 (patch)
tree0411f246eb4bb9e2c974782970cd1a7d4cb60cd2
parent488aa52f257627cd75d846f6e0ccee7d600baee4 (diff)
downloadtor-2728a2e971ba128d84c2710505404d79705fc9e1.tar
tor-2728a2e971ba128d84c2710505404d79705fc9e1.tar.gz
Add IP:Port:KeyDigest format to rend-spec.txt
svn:r2234
-rw-r--r--doc/rend-spec.txt25
1 files changed, 17 insertions, 8 deletions
diff --git a/doc/rend-spec.txt b/doc/rend-spec.txt
index ac2b0aca8..57bb70d24 100644
--- a/doc/rend-spec.txt
+++ b/doc/rend-spec.txt
@@ -117,21 +117,20 @@ 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 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 @@ Tor Rendezvous Spec
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 @@ Tor Rendezvous Spec
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