mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
- 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
|
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)
|
Daniel Stenberg (25 Sep 2008)
|
||||||
- Emanuele Bovisio submitted bug report #2126435. We fixed the HTTP Digest
|
- Emanuele Bovisio submitted bug report #2126435. We fixed the HTTP Digest
|
||||||
auth code to not behave badly when getting a blank realm with
|
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 thread-safety issues addressed for NSS-powered libcurls
|
||||||
o removed the use of mktime() and gmtime(_r)() in date parsing and conversions
|
o removed the use of mktime() and gmtime(_r)() in date parsing and conversions
|
||||||
o HTTP Digest with a blank realm did wrong
|
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:
|
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 */
|
/* Check if we can move pending requests to send pipe */
|
||||||
checkPendPipeline(easy->easy_conn);
|
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(easy->easy_handle->req.newurl || retry) {
|
||||||
if(!retry) {
|
if(!retry) {
|
||||||
/* if the URL is a follow-location and not just a retried request
|
/* 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 {
|
else {
|
||||||
/* after the transfer is done, go DONE */
|
/* 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);
|
multistate(easy, CURLM_STATE_DONE);
|
||||||
result = CURLM_CALL_MULTI_PERFORM;
|
result = CURLM_CALL_MULTI_PERFORM;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user