mirror of
https://github.com/curl/curl.git
synced 2026-08-14 08:53:39 +03:00
httpauth: make multi-request auth work with custom port
When doing HTTP authentication and a port number set with CURLOPT_PORT, the code would previously have the URL's port number override as if it had been a redirect to an absolute URL. Added test 1568 to verify. Reported-by: UrsusArctos on github Fixes #6397 Closes #6400
This commit is contained in:
parent
725ec470e2
commit
648712eec1
8 changed files with 158 additions and 13 deletions
|
|
@ -1537,6 +1537,8 @@ CURLcode Curl_follow(struct Curl_easy *data,
|
|||
bool reachedmax = FALSE;
|
||||
CURLUcode uc;
|
||||
|
||||
DEBUGASSERT(type != FOLLOW_NONE);
|
||||
|
||||
if(type == FOLLOW_REDIR) {
|
||||
if((data->set.maxredirs != -1) &&
|
||||
(data->set.followlocation >= data->set.maxredirs)) {
|
||||
|
|
@ -1568,8 +1570,11 @@ CURLcode Curl_follow(struct Curl_easy *data,
|
|||
}
|
||||
}
|
||||
|
||||
if(Curl_is_absolute_url(newurl, NULL, MAX_SCHEME_LEN))
|
||||
/* This is an absolute URL, don't allow the custom port number */
|
||||
if((type != FOLLOW_RETRY) &&
|
||||
(data->req.httpcode != 401) && (data->req.httpcode != 407) &&
|
||||
Curl_is_absolute_url(newurl, NULL, MAX_SCHEME_LEN))
|
||||
/* If this is not redirect due to a 401 or 407 response and an absolute
|
||||
URL: don't allow a custom port number */
|
||||
disallowport = TRUE;
|
||||
|
||||
DEBUGASSERT(data->state.uh);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue