diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-12-20 07:54:39 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-12-20 07:54:39 -0500 |
commit | ecf241e224f8be825df43e0fa6475b8689f21ebf (patch) | |
tree | ce85e4b5ddce21d025b1b6764b8ebc025fc42b01 /tor-spec.txt | |
parent | 18fcb9ab42cca4ce963202a22cd1f93f68ecd57c (diff) | |
parent | 11d0fb3de4935bc6b60c65924a245977257d3237 (diff) | |
download | torspec-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.txt | 30 |
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 |