diff options
author | Roger Dingledine <arma@torproject.org> | 2003-06-03 09:51:23 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2003-06-03 09:51:23 +0000 |
commit | 20712dbf234d8754d197abbd7c6663693a920bd9 (patch) | |
tree | f1cc7665d01480ca9ca63ec856813d34a4070e7d /doc | |
parent | f40ddfab2ef8ad02c5cdd3863b121304a80a8f15 (diff) | |
download | tor-20712dbf234d8754d197abbd7c6663693a920bd9.tar.gz tor-20712dbf234d8754d197abbd7c6663693a920bd9.zip |
a few minor notes, still more work to be done
svn:r306
Diffstat (limited to 'doc')
-rw-r--r-- | doc/tor-spec.txt | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/doc/tor-spec.txt b/doc/tor-spec.txt index 588da76b59..fa9f6574d2 100644 --- a/doc/tor-spec.txt +++ b/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 |