urlmon: Remove unused flags argument from parse_host.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2020-08-12 14:09:42 +02:00 committed by Alexandre Julliard
parent 964a8c909d
commit e03d7ca900
1 changed files with 42 additions and 53 deletions

View File

@ -1342,7 +1342,7 @@ static void parse_userinfo(const WCHAR **ptr, parse_data *data, DWORD flags) {
*
* port = *DIGIT
*/
static BOOL parse_port(const WCHAR **ptr, parse_data *data, DWORD flags) {
static BOOL parse_port(const WCHAR **ptr, parse_data *data) {
UINT port = 0;
data->port = *ptr;
@ -1368,7 +1368,7 @@ static BOOL parse_port(const WCHAR **ptr, parse_data *data, DWORD flags) {
data->port_value = port;
data->port_len = *ptr - data->port;
TRACE("(%p %p %x): Found port %s len=%d value=%u\n", ptr, data, flags,
TRACE("(%p %p): Found port %s len=%d value=%u\n", ptr, data,
debugstr_wn(data->port, data->port_len), data->port_len, data->port_value);
return TRUE;
}
@ -1387,14 +1387,13 @@ static BOOL parse_port(const WCHAR **ptr, parse_data *data, DWORD flags) {
* is UINT_MAX, if the value in the URI exceeds this then
* it is not considered an IPv4 address.
*/
static BOOL parse_ipv4address(const WCHAR **ptr, parse_data *data, DWORD flags) {
static BOOL parse_ipv4address(const WCHAR **ptr, parse_data *data) {
const BOOL is_unknown = data->scheme_type == URL_SCHEME_UNKNOWN;
data->host = *ptr;
if(!check_ipv4address(ptr, FALSE)) {
if(!check_implicit_ipv4(ptr, &data->implicit_ipv4)) {
TRACE("(%p %p %x): URI didn't contain anything looking like an IPv4 address.\n",
ptr, data, flags);
TRACE("(%p %p): URI didn't contain anything looking like an IPv4 address.\n", ptr, data);
*ptr = data->host;
data->host = NULL;
return FALSE;
@ -1410,7 +1409,7 @@ static BOOL parse_ipv4address(const WCHAR **ptr, parse_data *data, DWORD flags)
*/
if(**ptr == ':') {
++(*ptr);
if(!parse_port(ptr, data, flags)) {
if(!parse_port(ptr, data)) {
*ptr = data->host;
data->host = NULL;
return FALSE;
@ -1423,8 +1422,8 @@ static BOOL parse_ipv4address(const WCHAR **ptr, parse_data *data, DWORD flags)
return FALSE;
}
TRACE("(%p %p %x): IPv4 address found. host=%s host_len=%d host_type=%d\n",
ptr, data, flags, debugstr_wn(data->host, data->host_len),
TRACE("(%p %p): IPv4 address found. host=%s host_len=%d host_type=%d\n",
ptr, data, debugstr_wn(data->host, data->host_len),
data->host_len, data->host_type);
return TRUE;
}
@ -1449,7 +1448,7 @@ static BOOL parse_ipv4address(const WCHAR **ptr, parse_data *data, DWORD flags)
*
* A reg-name CAN be empty.
*/
static BOOL parse_reg_name(const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras) {
static BOOL parse_reg_name(const WCHAR **ptr, parse_data *data, DWORD extras) {
const BOOL has_start_bracket = **ptr == '[';
const BOOL known_scheme = data->scheme_type != URL_SCHEME_UNKNOWN;
const BOOL is_res = data->scheme_type == URL_SCHEME_RES;
@ -1489,12 +1488,12 @@ static BOOL parse_reg_name(const WCHAR **ptr, parse_data *data, DWORD flags, DWO
const WCHAR *tmp = (*ptr)++;
/* Attempt to parse the port. */
if(!parse_port(ptr, data, flags)) {
if(!parse_port(ptr, data)) {
/* Windows expects there to be a valid port for known scheme types. */
if(data->scheme_type != URL_SCHEME_UNKNOWN) {
*ptr = data->host;
data->host = NULL;
TRACE("(%p %p %x %x): Expected valid port\n", ptr, data, flags, extras);
TRACE("(%p %p %x): Expected valid port\n", ptr, data, extras);
return FALSE;
} else
/* Windows gives up on trying to parse a port when it
@ -1529,8 +1528,7 @@ static BOOL parse_reg_name(const WCHAR **ptr, parse_data *data, DWORD flags, DWO
if(has_start_bracket) {
/* Make sure the last character of the host wasn't a ']'. */
if(*(*ptr-1) == ']') {
TRACE("(%p %p %x %x): Expected an IP literal inside of the host\n",
ptr, data, flags, extras);
TRACE("(%p %p %x): Expected an IP literal inside of the host\n", ptr, data, extras);
*ptr = data->host;
data->host = NULL;
return FALSE;
@ -1547,7 +1545,7 @@ static BOOL parse_reg_name(const WCHAR **ptr, parse_data *data, DWORD flags, DWO
else
data->host_type = Uri_HOST_DNS;
TRACE("(%p %p %x %x): Parsed reg-name. host=%s len=%d\n", ptr, data, flags, extras,
TRACE("(%p %p %x): Parsed reg-name. host=%s len=%d\n", ptr, data, extras,
debugstr_wn(data->host, data->host_len), data->host_len);
return TRUE;
}
@ -1572,7 +1570,7 @@ static BOOL parse_reg_name(const WCHAR **ptr, parse_data *data, DWORD flags, DWO
*
* Modeled after google-url's 'DoParseIPv6' function.
*/
static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags) {
static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data) {
const WCHAR *start, *cur_start;
ipv6_address ip;
@ -1599,8 +1597,7 @@ static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags)
if(cur_len > 4) {
*ptr = start;
TRACE("(%p %p %x): h16 component to long.\n",
ptr, data, flags);
TRACE("(%p %p): h16 component to long.\n", ptr, data);
return FALSE;
}
@ -1612,8 +1609,7 @@ static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags)
if(!((*ptr == start && is_elision) ||
(is_end && (*ptr-2) == ip.elision))) {
*ptr = start;
TRACE("(%p %p %x): IPv6 component cannot have a length of 0.\n",
ptr, data, flags);
TRACE("(%p %p): IPv6 component cannot have a length of 0.\n", ptr, data);
return FALSE;
}
}
@ -1622,16 +1618,15 @@ static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags)
/* An IPv6 address can have no more than 8 h16 components. */
if(ip.h16_count >= 8) {
*ptr = start;
TRACE("(%p %p %x): Not a IPv6 address, too many h16 components.\n",
ptr, data, flags);
TRACE("(%p %p): Not a IPv6 address, too many h16 components.\n", ptr, data);
return FALSE;
}
ip.components[ip.h16_count].str = cur_start;
ip.components[ip.h16_count].len = cur_len;
TRACE("(%p %p %x): Found h16 component %s, len=%d, h16_count=%d\n",
ptr, data, flags, debugstr_wn(cur_start, cur_len), cur_len,
TRACE("(%p %p): Found h16 component %s, len=%d, h16_count=%d\n",
ptr, data, debugstr_wn(cur_start, cur_len), cur_len,
ip.h16_count);
++ip.h16_count;
}
@ -1645,8 +1640,7 @@ static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags)
if(ip.elision) {
*ptr = start;
TRACE("(%p %p %x): IPv6 address cannot have 2 elisions.\n",
ptr, data, flags);
TRACE("(%p %p): IPv6 address cannot have 2 elisions.\n", ptr, data);
return FALSE;
}
@ -1668,9 +1662,8 @@ static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags)
ip.ipv4 = cur_start;
ip.ipv4_len = *ptr - cur_start;
TRACE("(%p %p %x): Found an attached IPv4 address %s len=%d.\n",
ptr, data, flags, debugstr_wn(ip.ipv4, ip.ipv4_len),
ip.ipv4_len);
TRACE("(%p %p): Found an attached IPv4 address %s len=%d.\n",
ptr, data, debugstr_wn(ip.ipv4, ip.ipv4_len), ip.ipv4_len);
/* IPv4 addresses can only appear at the end of a IPv6. */
break;
@ -1683,8 +1676,7 @@ static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags)
/* Make sure the IPv6 address adds up to 16 bytes. */
if(ip.components_size + ip.elision_size != 16) {
*ptr = start;
TRACE("(%p %p %x): Invalid IPv6 address, did not add up to 16 bytes.\n",
ptr, data, flags);
TRACE("(%p %p): Invalid IPv6 address, did not add up to 16 bytes.\n", ptr, data);
return FALSE;
}
@ -1700,8 +1692,8 @@ static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags)
if(ip.elision < ip.components[0].str ||
ip.elision > ip.components[ip.h16_count-1].str) {
*ptr = start;
TRACE("(%p %p %x): Invalid IPv6 address. Detected elision of 2 bytes at the beginning or end of the address.\n",
ptr, data, flags);
TRACE("(%p %p): Invalid IPv6 address. Detected elision of 2 bytes at the beginning or end of the address.\n",
ptr, data);
return FALSE;
}
}
@ -1710,14 +1702,12 @@ static BOOL parse_ipv6address(const WCHAR **ptr, parse_data *data, DWORD flags)
data->has_ipv6 = TRUE;
data->ipv6_address = ip;
TRACE("(%p %p %x): Found valid IPv6 literal %s len=%d\n",
ptr, data, flags, debugstr_wn(start, *ptr-start),
(int)(*ptr-start));
TRACE("(%p %p): Found valid IPv6 literal %s len=%d\n", ptr, data, debugstr_wn(start, *ptr-start), (int)(*ptr-start));
return TRUE;
}
/* IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) */
static BOOL parse_ipvfuture(const WCHAR **ptr, parse_data *data, DWORD flags) {
static BOOL parse_ipvfuture(const WCHAR **ptr, parse_data *data) {
const WCHAR *start = *ptr;
/* IPvFuture has to start with a 'v' or 'V'. */
@ -1753,14 +1743,14 @@ static BOOL parse_ipvfuture(const WCHAR **ptr, parse_data *data, DWORD flags) {
data->host_type = Uri_HOST_UNKNOWN;
TRACE("(%p %p %x): Parsed IPvFuture address %s len=%d\n", ptr, data, flags,
TRACE("(%p %p): Parsed IPvFuture address %s len=%d\n", ptr, data,
debugstr_wn(start, *ptr-start), (int)(*ptr-start));
return TRUE;
}
/* IP-literal = "[" ( IPv6address / IPvFuture ) "]" */
static BOOL parse_ip_literal(const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras) {
static BOOL parse_ip_literal(const WCHAR **ptr, parse_data *data, DWORD extras) {
data->host = *ptr;
if(**ptr != '[' && !(extras & ALLOW_BRACKETLESS_IP_LITERAL)) {
@ -1769,8 +1759,8 @@ static BOOL parse_ip_literal(const WCHAR **ptr, parse_data *data, DWORD flags, D
} else if(**ptr == '[')
++(*ptr);
if(!parse_ipv6address(ptr, data, flags)) {
if(extras & SKIP_IP_FUTURE_CHECK || !parse_ipvfuture(ptr, data, flags)) {
if(!parse_ipv6address(ptr, data)) {
if(extras & SKIP_IP_FUTURE_CHECK || !parse_ipvfuture(ptr, data)) {
*ptr = data->host;
data->host = NULL;
return FALSE;
@ -1795,7 +1785,7 @@ static BOOL parse_ip_literal(const WCHAR **ptr, parse_data *data, DWORD flags, D
/* If a valid port is not found, then let it trickle down to
* parse_reg_name.
*/
if(!parse_port(ptr, data, flags)) {
if(!parse_port(ptr, data)) {
*ptr = data->host;
data->host = NULL;
return FALSE;
@ -1810,12 +1800,11 @@ static BOOL parse_ip_literal(const WCHAR **ptr, parse_data *data, DWORD flags, D
*
* host = IP-literal / IPv4address / reg-name
*/
static BOOL parse_host(const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras) {
if(!parse_ip_literal(ptr, data, flags, extras)) {
if(!parse_ipv4address(ptr, data, flags)) {
if(!parse_reg_name(ptr, data, flags, extras)) {
TRACE("(%p %p %x %x): Malformed URI, Unknown host type.\n",
ptr, data, flags, extras);
static BOOL parse_host(const WCHAR **ptr, parse_data *data, DWORD extras) {
if(!parse_ip_literal(ptr, data, extras)) {
if(!parse_ipv4address(ptr, data)) {
if(!parse_reg_name(ptr, data, extras)) {
TRACE("(%p %p %x): Malformed URI, Unknown host type.\n", ptr, data, extras);
return FALSE;
}
}
@ -1834,7 +1823,7 @@ static BOOL parse_authority(const WCHAR **ptr, parse_data *data, DWORD flags) {
/* Parsing the port will happen during one of the host parsing
* routines (if the URI has a port).
*/
if(!parse_host(ptr, data, flags, 0))
if(!parse_host(ptr, data, 0))
return FALSE;
return TRUE;
@ -3665,7 +3654,7 @@ static HRESULT validate_userinfo(const UriBuilder *builder, parse_data *data, DW
return S_OK;
}
static HRESULT validate_host(const UriBuilder *builder, parse_data *data, DWORD flags) {
static HRESULT validate_host(const UriBuilder *builder, parse_data *data) {
const WCHAR *ptr;
const WCHAR **pptr;
DWORD expected_len;
@ -3684,11 +3673,11 @@ static HRESULT validate_host(const UriBuilder *builder, parse_data *data, DWORD
DWORD extras = ALLOW_BRACKETLESS_IP_LITERAL|IGNORE_PORT_DELIMITER|SKIP_IP_FUTURE_CHECK;
pptr = &ptr;
if(parse_host(pptr, data, flags, extras) && data->host_len == expected_len)
TRACE("(%p %p %x): Found valid host name %s len=%d type=%d.\n", builder, data, flags,
if(parse_host(pptr, data, extras) && data->host_len == expected_len)
TRACE("(%p %p): Found valid host name %s len=%d type=%d.\n", builder, data,
debugstr_wn(data->host, data->host_len), data->host_len, data->host_type);
else {
TRACE("(%p %p %x): Invalid host name found %s.\n", builder, data, flags,
TRACE("(%p %p): Invalid host name found %s.\n", builder, data,
debugstr_wn(component, expected_len));
return INET_E_INVALID_URL;
}
@ -3842,7 +3831,7 @@ static HRESULT validate_components(const UriBuilder *builder, parse_data *data,
if(FAILED(hr))
return hr;
hr = validate_host(builder, data, flags);
hr = validate_host(builder, data);
if(FAILED(hr))
return hr;