|
@@ -229,6 +229,42 @@ test_socks_5_supported_commands(void *ptr)
|
|
|
tt_int_op(0,==, buf_datalen(buf));
|
|
|
socks_request_clear(socks);
|
|
|
|
|
|
+ /* SOCKS 5 Should reject RESOLVE [F0] request for IPv4 address
|
|
|
+ * string if SafeSocks is enabled. */
|
|
|
+
|
|
|
+ ADD_DATA(buf, "\x05\x01\x00");
|
|
|
+ ADD_DATA(buf, "\x05\xF0\x00\x03\x07");
|
|
|
+ ADD_DATA(buf, "8.8.8.8");
|
|
|
+ ADD_DATA(buf, "\x01\x02");
|
|
|
+ tt_assert(fetch_from_buf_socks(buf,socks,get_options()->TestSocks,1)
|
|
|
+ == -1);
|
|
|
+
|
|
|
+ tt_int_op(5,==,socks->socks_version);
|
|
|
+ tt_int_op(10,==,socks->replylen);
|
|
|
+ tt_int_op(5,==,socks->reply[0]);
|
|
|
+ tt_int_op(SOCKS5_NOT_ALLOWED,==,socks->reply[1]);
|
|
|
+ tt_int_op(1,==,socks->reply[3]);
|
|
|
+
|
|
|
+ socks_request_clear(socks);
|
|
|
+
|
|
|
+ /* SOCKS 5 should reject RESOLVE [F0] reject for IPv6 address
|
|
|
+ * string if SafeSocks is enabled. */
|
|
|
+
|
|
|
+ ADD_DATA(buf, "\x05\x01\x00");
|
|
|
+ ADD_DATA(buf, "\x05\xF0\x00\x03\x27");
|
|
|
+ ADD_DATA(buf, "2001:0db8:85a3:0000:0000:8a2e:0370:7334");
|
|
|
+ ADD_DATA(buf, "\x01\x02");
|
|
|
+ tt_assert(fetch_from_buf_socks(buf,socks,get_options()->TestSocks,1)
|
|
|
+ == -1);
|
|
|
+
|
|
|
+ tt_int_op(5,==,socks->socks_version);
|
|
|
+ tt_int_op(10,==,socks->replylen);
|
|
|
+ tt_int_op(5,==,socks->reply[0]);
|
|
|
+ tt_int_op(SOCKS5_NOT_ALLOWED,==,socks->reply[1]);
|
|
|
+ tt_int_op(1,==,socks->reply[3]);
|
|
|
+
|
|
|
+ socks_request_clear(socks);
|
|
|
+
|
|
|
/* SOCKS 5 Send RESOLVE_PTR [F1] for IP address 2.2.2.5 */
|
|
|
ADD_DATA(buf, "\x05\x01\x00");
|
|
|
ADD_DATA(buf, "\x05\xF1\x00\x01\x02\x02\x02\x05\x01\x03");
|