aboutsummaryrefslogtreecommitdiff
path: root/doc/tor-spec.txt
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2006-07-17 05:12:54 +0000
committerRoger Dingledine <arma@torproject.org>2006-07-17 05:12:54 +0000
commit48ea06ea02f3416f06b41919987ec9babf429e94 (patch)
treefee1134c67427f7aa873ea906906a6724e5e689e /doc/tor-spec.txt
parentb4433c674d3d074aa2fdb994fbd82b160dabb390 (diff)
downloadtor-48ea06ea02f3416f06b41919987ec9babf429e94.tar
tor-48ea06ea02f3416f06b41919987ec9babf429e94.tar.gz
nick suggests that the hello cell should have both server IP and
client IP. he's right. svn:r6771
Diffstat (limited to 'doc/tor-spec.txt')
-rw-r--r--doc/tor-spec.txt12
1 files changed, 7 insertions, 5 deletions
diff --git a/doc/tor-spec.txt b/doc/tor-spec.txt
index 6045fc0c5..15ad50623 100644
--- a/doc/tor-spec.txt
+++ b/doc/tor-spec.txt
@@ -748,9 +748,8 @@ when do we rotate which keys (tls, link, etc)?
Version [1 byte]
Timestamp [4 bytes]
- Number of addresses [1 byte]
- Addresses [variable]
- others?
+ Server-side address [variable]
+ Client-side address [variable]
Version is the "link version", and dictates what types and formats
of cells can be sent/received. It should be 1. A Tor connection is
@@ -760,12 +759,15 @@ when do we rotate which keys (tls, link, etc)?
Timestamp is the OR's current Unix time (GMT).
Each address contains Type/Length/Value as used in Section 5.4.
- This section lists all addresses that the OR has published and is
- listening to now -- we include them to block a man-in-the-middle
+ The first address is the one that the OR has published and is
+ listening to now -- we include it to block a man-in-the-middle
attack on TLS that lets an attacker bounce traffic through his own
computers to enable timing and packet-counting attacks.
[Do we want to provide just one address? Do we want to be more
general by accepting netmasks or something? -RD]
+ The second address is the one that the client OP or OR has used to
+ connect to the server -- it can be used to learn what your IP address
+ is if you have no other hints.
If we receive a HELLO cell with a version we do not recognize, we drop
it. If we receive a HELLO cell with a version that is older than the