mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
document directory interaction a bit better
svn:r2994
This commit is contained in:
parent
e5e45fe980
commit
7c81603f3a
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user