Commit 0a305eb7 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files
  CURLINFO_REDIRECT_URL in multi mode" also contained a patch that fixed the
  problem.
parent aff54086
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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:

+14 −1
Original line number Diff line number Diff line
@@ -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;
        }