[or-cvs] a few minor notes, still more work to be done

Roger Dingledine arma at seul.org
Tue Jun 3 09:51:26 UTC 2003

Update of /home/or/cvsroot/doc
In directory moria.mit.edu:/home/arma/work/onion/cvs/doc

Modified Files:
Log Message:
a few minor notes, still more work to be done

Index: tor-spec.txt
RCS file: /home/or/cvsroot/doc/tor-spec.txt,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- tor-spec.txt	3 Jun 2003 06:45:06 -0000	1.15
+++ tor-spec.txt	3 Jun 2003 09:51:23 -0000	1.16
@@ -380,8 +380,8 @@
    Some time after receiving a create cell, an onion router completes
    the DH handshake, and replies with a CREATED cell, containing g^y
    as its [128 byte] payload.  Upon receiving a CREATED cell, an onion
-   router packs it payload into a CREATED relay cell (see section 5),
-   and sends that cell up the circuit.  Upon receiving the CREATED
+   router packs it payload into an EXTENDED relay cell (see section 5),
+   and sends that cell up the circuit.  Upon receiving the EXTENDED
    relay cell, the OP can retrieve g^y.
    (As an optimization, OR implementations may delay processing onions
@@ -423,11 +423,13 @@
         'Back' relay cell (opposite direction from CREATE):
             Use Kb as key; decrypt.
    If the OR recognizes the stream ID on the cell (it is either the ID
-   of an open stream or the signaling ID, zero), the OR processes the
+   of an open stream or the signaling (zero) ID), the OR processes the
    contents of the relay cell.  Otherwise, it passes the decrypted
-   relay cell along the circuit.  [What if the circuit doesn't go any
-   farther?]
+   relay cell along the circuit if the circuit continues, or drops the
+   cell if it's the end of the circuit. [Getting an unrecognized
+   relay cell at the end of the circuit must be allowed for now;
+   we can reexamine this once we've designed full tcp-style close
+   handshakes. -RD]
    Otherwise, if the data cell is coming from the OP edge of the
    circuit, the OP decrypts the length and payload fields with 3DES/OFB as
@@ -442,7 +444,7 @@
             For I=N...1, 
                 Encrypt with Kb_I.  If the stream ID is a recognized
                 stream for R_I, or if the stream ID is the signaling
-                ID, zero, then process the payload.
+                ID (zero), then stop and process the payload.
    For more information, see section 5 below.
@@ -547,6 +549,9 @@
    code as if RELAY_COMMAND_SENDME is now doing double duty for both
    stream flow control and circuit flow control.  I thought we wanted
    two different notions of windows. -NM]
+   [We do have two different 'levels' of windows. The relay sendme command
+    is talking about a stream for non-zero stream id, and talking about
+    the circuit for zero stream id. -RD]
    Each edge node on a circuit sends a SENDME cell
    (with length=100) every time it has received 100 data cells on the

More information about the tor-commits mailing list