mirror of
https://github.com/curl/curl.git
synced 2026-07-29 04:43:11 +03:00
Jon Grubbs filed bug report #1249962 which identified a problem with NTLM on a
HTTP proxy if an FTP URL was given. libcurl now properly switches to pure HTTP internally when an HTTP proxy is used, even for FTP URLs. The problem would also occur with other multi-pass auth methods.
This commit is contained in:
parent
8f219af884
commit
493d6033aa
3 changed files with 14 additions and 2 deletions
|
|
@ -2651,9 +2651,13 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
|||
}
|
||||
|
||||
if(proxy && *proxy) {
|
||||
long bits = conn->protocol & (PROT_HTTPS|PROT_SSL);
|
||||
data->change.proxy = proxy;
|
||||
data->change.proxy_alloc=TRUE; /* this needs to be freed later */
|
||||
conn->bits.httpproxy = TRUE;
|
||||
|
||||
/* force this to become HTTP */
|
||||
conn->protocol = PROT_HTTP | bits;
|
||||
}
|
||||
} /* if (!nope) - it wasn't specified non-proxy */
|
||||
} /* NO_PROXY wasn't specified or '*' */
|
||||
|
|
@ -2789,6 +2793,7 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
|||
#ifndef CURL_DISABLE_HTTP
|
||||
conn->curl_do = Curl_http;
|
||||
conn->curl_done = Curl_http_done;
|
||||
conn->protocol = PROT_HTTP; /* switch to HTTP */
|
||||
#else
|
||||
failf(data, "FTP over http proxy requires HTTP support built-in!");
|
||||
return CURLE_UNSUPPORTED_PROTOCOL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue