Browse Source

a few minor notes, still more work to be done

svn:r306
Roger Dingledine 22 years ago
parent
commit
20712dbf23
1 changed files with 12 additions and 7 deletions
  1. 12 7
      doc/tor-spec.txt

+ 12 - 7
doc/tor-spec.txt

@@ -380,8 +380,8 @@ which reveals the downstream node.
    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 @@ which reveals the downstream node.
         '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 @@ which reveals the downstream node.
             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 @@ which reveals the downstream node.
    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