aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_socks.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2020-01-17 08:49:56 -0500
committerNick Mathewson <nickm@torproject.org>2020-01-17 08:49:56 -0500
commit5086b16055777f11b3d196d637b91a134adf4baf (patch)
treec06df27eafd99aaf185e7bc8b0d61cb74a370013 /src/test/test_socks.c
parent7f03ba06d8447025ef3e53906ebe9bcdd0d4d1b5 (diff)
parent4ae77e15d0ac8c6449d2a6588a7ebfab887954c1 (diff)
downloadtor-5086b16055777f11b3d196d637b91a134adf4baf.tar.gz
tor-5086b16055777f11b3d196d637b91a134adf4baf.zip
Merge remote-tracking branch 'tor-github/pr/1529'
Diffstat (limited to 'src/test/test_socks.c')
-rw-r--r--src/test/test_socks.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/test/test_socks.c b/src/test/test_socks.c
index e002529594..40fb0481c6 100644
--- a/src/test/test_socks.c
+++ b/src/test/test_socks.c
@@ -399,6 +399,43 @@ test_socks_5_supported_commands(void *ptr)
tt_int_op(0,OP_EQ, buf_datalen(buf));
+ socks_request_clear(socks);
+
+ /* SOCKS 5 Send RESOLVE_PTR [F1] for an IPv6 address */
+ ADD_DATA(buf, "\x05\x01\x00");
+ ADD_DATA(buf, "\x05\xF1\x00\x04"
+ "\x20\x01\x0d\xb8\x85\xa3\x00\x00\x00\x00\x8a\x2e\x03\x70\x73\x34"
+ "\x12\x34");
+ tt_int_op(fetch_from_buf_socks(buf, socks, get_options()->TestSocks,
+ get_options()->SafeSocks),
+ OP_EQ, 1);
+ tt_int_op(5,OP_EQ, socks->socks_version);
+ tt_int_op(2,OP_EQ, socks->replylen);
+ tt_int_op(5,OP_EQ, socks->reply[0]);
+ tt_int_op(0,OP_EQ, socks->reply[1]);
+ tt_str_op("[2001:db8:85a3::8a2e:370:7334]",OP_EQ, socks->address);
+
+ tt_int_op(0,OP_EQ, buf_datalen(buf));
+
+ socks_request_clear(socks);
+
+ /* SOCKS 5 Send RESOLVE_PTR [F1] for a an IPv6 address written as a
+ * string with brackets */
+ ADD_DATA(buf, "\x05\x01\x00");
+ ADD_DATA(buf, "\x05\xF1\x00\x03\x1e");
+ ADD_DATA(buf, "[2001:db8:85a3::8a2e:370:7334]");
+ ADD_DATA(buf, "\x12\x34");
+ tt_int_op(fetch_from_buf_socks(buf, socks, get_options()->TestSocks,
+ get_options()->SafeSocks),
+ OP_EQ, 1);
+ tt_int_op(5,OP_EQ, socks->socks_version);
+ tt_int_op(2,OP_EQ, socks->replylen);
+ tt_int_op(5,OP_EQ, socks->reply[0]);
+ tt_int_op(0,OP_EQ, socks->reply[1]);
+ tt_str_op("[2001:db8:85a3::8a2e:370:7334]",OP_EQ, socks->address);
+
+ tt_int_op(0,OP_EQ, buf_datalen(buf));
+
done:
;
}