diff options
author | Nick Mathewson <nickm@torproject.org> | 2013-03-13 13:20:51 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-03-14 12:42:15 -0400 |
commit | 8d7b559728a5361b9379d75a8e0741bc6ffd5881 (patch) | |
tree | b2aca729d7daf4eeae979cb63049f675ca64d09b /tor-spec.txt | |
parent | 2e695e7674ba9f8d5ca712578db6ea67d5be0092 (diff) | |
download | torspec-8d7b559728a5361b9379d75a8e0741bc6ffd5881.tar.gz torspec-8d7b559728a5361b9379d75a8e0741bc6ffd5881.zip |
Document IPv6-exit features in the specs
Closes proposals 117 and 208
Diffstat (limited to 'tor-spec.txt')
-rw-r--r-- | tor-spec.txt | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/tor-spec.txt b/tor-spec.txt index 0c333e7..6831744 100644 --- a/tor-spec.txt +++ b/tor-spec.txt @@ -1252,14 +1252,27 @@ see tor-design.pdf. and constructs a RELAY_BEGIN cell with a payload encoding the address and port of the destination host. The payload format is: - ADDRESS | ':' | PORT | [00] + ADDRPORT [nul-terminated string] + FLAGS [4 bytes] + + ADDRPORT is made of ADDRESS | ':' | PORT | [00] where ADDRESS can be a DNS hostname, or an IPv4 address in dotted-quad format, or an IPv6 address surrounded by square brackets; and where PORT is a decimal integer between 1 and 65535, inclusive. - [What is the [00] for? -NM] - [It's so the payload is easy to parse out with string funcs -RD] + The FLAGS value has one or more of the following bits set, where + "bit 1" is the LSB of the 32-bit value, and "bit 32" is the MSB. + bit meaning + 1 -- IPv6 okay. We support learning about IPv6 addresses and + connecting to IPv6 addresses. + 2 -- IPv4 not okay. We don't want to learn about IPv4 addresses + or connect to them. + 3 -- IPv6 preferred. If there are both IPv4 and IPv6 addresses, + we want to connect to the IPv6 one. (By default, we connect + to the IPv4 address.) + 4..32 -- Reserved. Current clients MUST NOT set these. Servers + MUST ignore them. Upon receiving this cell, the exit node resolves the address as necessary, and opens a new TCP connection to the target port. If the |