wininet: Correctly handle redirects to non-http URLs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
48716cba98
commit
9c959154f6
|
@ -3993,7 +3993,16 @@ static WCHAR *get_redirect_url(http_request_t *request)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
urlComponents.dwSchemeLength = 1;
|
||||||
|
b = InternetCrackUrlW(redirect_url, url_length, 0, &urlComponents);
|
||||||
|
if(b && urlComponents.dwSchemeLength &&
|
||||||
|
urlComponents.nScheme != INTERNET_SCHEME_HTTP && urlComponents.nScheme != INTERNET_SCHEME_HTTPS) {
|
||||||
|
TRACE("redirect to non-http URL\n");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
urlComponents.lpszScheme = (request->hdr.dwFlags & INTERNET_FLAG_SECURE) ? szHttps : szHttp;
|
urlComponents.lpszScheme = (request->hdr.dwFlags & INTERNET_FLAG_SECURE) ? szHttps : szHttp;
|
||||||
|
urlComponents.dwSchemeLength = 0;
|
||||||
urlComponents.lpszHostName = request->server->name;
|
urlComponents.lpszHostName = request->server->name;
|
||||||
urlComponents.nPort = request->server->port;
|
urlComponents.nPort = request->server->port;
|
||||||
urlComponents.lpszUserName = session->userName;
|
urlComponents.lpszUserName = session->userName;
|
||||||
|
|
Loading…
Reference in New Issue