diff options
author | Nick Mathewson <nickm@torproject.org> | 2003-11-11 02:36:50 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2003-11-11 02:36:50 +0000 |
commit | 894b1bc5d05ba263874d4b24caca44d2b6a2ae38 (patch) | |
tree | 066c193013610cd4ffbf31c9da5b0f1752ba7f3a | |
parent | 1c37f631ff28e82720aec3c0f083b326dc0e38c8 (diff) | |
download | tor-894b1bc5d05ba263874d4b24caca44d2b6a2ae38.tar tor-894b1bc5d05ba263874d4b24caca44d2b6a2ae38.tar.gz |
clean up some TODO items; rename ACI to circID
svn:r782
-rw-r--r-- | doc/TODO | 15 | ||||
-rw-r--r-- | doc/tor-spec.txt | 22 |
2 files changed, 19 insertions, 18 deletions
@@ -1,10 +1,10 @@ -rename ACI to CircID -rotate tls-level connections -- make new ones, expire old ones. -dirserver shouldn't put you in running-routers list if you haven't - uploaded a descriptor recently -look at having smallcells and largecells -separate trying to rebuild a circuit because you have none from trying to rebuild a - circuit because the current one is stale +Issues identified while writing paper: + - Rotate tls-level connections -- make new ones, expire old ones. + - Dirserver shouldn't put you in running-routers list if you haven't + uploaded a descriptor recently + - Look at having smallcells and largecells + - separate trying to rebuild a circuit because you have none from trying + to rebuild a circuit because the current one is stale <nickm> If I compromise a node, and streamIDs are sequential, I learn how many streams have been open and closed on this circuit at this point. @@ -27,6 +27,7 @@ ARMA - arma claims X Abandoned Short-term: + - Rename ACI to circID . integrate rep_ok functions, see what breaks - update tor faq o obey SocksBindAddress, ORBindAddress diff --git a/doc/tor-spec.txt b/doc/tor-spec.txt index b20a699d0..39b629192 100644 --- a/doc/tor-spec.txt +++ b/doc/tor-spec.txt @@ -8,18 +8,18 @@ design as it stands; future versions of Tor will implement improved protocols. TODO: (very soon) - - Specify truncate/truncated + - Specify truncate/truncated payloads? + - Specify RELAY_END payloads. [It's 1 byte of reason, then X bytes of + data, right?] - Sendme w/stream0 is circuit sendme - Integrate -NM and -RD comments - EXTEND cells should have hostnames or nicknames, so that OPs never resolve OR hostnames. Else DNS servers can give different answers to different OPs, and compromise their anonymity. - - Rename ACI to circID EVEN LATER: - Do TCP-style sequencing and ACKing of DATA cells so that we can afford to lose some data cells. - - 0. Notation: @@ -85,7 +85,7 @@ which reveals the downstream node. proxies is a fixed-width "cell". Each cell contains the following fields: - ACI (anonymous circuit identifier) [2 bytes] + CircID [2 bytes] Command [1 byte] Length [1 byte] Sequence number (unused, set to 0) [4 bytes] @@ -184,10 +184,10 @@ which reveals the downstream node. 2. If not already connected to the first router in the chain, open a new connection to that router. - 3. Choose an ACI not already in use on the connection with the + 3. Choose a circID not already in use on the connection with the first router in the chain. If we are an onion router and our nickname is lexicographically greater than the nickname of the - other side, then let the high bit of the ACI be 1, else 0. + other side, then let the high bit of the circID be 1, else 0. 4. Send a CREATE cell along the connection, to be received by the first onion router. @@ -212,16 +212,16 @@ which reveals the downstream node. When an onion router receives an EXTEND relay cell, it sends a CREATE cell to the next onion router, with the enclosed onion skin - as its payload. The initiating onion router chooses some ACI not + as its payload. The initiating onion router chooses some circID not yet used on the connection between the two onion routers. (But see - section 4.3. above, concerning choosing ACIs.) + section 4.3. above, concerning choosing circIDs.) As an extension (called router twins), if the desired next onion router R in the circuit is down, and some other onion router R' has the same key as R, then it's ok to extend to R' rather than R. When an onion router receives a CREATE cell, if it already has a - circuit on the given connection with the given ACI, it drops the + circuit on the given connection with the given circID, it drops the cell. Otherwise, sometime after receiving the CREATE cell, it 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 @@ -242,7 +242,7 @@ which reveals the downstream node. To tear down a circuit completely, an OR or OP sends a DESTROY cell to the adjacent nodes on that circuit, using the appropriate - direction's ACI. + direction's circID. Upon receiving an outgoing DESTROY cell, an OR frees resources associated with the corresponding circuit. If it's not the end of @@ -269,7 +269,7 @@ which reveals the downstream node. 4.5. Routing data cells - When an OR receives a RELAY cell, it checks the cell's ACI and + When an OR receives a RELAY cell, it checks the cell's circID and determines whether it has a corresponding circuit along that connection. If not, the OR drops the RELAY cell. |