summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2005-03-22 19:36:38 +0000
committerNick Mathewson <nickm@torproject.org>2005-03-22 19:36:38 +0000
commit7a0072cc1a70b42dd38c58ac20fe873c48beeace (patch)
treec3a79af68b99022e1045f62de02e0d76cfce8a82 /doc
parentec81f870181940909507fd5356fa5ecc11c7440e (diff)
downloadtor-7a0072cc1a70b42dd38c58ac20fe873c48beeace.tar.gz
tor-7a0072cc1a70b42dd38c58ac20fe873c48beeace.zip
Specify and implement close-stream and close-circuit control messages
svn:r3814
Diffstat (limited to 'doc')
-rw-r--r--doc/TODO17
-rw-r--r--doc/control-spec.txt23
2 files changed, 34 insertions, 6 deletions
diff --git a/doc/TODO b/doc/TODO
index 0f19b860c6..77fd8adc3c 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -62,7 +62,7 @@ N . Switch to libevent
R o Reset uptime when IP changes.
Functionality
-N . Implement pending controller features.
+ o Implement pending controller features.
o Stubs for new functions.
o GETINFO
o Version
@@ -84,9 +84,9 @@ N . Implement pending controller features.
o Event for "new descriptors"
o Better stream IDs
o Stream status changed: "new" state.
- - EXTENDCIRCUIT
-R - revised circ selection stuff.
- - Implement controller interface.
+ o EXTENDCIRCUIT
+ o revised circ selection stuff.
+ o Implement controller interface.
o ATTACHSTREAM
o Make streams have an 'unattached and not-automatically-attachable'
state. ("Controller managed.")
@@ -96,8 +96,13 @@ R - revised circ selection stuff.
o Time out never-attached streams.
o If we never get a CONNECTED back, we should put the stream back in
CONTROLLER_WAIT, not in CIRCUIT_WAIT.
- - Add a way for the controller to say, "Hey, nuke this stream."
- - Tests for new controller features
+ o Add a way for the controller to say, "Hey, nuke this stream."
+ o Specify
+ o Implement
+ o Add a way for the controller to say, "Hey, nuke this circuit."
+ o Specify
+ o Implement
+ - Tests for new controller features
R o HTTPS proxy for OR CONNECT stuff. (For outgoing SSL connections to
other ORs.)
o Changes for forward compatibility
diff --git a/doc/control-spec.txt b/doc/control-spec.txt
index b1092eeb34..ed7ec4bfd5 100644
--- a/doc/control-spec.txt
+++ b/doc/control-spec.txt
@@ -417,6 +417,29 @@ the message.
after a new stream event is received, and before attaching this stream to
a circuit.
+3.20 CLOSESTREAM (Type 0x0013)
+
+ Sent from the client to the server. The message body contains three
+ fields:
+ Stream ID [4 octets]
+ Reason [1 octet]
+ Flags [1 octet]
+
+ Tells the server to close the specified stream. The reason should be one
+ of the Tor RELAY_END reasons given in tor-spec.txt. If the LSB of the
+ flags field is nonzero, and the stream wants to write data, Tor tries to
+ hold the stream open for a while until it can be flushed.
+
+3.21 CLOSECIRCUIT (Type 0x0014)
+
+ Sent from the client to the server. The message body contains two
+ fields:
+ Circuit ID [4 octets]
+ Flags [1 octet]
+
+ Tells the server to close the specified circuit. If the LSB of the flags
+ field is nonzero, do not close the circuit unless it is unused.
+
4. Implementation notes
4.1. There are four ways we could authenticate, for now: