Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mRemoteNG/PuTTYNG.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'proxy/socks.h')
-rw-r--r--proxy/socks.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/proxy/socks.h b/proxy/socks.h
new file mode 100644
index 00000000..3e86ae23
--- /dev/null
+++ b/proxy/socks.h
@@ -0,0 +1,72 @@
+/*
+ * 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