mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
[svn] Return an error from url_parse if the IP address is IPv6 and we don't
handle IPv6.
This commit is contained in:
parent
05715ed4d6
commit
0e9b4de751
@ -1,3 +1,8 @@
|
|||||||
|
2003-09-09 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
|
|
||||||
|
* url.c (url_parse): Return an error if the URL contains a [...]
|
||||||
|
IPv6 numeric address and we don't support IPv6.
|
||||||
|
|
||||||
2003-09-05 Hrvoje Niksic <hniksic@xemacs.org>
|
2003-09-05 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
|
|
||||||
* url.c (is_valid_ipv6_address): Modified to not require
|
* url.c (is_valid_ipv6_address): Modified to not require
|
||||||
|
12
src/url.c
12
src/url.c
@ -649,7 +649,9 @@ static char *parse_errors[] = {
|
|||||||
"Invalid user name",
|
"Invalid user name",
|
||||||
#define PE_UNTERMINATED_IPV6_ADDRESS 5
|
#define PE_UNTERMINATED_IPV6_ADDRESS 5
|
||||||
"Unterminated IPv6 numeric address",
|
"Unterminated IPv6 numeric address",
|
||||||
#define PE_INVALID_IPV6_ADDRESS 6
|
#define PE_IPV6_NOT_SUPPORTED 6
|
||||||
|
"IPv6 addresses not supported",
|
||||||
|
#define PE_INVALID_IPV6_ADDRESS 7
|
||||||
"Invalid IPv6 numeric address"
|
"Invalid IPv6 numeric address"
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -658,6 +660,7 @@ static char *parse_errors[] = {
|
|||||||
*(p) = (v); \
|
*(p) = (v); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
#ifdef INET6
|
||||||
/* The following two functions were adapted from glibc. */
|
/* The following two functions were adapted from glibc. */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -787,7 +790,7 @@ is_valid_ipv6_address (const char *str, const char *end)
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Parse a URL.
|
/* Parse a URL.
|
||||||
|
|
||||||
@ -860,6 +863,7 @@ url_parse (const char *url, int *error)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef INET6
|
||||||
/* Check if the IPv6 address is valid. */
|
/* Check if the IPv6 address is valid. */
|
||||||
if (!is_valid_ipv6_address(host_b, host_e))
|
if (!is_valid_ipv6_address(host_b, host_e))
|
||||||
{
|
{
|
||||||
@ -869,6 +873,10 @@ url_parse (const char *url, int *error)
|
|||||||
|
|
||||||
/* Continue parsing after the closing ']'. */
|
/* Continue parsing after the closing ']'. */
|
||||||
p = host_e + 1;
|
p = host_e + 1;
|
||||||
|
#else
|
||||||
|
SETERR (error, PE_IPV6_NOT_SUPPORTED);
|
||||||
|
return NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user