aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2003-11-11 02:36:50 +0000
committerNick Mathewson <nickm@torproject.org>2003-11-11 02:36:50 +0000
commit894b1bc5d05ba263874d4b24caca44d2b6a2ae38 (patch)
tree066c193013610cd4ffbf31c9da5b0f1752ba7f3a
parent1c37f631ff28e82720aec3c0f083b326dc0e38c8 (diff)
downloadtor-894b1bc5d05ba263874d4b24caca44d2b6a2ae38.tar
tor-894b1bc5d05ba263874d4b24caca44d2b6a2ae38.tar.gz
clean up some TODO items; rename ACI to circID
svn:r782
-rw-r--r--doc/TODO15
-rw-r--r--doc/tor-spec.txt22
2 files changed, 19 insertions, 18 deletions
diff --git a/doc/TODO b/doc/TODO
index 81fed95f3..3a44aa40a 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -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.