12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /*
- * Constants used in the SOCKS protocols.
- */
- /* Command codes common to both versions */
- #define SOCKS_CMD_CONNECT 1
- #define SOCKS_CMD_BIND 2
- /* SOCKS 4 definitions */
- #define SOCKS4_REQUEST_VERSION 4
- #define SOCKS4_REPLY_VERSION 0
- #define SOCKS4_RESP_SUCCESS 90
- #define SOCKS4_RESP_FAILURE 91
- #define SOCKS4_RESP_WANT_IDENTD 92
- #define SOCKS4_RESP_IDENTD_MISMATCH 93
- /*
- * Special nonsense IP address range, used as a signal to indicate
- * that an ASCIZ hostname follows the user id field.
- *
- * Strictly speaking, the use of this extension indicates that we're
- * speaking SOCKS 4A rather than vanilla SOCKS 4, although we don't
- * bother to draw the distinction.
- */
- #define SOCKS4A_NAME_FOLLOWS_BASE 0x00000001 /* inclusive */
- #define SOCKS4A_NAME_FOLLOWS_LIMIT 0x00000100 /* exclusive */
- /* SOCKS 5 definitions */
- #define SOCKS5_REQUEST_VERSION 5
- #define SOCKS5_REPLY_VERSION 5
- /* Extra command codes extending the SOCKS_CMD_* list above */
- #define SOCKS5_CMD_UDP_ASSOCIATE 3
- #define SOCKS5_AUTH_NONE 0
- #define SOCKS5_AUTH_GSSAPI 1
- #define SOCKS5_AUTH_PASSWORD 2
- #define SOCKS5_AUTH_CHAP 3
- #define SOCKS5_AUTH_REJECTED 0xFF /* used in reply to indicate 'no
- * acceptable method offered' */
- #define SOCKS5_AUTH_PASSWORD_VERSION 1
- #define SOCKS5_AUTH_CHAP_VERSION 1
- #define SOCKS5_AUTH_CHAP_ATTR_STATUS 0x00
- #define SOCKS5_AUTH_CHAP_ATTR_INFO 0x01
- #define SOCKS5_AUTH_CHAP_ATTR_USERNAME 0x02
- #define SOCKS5_AUTH_CHAP_ATTR_CHALLENGE 0x03
- #define SOCKS5_AUTH_CHAP_ATTR_RESPONSE 0x04
- #define SOCKS5_AUTH_CHAP_ATTR_CHARSET 0x05
- #define SOCKS5_AUTH_CHAP_ATTR_IDENTIFIER 0x10
- #define SOCKS5_AUTH_CHAP_ATTR_ALGLIST 0x11
- #define SOCKS5_AUTH_CHAP_ALG_HMACMD5 0x85
- #define SOCKS5_ADDR_IPV4 1
- #define SOCKS5_ADDR_IPV6 4
- #define SOCKS5_ADDR_HOSTNAME 3
- #define SOCKS5_RESP_SUCCESS 0
- #define SOCKS5_RESP_FAILURE 1
- #define SOCKS5_RESP_CONNECTION_NOT_ALLOWED_BY_RULESET 2
- #define SOCKS5_RESP_NETWORK_UNREACHABLE 3
- #define SOCKS5_RESP_HOST_UNREACHABLE 4
- #define SOCKS5_RESP_CONNECTION_REFUSED 5
- #define SOCKS5_RESP_TTL_EXPIRED 6
- #define SOCKS5_RESP_COMMAND_NOT_SUPPORTED 7
- #define SOCKS5_RESP_ADDRTYPE_NOT_SUPPORTED 8
|