[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] integrating changes related to building circuits, assigning...



Update of /home/or/cvsroot/tor/doc
In directory moria.mit.edu:/tmp/cvs-serv18829

Modified Files:
	control-spec.txt 
Log Message:
integrating changes related to building circuits, assigning streams, and exchanging descriptors (discussed on return trip from airport)


Index: control-spec.txt
===================================================================
RCS file: /home/or/cvsroot/tor/doc/control-spec.txt,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- control-spec.txt	9 Feb 2005 02:24:16 -0000	1.14
+++ control-spec.txt	16 Feb 2005 19:49:39 -0000	1.15
@@ -96,7 +96,8 @@
 3.2. DONE (Type 0x0001)
 
   Sent from server to client in response to a request that was successfully
-  completed, with no more information needed.  The body is empty.
+  completed, with no more information needed.  The body is usually empty but
+  may contain a message.
 
 3.3. SETCONF (Type 0x0002)
 
@@ -173,7 +174,7 @@
 
                 Status [1 octet]
                    (Sent connect=0,sent resolve=1,succeeded=2,failed=3,
-                    closed=4)
+                    closed=4, new=5)
                 Stream ID [4 octets]
                    (Must be unique to Tor process/time)
                 Target (NUL-terminated address-port string]
@@ -193,6 +194,11 @@
 
                 Message [NUL-terminated]
 
+      0x0006 -- New descriptors available
+
+                OR List [NUL-terminated, comma-delimited list of
+                    OR nickname/identity]
+
 3.8. AUTHENTICATE (Type 0x0007)
 
   Sent from the client to the server.  Contains a 'magic cookie' to prove
@@ -290,6 +296,74 @@
   ADDRESSMAPPED message for each current address mapping set by MAPADDRESS or
   otherwise, followed by a DONE message.
 
+3.14 EXTENDCIRCUIT (Type 0x000D)
+
+  [Proposal; not finalized]
+
+  Sent from the client to the server.  The message body contains two fields:
+      Circuit ID [4 octets]
+      Path [NUL-terminated, comma-delimited string of OR nickname/identity]
+
+  This request takes one of two forms: either the Circuit ID is zero, in
+  which case it is a request for the server to build a new circuit according
+  to the specified path, or the Circuit ID is nonzero, in which case it is a 
+  request for the server to extend an existing circuit with that ID according
+  to the specified path.
+
+  If the request for a NEW circuit is successful, then the resultant DONE
+  message will contain a message body consisting of the four-octet Circuit ID
+  of the newly created circuit.
+
+3.15 ATTACHSTREAM (Type 0x000E)
+
+  [Proposal; not finalized]
+
+  Sent from the client to the server.  The message body contains two fields:
+      Stream ID [4 octets]
+      Circuit ID [4 octets]
+
+  This message informs the server that the specified stream should be
+  associated with the specified circuit.  Each stream may be associated with
+  at most one circuit, and multiple streams may share the same circuit.
+
+3.16 GETDESCRIPTOR (Type 0x000F)
+
+  [Proposal; not finalized]
+
+  Sent from the client to the server.  The message body contains one field:
+      OR nickname/identity [NUL-terminated]
+
+  This message informs the server that it should send to the client a
+  complete descriptor corresponding to the specified router.  If the router
+  field is non-empty, and the server has a descriptor for the router
+  specified, then the server should return the descriptor in the body of its
+  DONE message:
+      Descriptor [NUL-terminated string]
+
+  (If the server does not have a descriptor for the router specified, then
+  it should return an error.)
+
+  If the GETDESCRIPTOR message contains an empty body, then the server
+  should interpret the message as a request to send its list of descriptors.
+  The server then provides this list  in the body of its DONE message:
+      OR List [NUL-terminated, comma-delimited list of OR nickname/identity]
+
+4.16 POSTDESCRIPTOR (Type 0x0010)
+
+  [Proposal; not finalized]
+
+  Sent from the client to the server.  The message body contains one field:
+      Descriptor [NUL-terminated string]
+
+  This message informs the server about a new descriptor.
+
+  The descriptor, when parsed, must contain a number of well-specified
+  fields, including fields for its nickname and identity.
+
+  If there is an error in parsing the descriptor, or if the server rejects
+  the descriptor for any reason, the server should send an appropriate error
+  message.
+
 4. Implementation notes
 
 4.1. There are four ways we could authenticate, for now: