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
    Some time after receiving a create cell, an onion router completes
    the DH handshake, and replies with a CREATED cell, containing g^y
    the DH handshake, and replies with a CREATED cell, containing g^y
    as its [128 byte] payload.  Upon receiving a CREATED cell, an onion
    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.
    relay cell, the OP can retrieve g^y.
 
 
    (As an optimization, OR implementations may delay processing onions
    (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):
         'Back' relay cell (opposite direction from CREATE):
             Use Kb as key; decrypt.
             Use Kb as key; decrypt.
    If the OR recognizes the stream ID on the cell (it is either the ID
    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
    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
    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
    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, 
             For I=N...1, 
                 Encrypt with Kb_I.  If the stream ID is a recognized
                 Encrypt with Kb_I.  If the stream ID is a recognized
                 stream for R_I, or if the stream ID is the signaling
                 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.
    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
    code as if RELAY_COMMAND_SENDME is now doing double duty for both
    stream flow control and circuit flow control.  I thought we wanted
    stream flow control and circuit flow control.  I thought we wanted
    two different notions of windows. -NM]
    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
    Each edge node on a circuit sends a SENDME cell
    (with length=100) every time it has received 100 data cells on the
    (with length=100) every time it has received 100 data cells on the