aboutsummaryrefslogtreecommitdiff
path: root/doc/tor-spec.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-09-29 03:50:11 +0000
committerNick Mathewson <nickm@torproject.org>2006-09-29 03:50:11 +0000
commit9dbfb91f179be5dbce705e62d267a2aeed54b1cb (patch)
tree3fafca6066a6a5905b52942a290a7e1cad4144b4 /doc/tor-spec.txt
parentfe9481fd1c330373f54b0f3d8c59562b0ec373fc (diff)
downloadtor-9dbfb91f179be5dbce705e62d267a2aeed54b1cb.tar
tor-9dbfb91f179be5dbce705e62d267a2aeed54b1cb.tar.gz
r8997@Kushana: nickm | 2006-09-28 23:40:22 -0400
[Needs review.] Add a BEGIN_DIR relay cell type for an easier in-protocol way to connect to directory servers through Tor. Previously, clients could only connect to director servers over Tor from exit nodes, but couldn't get directory information anonymously from a non-exit cache without getting a directory server involved. This needs testing, and needs client-side code to actually exercise it. svn:r8527
Diffstat (limited to 'doc/tor-spec.txt')
-rw-r--r--doc/tor-spec.txt13
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/tor-spec.txt b/doc/tor-spec.txt
index 61f5fd7f1..af3b73cc0 100644
--- a/doc/tor-spec.txt
+++ b/doc/tor-spec.txt
@@ -624,6 +624,7 @@ TODO:
10 -- RELAY_DROP [forward or backward]
11 -- RELAY_RESOLVE [forward]
12 -- RELAY_RESOLVED [backward]
+ 13 -- RELAY_BEGIN_DIR [forward]
Commands labelled as "forward" must only be sent by the originator
of the circuit. Commands labelled as "backward" must only be sent by
@@ -710,6 +711,16 @@ TODO:
Relay RELAY_DROP cells are long-range dummies; upon receiving such
a cell, the OR or OP must drop it.
+6.2.1. Opening a directory stream
+
+ If a Tor server is a directory server, it should respond to a
+ RELAY_BEGIN_DIR cell as if it had received a BEGIN cell requesting a
+ connection to its directory port. RELAY_BEGIN_DIR cells ignore exit
+ policy, since the stream is local to the Tor process.
+
+ If the Tor server is not running a directory service, it should respond
+ with a REASON_NOTDIRECTORY RELAY_END cell.
+
6.3. Closing streams
When an anonymized TCP connection is closed, or an edge node
@@ -738,6 +749,8 @@ TODO:
12 -- REASON_CONNRESET (Connection was unexpectedly reset)
13 -- REASON_TORPROTOCOL (Sent when closing connection because of
Tor protocol violations.)
+ 14 -- REASON_NOTDIRECTORY (Client send RELAY_BEGIN_DIR to a
+ non-directory server.)
(With REASON_EXITPOLICY, the 4-byte IPv4 address or 16-byte IPv6 address
forms the optional data; no other reason currently has extra data.