mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-08-05 20:55:46 +03:00
misc: Fixed ssh_is_ipaddr_v4() on Windows.
This commit is contained in:
@@ -158,6 +158,11 @@ int ssh_is_ipaddr_v4(const char *str) {
|
|||||||
int sslen = sizeof(ss);
|
int sslen = sizeof(ss);
|
||||||
int rc = SOCKET_ERROR;
|
int rc = SOCKET_ERROR;
|
||||||
|
|
||||||
|
/* WSAStringToAddressA thinks that 0.0.0 is a valid IP */
|
||||||
|
if (strlen < 7) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
rc = WSAStringToAddressA((LPSTR) str,
|
rc = WSAStringToAddressA((LPSTR) str,
|
||||||
AF_INET,
|
AF_INET,
|
||||||
NULL,
|
NULL,
|
||||||
|
@@ -23,6 +23,7 @@ static void torture_ssh_is_ipaddr(void **state) {
|
|||||||
assert_int_equal(ssh_is_ipaddr("fe80:0000:0000:0000:0202:b3ff:fe1e:8329"),1);
|
assert_int_equal(ssh_is_ipaddr("fe80:0000:0000:0000:0202:b3ff:fe1e:8329"),1);
|
||||||
assert_int_equal(ssh_is_ipaddr("fe80:0:0:0:202:b3ff:fe1e:8329"),1);
|
assert_int_equal(ssh_is_ipaddr("fe80:0:0:0:202:b3ff:fe1e:8329"),1);
|
||||||
assert_int_equal(ssh_is_ipaddr("fe80::202:b3ff:fe1e:8329"),1);
|
assert_int_equal(ssh_is_ipaddr("fe80::202:b3ff:fe1e:8329"),1);
|
||||||
|
assert_int_equal(ssh_is_ipaddr("::1"),1);
|
||||||
|
|
||||||
assert_int_equal(ssh_is_ipaddr("::ffff:192.0.2.128"),1);
|
assert_int_equal(ssh_is_ipaddr("::ffff:192.0.2.128"),1);
|
||||||
|
|
||||||
@@ -32,15 +33,13 @@ static void torture_ssh_is_ipaddr(void **state) {
|
|||||||
assert_int_equal(ssh_is_ipaddr("0a.0.0.0.0"),0);
|
assert_int_equal(ssh_is_ipaddr("0a.0.0.0.0"),0);
|
||||||
assert_int_equal(ssh_is_ipaddr(""),0);
|
assert_int_equal(ssh_is_ipaddr(""),0);
|
||||||
assert_int_equal(ssh_is_ipaddr("0.0.0."),0);
|
assert_int_equal(ssh_is_ipaddr("0.0.0."),0);
|
||||||
#ifndef _WIN32
|
|
||||||
/* These are valid ip address on Windows */
|
|
||||||
assert_int_equal(ssh_is_ipaddr("0.0.0"),0);
|
|
||||||
assert_int_equal(ssh_is_ipaddr("0.0"),0);
|
assert_int_equal(ssh_is_ipaddr("0.0"),0);
|
||||||
assert_int_equal(ssh_is_ipaddr("0"),0);
|
assert_int_equal(ssh_is_ipaddr("0"),0);
|
||||||
#endif
|
|
||||||
|
|
||||||
assert_int_equal(ssh_is_ipaddr("2001:0db8:85a3:0000:0000:8a2e:0370:7334:1002"), 0);
|
assert_int_equal(ssh_is_ipaddr("2001:0db8:85a3:0000:0000:8a2e:0370:7334:1002"), 0);
|
||||||
assert_int_equal(ssh_is_ipaddr("fe80:x:202:b3ff:fe1e:8329"), 0);
|
assert_int_equal(ssh_is_ipaddr("fe80:x:202:b3ff:fe1e:8329"), 0);
|
||||||
|
assert_int_equal(ssh_is_ipaddr("fe80:x:202:b3ff:fe1e:8329"), 0);
|
||||||
|
assert_int_equal(ssh_is_ipaddr(":1"), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int torture_run_tests(void) {
|
int torture_run_tests(void) {
|
||||||
|
Reference in New Issue
Block a user