From 84ec78bcf8d3963a155aba3ff19cf330e9e8d5be Mon Sep 17 00:00:00 2001
From: Roger Dingledine <arma@torproject.org>
Date: Wed, 1 Oct 2003 01:56:46 +0000
Subject: [PATCH] update the spec wrt choosing aci's

svn:r530
---
 doc/tor-spec.txt | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/doc/tor-spec.txt b/doc/tor-spec.txt
index f4d7ed5d8c..9f6e0fdfe5 100644
--- a/doc/tor-spec.txt
+++ b/doc/tor-spec.txt
@@ -175,9 +175,9 @@ which reveals the downstream node.
          open a new connection to that router.
 
       3. Choose an ACI not already in use on the connection with the
-         first router in the chain.  If our address/port pair is
-         numerically higher than the address/port pair of the other
-         side, then let the high bit of the ACI be 1, else 0.
+         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.
 
       4. Send a CREATE cell along the connection, to be received by
          the first onion router.
@@ -202,8 +202,9 @@ 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 random
-   ACI not yet used on the connection between the two onion routers.
+   as its payload.  The initiating onion router chooses some ACI not
+   yet used on the connection between the two onion routers.  (But see
+   section 4.3. above, concerning choosing ACIs.)
 
    As an extension (called router twins), if the desired next onion
    router R in the circuit is down, and some other onion router R'
-- 
GitLab