diff options
author | Roger Dingledine <arma@torproject.org> | 2004-11-27 05:23:59 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2004-11-27 05:23:59 +0000 |
commit | 7c81603f3ab4c89a130557cd94852ba2193e9c74 (patch) | |
tree | 1caad501737b0439ddaa6f87561e692a5a23ded9 | |
parent | e5e45fe980b0b45004cc7a32d7896a9b2f1ff6e3 (diff) | |
download | tor-7c81603f3ab4c89a130557cd94852ba2193e9c74.tar.gz tor-7c81603f3ab4c89a130557cd94852ba2193e9c74.zip |
document directory interaction a bit better
svn:r2994
-rw-r--r-- | doc/rend-spec.txt | 14 | ||||
-rw-r--r-- | doc/tor-spec.txt | 14 |
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 |