Browse Source

document directory interaction a bit better

svn:r2994
Roger Dingledine 19 years ago
parent
commit
7c81603f3a
2 changed files with 21 additions and 7 deletions
  1. 7 7
      doc/rend-spec.txt
  2. 14 0
      doc/tor-spec.txt

+ 7 - 7
doc/rend-spec.txt

@@ -166,7 +166,7 @@ $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 the URL
-   '/rendezvous/publish' (relative to the directory server's root),
+   '/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 public key.  Next,
@@ -199,12 +199,12 @@ $Id$
 
 1.6. Alice's OP retrieves a service descriptor
 
-   Alice opens a stream to a directory server via Tor, and makes an HTTP GET
-   request for the document '/rendezvous/<y>', 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.
+   Alice opens a stream to a directory server via Tor, and makes an
+   HTTP GET request for the document '/tor/rendezvous/<y>', 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.
 
    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.

+ 14 - 0
doc/tor-spec.txt

@@ -802,6 +802,20 @@ entries.
 lists nodes that are connected currently
 speaks http on a socket, spits out directory on request
 
+Directory servers listen on a certain port (the DirPort), and speak a
+limited version of HTTP 1.0. Clients send either GET or POST commands.
+The basic interactions are:
+  "%s %s HTTP/1.0\r\nContent-Length: %lu\r\nHost: %s\r\n\r\n",
+    command, url, content-length, host.
+  Get "/tor/" to fetch a full directory.
+  Get "/tor/dir.z" to fetch a compressed full directory.
+  Get "/tor/running-routers" to fetch a network-status descriptor.
+  Post "/tor/" to post a server descriptor, with the body of the
+    request containing the descriptor.
+
+  "host" is used to specify the address:port of the dirserver, so
+  the request can survive going through http proxies.
+
 A.1. Differences between spec and implementation
 
 - The current specification requires all ORs to have IPv4 addresses, but