aboutsummaryrefslogtreecommitdiff
path: root/proposals/229-further-socks5-extensions.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-02-28 12:01:53 -0500
committerNick Mathewson <nickm@torproject.org>2014-02-28 12:01:53 -0500
commit6fdf4273d1b51bd2dceaf6225497b43d47521580 (patch)
tree73a10d7e110cc31c444e377479372c4ef8e5f740 /proposals/229-further-socks5-extensions.txt
parent8f5b73e80649e7efe48c19487ce478402a409ce6 (diff)
downloadtorspec-6fdf4273d1b51bd2dceaf6225497b43d47521580.tar.gz
torspec-6fdf4273d1b51bd2dceaf6225497b43d47521580.zip
make proposal 229 a little more terse; add a meta-MUST
Diffstat (limited to 'proposals/229-further-socks5-extensions.txt')
-rw-r--r--proposals/229-further-socks5-extensions.txt44
1 files changed, 14 insertions, 30 deletions
diff --git a/proposals/229-further-socks5-extensions.txt b/proposals/229-further-socks5-extensions.txt
index 8090528..400712c 100644
--- a/proposals/229-further-socks5-extensions.txt
+++ b/proposals/229-further-socks5-extensions.txt
@@ -44,6 +44,13 @@ Status: Draft
After the authentication method has been negotiated following the
standard SOCKS5 protocol, the actual authentication phase begins.
+ If any requirement labeled with a "MUST" below in this protocol
+ is violated, the party receiving the violation MUST close the
+ connection.
+
+ All multibyte numeric values in this protocol MUST be transmitted
+ in network (big-endian) byte order.
+
The initiator will send an Extended Authentication request:
+----+----------+-------+-------------+-------+-------------+---
@@ -60,24 +67,21 @@ Status: Draft
NR PAIRS: 16 bits (unsigned integer)
This field specifies the number of key/value pairs to follow.
- The NR PAIRS field MUST be transmitted in network byte order.
KLEN: 16 bits (unsigned integer)
This field specifies the length of the key in bytes. It MUST
- be transmitted in network byte order, and MUST be greater
- than 0.
+ be greater than 0.
KEY: variable length
This field contains the key associated with the subsequent
- VALUE field as an ASCII string, without a NULL terminator.
+ VALUE field as an ASCII string, without a NUL terminator.
VLEN: 16 bits (unsigned integer)
- This field specifies the length of the value in bytes. It
- MUST be transmitted in network byte order. It MAY be
- X'0000', in which case the corresponding VALUE field is
+ This field specifies the length of the value in bytes. It MAY
+ be X'0000', in which case the corresponding VALUE field is
omitted.
VALUE: variable length, optional
@@ -110,31 +114,11 @@ Status: Draft
If a server sends a response indicating failure (STATUS value
other than X'00') it MUST close the connection.
- NR PAIRS: 16 bits (unsigned integer)
-
- This field specifies the number of key/value pairs to follow.
- The NR PAIRS field MUST be transmitted in network byte order.
-
- KLEN: 16 bits (unsigned integer)
-
- This field specifies the length of the key in bytes. It MUST be
- transmitted in network byte order, and MUST be greater than 0.
-
- KEY: variable length
+ NR PAIRS, KLEN, KEY, VLEN, VALUE:
- This field contains the key associated with the subsequent
- VALUE field as an ASCII string, without a NULL terminator.
+ These fields have the same format as they do in Extended
+ Authentication requests.
- VLEN: 16 bits (unsigned integer)
-
- This field specifies the length of the value in bytes. It
- MUST be transmitted in network byte order. It MAY be
- X'0000', in which case the corresponding VALUE field is
- omitted.
-
- VALUE: variable length, optional
-
- The value corresponding to the KEY.
The currently defined KEYs are: