aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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: