- Bug #2107803 (http://curl.haxx.se/bug/view.cgi?id=2107803) "no
CURLINFO_REDIRECT_URL in multi mode" also contained a patch that fixed the problem.
This commit is contained in:
parent
aff5408633
commit
0a305eb79f
5
CHANGES
5
CHANGES
@ -6,6 +6,11 @@
|
||||
|
||||
Changelog
|
||||
|
||||
Daniel Stenberg (29 Sep 2008)
|
||||
- Bug #2107803 (http://curl.haxx.se/bug/view.cgi?id=2107803) "no
|
||||
CURLINFO_REDIRECT_URL in multi mode" also contained a patch that fixed the
|
||||
problem.
|
||||
|
||||
Daniel Stenberg (25 Sep 2008)
|
||||
- Emanuele Bovisio submitted bug report #2126435. We fixed the HTTP Digest
|
||||
auth code to not behave badly when getting a blank realm with
|
||||
|
@ -28,6 +28,7 @@ This release includes the following bugfixes:
|
||||
o thread-safety issues addressed for NSS-powered libcurls
|
||||
o removed the use of mktime() and gmtime(_r)() in date parsing and conversions
|
||||
o HTTP Digest with a blank realm did wrong
|
||||
o CURLINFO_REDIRECT_URL didn't work with the multi interface
|
||||
|
||||
This release includes the following known bugs:
|
||||
|
||||
|
15
lib/multi.c
15
lib/multi.c
@ -1310,7 +1310,8 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||
/* Check if we can move pending requests to send pipe */
|
||||
checkPendPipeline(easy->easy_conn);
|
||||
|
||||
/* When we follow redirects, must to go back to the CONNECT state */
|
||||
/* When we follow redirects or is set to retry the connection, we must
|
||||
to go back to the CONNECT state */
|
||||
if(easy->easy_handle->req.newurl || retry) {
|
||||
if(!retry) {
|
||||
/* if the URL is a follow-location and not just a retried request
|
||||
@ -1335,6 +1336,18 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||
}
|
||||
else {
|
||||
/* after the transfer is done, go DONE */
|
||||
|
||||
/* but first check to see if we got a location info even though we're
|
||||
not following redirects */
|
||||
if (easy->easy_handle->req.location) {
|
||||
newurl = easy->easy_handle->req.location;
|
||||
easy->easy_handle->req.location = NULL;
|
||||
easy->result = Curl_follow(easy->easy_handle, newurl, FOLLOW_FAKE);
|
||||
if (easy->result)
|
||||
free(newurl);
|
||||
break;
|
||||
}
|
||||
|
||||
multistate(easy, CURLM_STATE_DONE);
|
||||
result = CURLM_CALL_MULTI_PERFORM;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user