Skip to content
Snippets Groups Projects
  1. Oct 17, 2008
  2. Oct 16, 2008
  3. Oct 08, 2008
  4. Sep 05, 2008
    • Dan Fandrich's avatar
      Improved the logic the decides whether to use HTTP 1.1 features or not in a · 91ff9380
      Dan Fandrich authored
      request.
      
      Detect cases where an upload must be sent chunked and the server supports
      only HTTP 1.0 and return CURLE_UPLOAD_FAILED.
      91ff9380
    • Daniel Stenberg's avatar
      - Martin Drasar provided the CURLOPT_POSTREDIR patch. It renames · 18110b51
      Daniel Stenberg authored
        CURLOPT_POST301 (but adds a define for backwards compatibility for you who
        don't define CURL_NO_OLDIES). This option allows you to now also change the
        libcurl behavior for a HTTP response 302 after a POST to not use GET in the
        subsequent request (when CURLOPT_FOLLOWLOCATION is enabled). I edited the
        patch somewhat before commit. The curl tool got a matching --post302
        option. Test case 1076 was added to verify this.
      18110b51
    • Daniel Stenberg's avatar
      - Introducing CURLOPT_CERTINFO and the corresponding CURLINFO_CERTINFO. By · 4c976856
      Daniel Stenberg authored
        enabling this feature with CURLOPT_CERTINFO for a request using SSL (HTTPS
        or FTPS), libcurl will gather lots of server certificate info and that info
        can then get extracted by a client after the request has completed with
        curl_easy_getinfo()'s CURLINFO_CERTINFO option. Linus Nielsen Feltzing
        helped me test and smoothen out this feature.
      
        Unfortunately, this feature currently only works with libcurl built to use
        OpenSSL.
      
        This feature was sponsored by networking4all.com - thanks!
      4c976856
  5. Sep 04, 2008
  6. Aug 17, 2008
  7. Jul 30, 2008
  8. Jul 03, 2008
    • Daniel Stenberg's avatar
      Introcuding a new timestamp for curl_easy_getinfo(): · 7c648782
      Daniel Stenberg authored
      CURLINFO_APPCONNECT_TIME. This is set with the "application layer"
      handshake/connection is completed (typically SSL, TLS or SSH). By using this
      you can figure out the application layer's own connect time. You can extract
      the time stamp using curl's -w option and the new variable named
      'time_appconnect'. This feature was sponsored by Lenny Rachitsky at NeuStar.
      7c648782
  9. Jun 06, 2008
  10. Apr 30, 2008
    • Daniel Stenberg's avatar
      - To make it easier for applications that want lots of magic stuff done on · 85298985
      Daniel Stenberg authored
        redirections and thus cannot use CURLOPT_FOLLOWLOCATION easily, we now
        introduce the new CURLINFO_REDIRECT_URL option that lets applications
        extract the URL libcurl would've redirected to if it had been told to. This
        then enables the application to continue to that URL as it thinks is
        suitable, without having to re-implement the magic of creating the new URL
        from the Location: header etc. Test 1029 verifies it.
      85298985
  11. Mar 13, 2008
  12. Feb 20, 2008
    • Daniel Stenberg's avatar
      - Based on initial work done by Gautam Kachroo to address a bug, we now keep · 53a54900
      Daniel Stenberg authored
        better control at the exact state of the connection's SSL status so that we
        know exactly when it has completed the SSL negotiation or not so that there
        won't be accidental re-uses of connections that are wrongly believed to be
        in SSL-completed-negotiate state.
      53a54900
    • Daniel Stenberg's avatar
      - We no longer support setting the CURLOPT_URL option from inside a callback · 55700cb0
      Daniel Stenberg authored
        such as the CURLOPT_SSL_CTX_FUNCTION one treat that as if it was a Location:
        following. The patch that introduced this feature was done for 7.11.0, but
        this code and functionality has been broken since about 7.15.4 (March 2006)
        with the introduction of non-blocking OpenSSL "connects".
      
        It was a hack to begin with and since it doesn't work and hasn't worked
        correctly for a long time and nobody has even noticed, I consider it a very
        suitable subject for plain removal. And so it was done.
      55700cb0
  13. Feb 03, 2008
  14. Jan 31, 2008
  15. Jan 21, 2008
  16. Jan 16, 2008
  17. Jan 15, 2008
    • Daniel Stenberg's avatar
      Woops, partly revert my previous commit and do it slightly differently instead. · 991505e0
      Daniel Stenberg authored
      The signalling of that a global DNS cache is wanted is done by setting the
      option but the setting of the internal variable that it is in use must not be
      done until it finally actually gets used!
      
      NOTE and WARNING: I noticed that you can't actually switch off the global dns
      cache with CURLOPT_DNS_USE_GLOBAL_CACHE but you couldn't do that previously
      either and the option is very clearly and loudly documented as DO NOTE USE so
      I won't bother to fix this bug now.
      991505e0
    • Daniel Stenberg's avatar
      I made the torture test on test 530 go through. This was actually due to · 56f17d2c
      Daniel Stenberg authored
      silly code left from when we switched to let the multi handle "hold" the dns
      cache when using the multi interface... Of course this only triggered when a
      certain function call returned error at the correct moment.
      56f17d2c
  18. Jan 14, 2008
  19. Jan 10, 2008
    • Daniel Stenberg's avatar
      Georg Lippitsch brought CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA to allow · 18faa509
      Daniel Stenberg authored
      libcurl to seek in a given input stream. This is particularly important when
      doing upload resumes when there's already a huge part of the file present
      remotely. Before, and still if this callback isn't used, libcurl will read
      and through away the entire file up to the point to where the resuming
      begins (which of course can be a slow opereration depending on file size,
      I/O bandwidth and more). This new function will also be preferred to get
      used instead of the CURLOPT_IOCTLFUNCTION for seeking back in a stream when
      doing multi-stage HTTP auth with POST/PUT.
      18faa509
  20. Jan 08, 2008
  21. Jan 05, 2008
    • Daniel Stenberg's avatar
      Based on further discussion on curl-library, I reverted yesterday's SOCKS5 · b4305764
      Daniel Stenberg authored
      code to instead introduce support for a new proxy type called
      CURLPROXY_SOCKS5_HOSTNAME that is used to send the host name to the proxy
      instead of IP address and there's thus no longer any need for a new
      curl_easy_setopt() option.
      
      The default SOCKS5 proxy is again back to sending the IP address to the
      proxy.  The new curl command line option for enabling sending host name to a
      SOCKS5 proxy is now --socks5-hostname.
      b4305764
  22. Jan 04, 2008
  23. Dec 02, 2007
  24. Nov 24, 2007
    • Daniel Stenberg's avatar
      struct HandleData is now called struct SingleRequest, and is only for data that · 13648f8c
      Daniel Stenberg authored
      is inited at the start of the DO action. I removed the Curl_transfer_keeper
      struct completely, and I had to move out a few struct members (that had to
      be set before DO or used after DONE) to the UrlState struct. The SingleRequest
      struct is accessed with SessionHandle->req.
      
      One of the biggest reasons for doing this was the bunch of duplicate struct
      members in HandleData and Curl_transfer_keeper since it was really messy to
      keep track of two variables with the same name and basically the same purpose!
      13648f8c
  25. Nov 20, 2007
  26. Nov 15, 2007
  27. Nov 12, 2007
  28. Nov 08, 2007
  29. Nov 05, 2007
    • Daniel Stenberg's avatar
      Move connection-oriented variables from the SessionHandle struct to the · b9a7f4e5
      Daniel Stenberg authored
      connectdata struct. This will in theory enable us to do persistent connections
      with SCP+SFTP, but currently the state machine always (and wrongly) cleanup
      everything in the 'done' action instead of in 'disconnect'. Also did a bunch
      of indent fixes, if () => if() and a few other source cleanups like added
      comments etc.
      b9a7f4e5
  30. Oct 24, 2007
  31. Oct 22, 2007
    • Daniel Stenberg's avatar
      Michal Marek forwarded the bug report · 5b358603
      Daniel Stenberg authored
      https://bugzilla.novell.com/show_bug.cgi?id=332917 about a HTTP redirect to
      FTP that caused memory havoc. His work together with my efforts created two
      fixes:
      
      #1 - FTP::file was moved to struct ftp_conn, because is has to be dealt with
           at connection cleanup, at which time the struct HandleData could be
           used by another connection.
           Also, the unused char *urlpath member is removed from struct FTP.
      
      #2 - provide a Curl_reset_reqproto() function that frees
           data->reqdata.proto.* on connection setup if needed (that is if the
           SessionHandle was used by a different connection).
      5b358603
Loading