summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2005-06-27 20:43:07 +0000
committerNick Mathewson <nickm@torproject.org>2005-06-27 20:43:07 +0000
commit68d706a9b0517bbb958d2f72804262a1254ff71d (patch)
treef862ce09d6dca300c4b83efeb5624f06dbb35df8
parent275966abe3031e708dab2f692b3ad0e4ef3bb8ee (diff)
downloadtor-68d706a9b0517bbb958d2f72804262a1254ff71d.tar.gz
tor-68d706a9b0517bbb958d2f72804262a1254ff71d.zip
Make the two rendezvous service descriptor formats distinguishable to simplify the directory interactions a bit.
svn:r4494
-rw-r--r--doc/rend-spec.txt19
1 files changed, 8 insertions, 11 deletions
diff --git a/doc/rend-spec.txt b/doc/rend-spec.txt
index c3793ecbf2..c02a13e923 100644
--- a/doc/rend-spec.txt
+++ b/doc/rend-spec.txt
@@ -114,11 +114,12 @@ $Id$
The "V1" descriptor contains:
+ V Format byte: set to 255 [1 octet]
V Version byte: set to 1 [1 octet]
KL Key length [2 octets]
PK Bob's public key [KL octets]
TS A timestamp [4 octets]
- PROTO Protocol version: bitmask [2 octets]
+ PROTO Protocol versions: bitmask [2 octets]
NI Number of introduction points [2 octets]
For each introduction point: (as in INTRODUCE2 cells)
IP Rendezvous point's address [4 octets]
@@ -184,11 +185,8 @@ $Id$
Bob's OP opens a stream to each directory server's directory port via Tor.
(He may re-use old circuits for this.) Over this stream, Bob's OP makes
- an HTTP 'POST' request, to a URL relative to the directory server's root,
- containing as its body Bob's service descriptor.
-
- For "V1" descriptors, the URL is /tor/rendezvous1/publish
- For "V0" descriptors, the URL is /tor/rendezvous/publish
+ an HTTP 'POST' request, to a URL "/tor/rendezvous/publish" relative to the
+ directory server's root, containing as its body Bob's service descriptor.
Upon receiving a descriptor, the directory server checks the signature,
and discards the descriptor if the signature does not match the enclosed
@@ -226,11 +224,10 @@ $Id$
where '<y> is replaced with the encoding of Bob's public key as described
above. (She may re-use old circuits for this.) The directory replies with
a 404 HTTP response if it does not recognize <y>, and otherwise returns
- Bob's most recently uploaded service descriptor of the appropriate
- version.
-
- (Alice should try to fetch the V1 descriptor first, and only try to fetch
- a V0 descriptor if it is not available.)
+ Bob's most recently uploaded service descriptor. (If Alice requests
+ 'rendezvous1', the directory server provides a V1 descriptor or a V0
+ descriptor if no V1 descriptor is available. If Alice requests
+ 'rendezvous', the directory server returns a V0 descriptor.)
If Alice's OP receives a 404 response, it tries the other directory
servers, and only fails the lookup if none recognizes the public key hash.