summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2004-11-27 05:23:59 +0000
committerRoger Dingledine <arma@torproject.org>2004-11-27 05:23:59 +0000
commit7c81603f3ab4c89a130557cd94852ba2193e9c74 (patch)
tree1caad501737b0439ddaa6f87561e692a5a23ded9
parente5e45fe980b0b45004cc7a32d7896a9b2f1ff6e3 (diff)
downloadtor-7c81603f3ab4c89a130557cd94852ba2193e9c74.tar.gz
tor-7c81603f3ab4c89a130557cd94852ba2193e9c74.zip
document directory interaction a bit better
svn:r2994
-rw-r--r--doc/rend-spec.txt14
-rw-r--r--doc/tor-spec.txt14
2 files changed, 21 insertions, 7 deletions
diff --git a/doc/rend-spec.txt b/doc/rend-spec.txt
index ffe24dd501..21f30c0138 100644
--- a/doc/rend-spec.txt
+++ b/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.
diff --git a/doc/tor-spec.txt b/doc/tor-spec.txt
index 9d180b4405..0f5c212395 100644
--- a/doc/tor-spec.txt
+++ b/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