aboutsummaryrefslogtreecommitdiff
path: root/tor-spec.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-12-20 07:54:39 -0500
committerNick Mathewson <nickm@torproject.org>2018-12-20 07:54:39 -0500
commitecf241e224f8be825df43e0fa6475b8689f21ebf (patch)
treece85e4b5ddce21d025b1b6764b8ebc025fc42b01 /tor-spec.txt
parent18fcb9ab42cca4ce963202a22cd1f93f68ecd57c (diff)
parent11d0fb3de4935bc6b60c65924a245977257d3237 (diff)
downloadtorspec-ecf241e224f8be825df43e0fa6475b8689f21ebf.tar.gz
torspec-ecf241e224f8be825df43e0fa6475b8689f21ebf.zip
Merge remote-tracking branch 'tor-github/pr/46'
Diffstat (limited to 'tor-spec.txt')
-rw-r--r--tor-spec.txt30
1 files changed, 21 insertions, 9 deletions
diff --git a/tor-spec.txt b/tor-spec.txt
index f4d3f53..763f0f9 100644
--- a/tor-spec.txt
+++ b/tor-spec.txt
@@ -852,15 +852,27 @@ see tor-design.pdf.
If version 2 or higher is negotiated, each party sends the other a
NETINFO cell. The cell's payload is:
- Timestamp [4 bytes]
- Other OR's address [variable]
- Number of addresses [1 byte]
- This OR's addresses [variable]
-
- The address format is a type/length/value sequence as given in
- section 6.4 below, without the final TTL. The timestamp is a
- big-endian unsigned integer number of seconds since the Unix epoch.
- Implementations MUST ignore unexpected bytes at the end of the cell.
+ TIME (Timestamp) [4 bytes]
+ OTHERADDR (Other OR's address) [variable]
+ ATYPE (Address type) [1 byte]
+ ALEN (Adress length) [1 byte]
+ AVAL (Address value in NBO) [ALEN bytes]
+ NMYADDR (Number of this OR's addresses) [1 byte]
+ NMYADDR times:
+ ATYPE (Address type) [1 byte]
+ ALEN (Adress length) [1 byte]
+ AVAL (Address value in NBO)) [ALEN bytes]
+
+ Recognized address types (ATYPE) are:
+ [04] IPv4.
+ [06] IPv6.
+
+ ALEN MUST be 4 when ATYPE is 0x04 (IPv4) and 16 when ATYPE is 0x06
+ (IPv6).
+
+ The timestamp is a big-endian unsigned integer number of seconds
+ since the Unix epoch. Implementations MUST ignore unexpected bytes
+ at the end of the cell.
Implementations MAY use the timestamp value to help decide if their
clocks are skewed. Initiators MAY use "other OR's address" to help