mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
Fix bracketed IPv6 string validation
This commit is contained in:
parent
df529c6093
commit
b0ba4aa7e9
@ -1079,9 +1079,22 @@ string_is_valid_ipv6_address(const char *string)
|
|||||||
int
|
int
|
||||||
string_is_valid_dest(const char *string)
|
string_is_valid_dest(const char *string)
|
||||||
{
|
{
|
||||||
return string_is_valid_ipv4_address(string) ||
|
char *tmp = NULL;
|
||||||
|
int retval;
|
||||||
|
|
||||||
|
tor_assert(string);
|
||||||
|
tor_assert(strlen(string) > 0);
|
||||||
|
|
||||||
|
if (string[0] == '[' && string[strlen(string) - 1] == ']')
|
||||||
|
string = tmp = tor_strndup(string + 1, strlen(string) - 2);
|
||||||
|
|
||||||
|
retval = string_is_valid_ipv4_address(string) ||
|
||||||
string_is_valid_ipv6_address(string) ||
|
string_is_valid_ipv6_address(string) ||
|
||||||
string_is_valid_hostname(string);
|
string_is_valid_hostname(string);
|
||||||
|
|
||||||
|
tor_free(tmp);
|
||||||
|
|
||||||
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Return true iff <b>string</b> matches a pattern of DNS names
|
/** Return true iff <b>string</b> matches a pattern of DNS names
|
||||||
|
@ -355,7 +355,7 @@ test_socks_5_supported_commands(void *ptr)
|
|||||||
ADD_DATA(buf, "[2001:0db8:85a3:0000:0000:8a2e:0370:7334]");
|
ADD_DATA(buf, "[2001:0db8:85a3:0000:0000:8a2e:0370:7334]");
|
||||||
ADD_DATA(buf, "\x01\x02");
|
ADD_DATA(buf, "\x01\x02");
|
||||||
tt_int_op(fetch_from_buf_socks(buf, socks, get_options()->TestSocks, 1),
|
tt_int_op(fetch_from_buf_socks(buf, socks, get_options()->TestSocks, 1),
|
||||||
OP_EQ, -1);
|
OP_EQ, 1);
|
||||||
|
|
||||||
tt_str_op("[2001:0db8:85a3:0000:0000:8a2e:0370:7334]", OP_EQ,
|
tt_str_op("[2001:0db8:85a3:0000:0000:8a2e:0370:7334]", OP_EQ,
|
||||||
socks->address);
|
socks->address);
|
||||||
|
Loading…
Reference in New Issue
Block a user