mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
committed by
Nick Mathewson
parent
50beb81d53
commit
73b98948a2
+16
-16
@@ -28,58 +28,58 @@ test_pt_parsing(void)
|
||||
mp->transports = smartlist_new();
|
||||
|
||||
/* incomplete cmethod */
|
||||
strcpy(line,"CMETHOD trebuchet");
|
||||
strlcpy(line,"CMETHOD trebuchet",sizeof(line));
|
||||
test_assert(parse_cmethod_line(line, mp) < 0);
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
/* wrong proxy type */
|
||||
strcpy(line,"CMETHOD trebuchet dog 127.0.0.1:1999");
|
||||
strlcpy(line,"CMETHOD trebuchet dog 127.0.0.1:1999",sizeof(line));
|
||||
test_assert(parse_cmethod_line(line, mp) < 0);
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
/* wrong addrport */
|
||||
strcpy(line,"CMETHOD trebuchet socks4 abcd");
|
||||
strlcpy(line,"CMETHOD trebuchet socks4 abcd",sizeof(line));
|
||||
test_assert(parse_cmethod_line(line, mp) < 0);
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
/* correct line */
|
||||
strcpy(line,"CMETHOD trebuchet socks5 127.0.0.1:1999");
|
||||
strlcpy(line,"CMETHOD trebuchet socks5 127.0.0.1:1999",sizeof(line));
|
||||
test_assert(parse_cmethod_line(line, mp) == 0);
|
||||
test_assert(smartlist_len(mp->transports));
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
/* incomplete smethod */
|
||||
strcpy(line,"SMETHOD trebuchet");
|
||||
strlcpy(line,"SMETHOD trebuchet",sizeof(line));
|
||||
test_assert(parse_smethod_line(line, mp) < 0);
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
/* wrong addr type */
|
||||
strcpy(line,"SMETHOD trebuchet abcd");
|
||||
strlcpy(line,"SMETHOD trebuchet abcd",sizeof(line));
|
||||
test_assert(parse_smethod_line(line, mp) < 0);
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
/* cowwect */
|
||||
strcpy(line,"SMETHOD trebuchy 127.0.0.1:1999");
|
||||
strlcpy(line,"SMETHOD trebuchy 127.0.0.1:1999",sizeof(line));
|
||||
test_assert(parse_smethod_line(line, mp) == 0);
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
/* unsupported version */
|
||||
strcpy(line,"VERSION 666");
|
||||
strlcpy(line,"VERSION 666",sizeof(line));
|
||||
test_assert(parse_version(line, mp) < 0);
|
||||
|
||||
/* incomplete VERSION */
|
||||
strcpy(line,"VERSION ");
|
||||
strlcpy(line,"VERSION ",sizeof(line));
|
||||
test_assert(parse_version(line, mp) < 0);
|
||||
|
||||
/* correct VERSION */
|
||||
strcpy(line,"VERSION 1");
|
||||
strlcpy(line,"VERSION 1",sizeof(line));
|
||||
test_assert(parse_version(line, mp) == 0);
|
||||
|
||||
done:
|
||||
@@ -99,32 +99,32 @@ test_pt_protocol(void)
|
||||
|
||||
/* various wrong protocol runs: */
|
||||
|
||||
strcpy(line,"VERSION 1");
|
||||
strlcpy(line,"VERSION 1",sizeof(line));
|
||||
handle_proxy_line(line, mp);
|
||||
test_assert(mp->conf_state == PT_PROTO_ACCEPTING_METHODS);
|
||||
|
||||
strcpy(line,"VERSION 1");
|
||||
strlcpy(line,"VERSION 1",sizeof(line));
|
||||
handle_proxy_line(line, mp);
|
||||
test_assert(mp->conf_state == PT_PROTO_BROKEN);
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
strcpy(line,"CMETHOD trebuchet socks5 127.0.0.1:1999");
|
||||
strlcpy(line,"CMETHOD trebuchet socks5 127.0.0.1:1999",sizeof(line));
|
||||
handle_proxy_line(line, mp);
|
||||
test_assert(mp->conf_state == PT_PROTO_BROKEN);
|
||||
|
||||
reset_mp(mp);
|
||||
|
||||
/* correct protocol run: */
|
||||
strcpy(line,"VERSION 1");
|
||||
strlcpy(line,"VERSION 1",sizeof(line));
|
||||
handle_proxy_line(line, mp);
|
||||
test_assert(mp->conf_state == PT_PROTO_ACCEPTING_METHODS);
|
||||
|
||||
strcpy(line,"CMETHOD trebuchet socks5 127.0.0.1:1999");
|
||||
strlcpy(line,"CMETHOD trebuchet socks5 127.0.0.1:1999",sizeof(line));
|
||||
handle_proxy_line(line, mp);
|
||||
test_assert(mp->conf_state == PT_PROTO_ACCEPTING_METHODS);
|
||||
|
||||
strcpy(line,"CMETHODS DONE");
|
||||
strlcpy(line,"CMETHODS DONE",sizeof(line));
|
||||
handle_proxy_line(line, mp);
|
||||
test_assert(mp->conf_state == PT_PROTO_CONFIGURED);
|
||||
|
||||
|
||||
@@ -2874,7 +2874,7 @@ test_util_eat_whitespace(void *ptr)
|
||||
(void)ptr;
|
||||
|
||||
/* Try one leading ws */
|
||||
strcpy(str, "fuubaar");
|
||||
strlcpy(str, "fuubaar", sizeof(str));
|
||||
for (i = 0; i < sizeof(ws); ++i) {
|
||||
str[0] = ws[i];
|
||||
test_eq_ptr(str + 1, eat_whitespace(str));
|
||||
@@ -2889,14 +2889,14 @@ test_util_eat_whitespace(void *ptr)
|
||||
test_eq_ptr(str, eat_whitespace_eos_no_nl(str, str + strlen(str)));
|
||||
|
||||
/* Empty string */
|
||||
strcpy(str, "");
|
||||
strlcpy(str, "", sizeof(str));
|
||||
test_eq_ptr(str, eat_whitespace(str));
|
||||
test_eq_ptr(str, eat_whitespace_eos(str, str));
|
||||
test_eq_ptr(str, eat_whitespace_no_nl(str));
|
||||
test_eq_ptr(str, eat_whitespace_eos_no_nl(str, str));
|
||||
|
||||
/* Only ws */
|
||||
strcpy(str, " \t\r\n");
|
||||
strlcpy(str, " \t\r\n", sizeof(str));
|
||||
test_eq_ptr(str + strlen(str), eat_whitespace(str));
|
||||
test_eq_ptr(str + strlen(str), eat_whitespace_eos(str, str + strlen(str)));
|
||||
test_eq_ptr(str + strlen(str) - 1,
|
||||
@@ -2904,7 +2904,7 @@ test_util_eat_whitespace(void *ptr)
|
||||
test_eq_ptr(str + strlen(str) - 1,
|
||||
eat_whitespace_eos_no_nl(str, str + strlen(str)));
|
||||
|
||||
strcpy(str, " \t\r ");
|
||||
strlcpy(str, " \t\r ", sizeof(str));
|
||||
test_eq_ptr(str + strlen(str), eat_whitespace(str));
|
||||
test_eq_ptr(str + strlen(str),
|
||||
eat_whitespace_eos(str, str + strlen(str)));
|
||||
@@ -2913,7 +2913,7 @@ test_util_eat_whitespace(void *ptr)
|
||||
eat_whitespace_eos_no_nl(str, str + strlen(str)));
|
||||
|
||||
/* Multiple ws */
|
||||
strcpy(str, "fuubaar");
|
||||
strlcpy(str, "fuubaar", sizeof(str));
|
||||
for (i = 0; i < sizeof(ws); ++i)
|
||||
str[i] = ws[i];
|
||||
test_eq_ptr(str + sizeof(ws), eat_whitespace(str));
|
||||
@@ -2923,28 +2923,28 @@ test_util_eat_whitespace(void *ptr)
|
||||
eat_whitespace_eos_no_nl(str, str + strlen(str)));
|
||||
|
||||
/* Eat comment */
|
||||
strcpy(str, "# Comment \n No Comment");
|
||||
strlcpy(str, "# Comment \n No Comment", sizeof(str));
|
||||
test_streq("No Comment", eat_whitespace(str));
|
||||
test_streq("No Comment", eat_whitespace_eos(str, str + strlen(str)));
|
||||
test_eq_ptr(str, eat_whitespace_no_nl(str));
|
||||
test_eq_ptr(str, eat_whitespace_eos_no_nl(str, str + strlen(str)));
|
||||
|
||||
/* Eat comment & ws mix */
|
||||
strcpy(str, " # \t Comment \n\t\nNo Comment");
|
||||
strlcpy(str, " # \t Comment \n\t\nNo Comment", sizeof(str));
|
||||
test_streq("No Comment", eat_whitespace(str));
|
||||
test_streq("No Comment", eat_whitespace_eos(str, str + strlen(str)));
|
||||
test_eq_ptr(str + 1, eat_whitespace_no_nl(str));
|
||||
test_eq_ptr(str + 1, eat_whitespace_eos_no_nl(str, str + strlen(str)));
|
||||
|
||||
/* Eat entire comment */
|
||||
strcpy(str, "#Comment");
|
||||
strlcpy(str, "#Comment", sizeof(str));
|
||||
test_eq_ptr(str + strlen(str), eat_whitespace(str));
|
||||
test_eq_ptr(str + strlen(str), eat_whitespace_eos(str, str + strlen(str)));
|
||||
test_eq_ptr(str, eat_whitespace_no_nl(str));
|
||||
test_eq_ptr(str, eat_whitespace_eos_no_nl(str, str + strlen(str)));
|
||||
|
||||
/* Blank line, then comment */
|
||||
strcpy(str, " \t\n # Comment");
|
||||
strlcpy(str, " \t\n # Comment", sizeof(str));
|
||||
test_eq_ptr(str + strlen(str), eat_whitespace(str));
|
||||
test_eq_ptr(str + strlen(str), eat_whitespace_eos(str, str + strlen(str)));
|
||||
test_eq_ptr(str + 2, eat_whitespace_no_nl(str));
|
||||
|
||||
Reference in New Issue
Block a user