Skip to content
Snippets Groups Projects
  1. Mar 13, 2008
  2. 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
  3. Feb 03, 2008
  4. Jan 31, 2008
  5. Jan 21, 2008
  6. Jan 16, 2008
  7. 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
  8. Jan 14, 2008
  9. 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
  10. Jan 08, 2008
  11. 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
  12. Jan 04, 2008
  13. Dec 02, 2007
  14. 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
  15. Nov 20, 2007
  16. Nov 15, 2007
  17. Nov 12, 2007
  18. Nov 08, 2007
  19. 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
  20. Oct 24, 2007
  21. 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
  22. Oct 15, 2007
  23. Oct 12, 2007
  24. Oct 04, 2007
    • Daniel Stenberg's avatar
      Kim Rinnewitz reported that --local-port didn't work with TFTP transfers. · 67d94514
      Daniel Stenberg authored
      This happened because the tftp code always uncondionally did a bind()
      without caring if one already had been done and then it failed. I wrote a
      test case (1009) to verify this, but it is a bit error-prone since it will
      have to pick a fixed local port number and since the tests are run on so
      many different hosts in different situations I add it in disabled state.
      67d94514
  25. Oct 03, 2007
    • Daniel Stenberg's avatar
      Alexey Pesternikov introduced CURLOPT_OPENSOCKETFUNCTION and · ce1cfcb7
      Daniel Stenberg authored
      CURLOPT_OPENSOCKETDATA to set a callback that allows an application to replace
      the socket() call used by libcurl. It basically allows the app to change
      address, protocol or whatever of the socket. (I also did some whitespace
      indent/cleanups in lib/url.c which kind of hides some of these changes, sorry
      for mixing those in.)
      ce1cfcb7
    • Daniel Stenberg's avatar
      Based on a patch brought by Johnny Luong, libcurl now offers · 51c6a5d4
      Daniel Stenberg authored
      CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 and the curl tool --hostpubmd5. They both make
      the SCP or SFTP connection verify the remote host's md5 checksum of the public
      key before doing a connect, to reduce the risk of a man-in-the-middle attack.
      51c6a5d4
  26. Oct 02, 2007
  27. Sep 26, 2007
    • Daniel Stenberg's avatar
      Philip Langdale provided the new CURLOPT_POST301 option for · fd4cf78f
      Daniel Stenberg authored
      curl_easy_setopt() that alters how libcurl functions when following
      redirects. It makes libcurl obey the RFC2616 when a 301 response is received
      after a non-GET request is made. Default libcurl behaviour is to change
      method to GET in the subsequent request (like it does for response code 302
      - because that's what many/most browsers do), but with this CURLOPT_POST301
      option enabled it will do what the spec says and do the next request using
      the same method again. I.e keep POST after 301.
      
      The curl tool got this option as --post301
      
      Test case 1011 and 1012 were added to verify.
      fd4cf78f
    • Daniel Stenberg's avatar
      Max Katsev reported that when doing a libcurl FTP request with · a6315359
      Daniel Stenberg authored
      CURLOPT_NOBODY enabled but not CURLOPT_HEADER, libcurl wouldn't do TYPE
      before it does SIZE which makes it less useful. I walked over the code and
      made it do this properly, and added test case 542 to verify it.
      a6315359
  28. Sep 18, 2007
    • Daniel Stenberg's avatar
      Rob Crittenden provided an NSS update with the following highlights: · 8c3f40ee
      Daniel Stenberg authored
      o It looks for the NSS database first in the environment variable SSL_DIR,
        then in /etc/pki/nssdb, then it initializes with no database if neither of
        those exist.
      
      o If the NSS PKCS#11 libnspsem.so driver is available then PEM files may be
        loaded, including the ca-bundle. If it is not available then only
        certificates already in the NSS database are used.
      
      o Tries to detect whether a file or nickname is being passed in so the right
        thing is done
      
      o Added a bit of code to make the output more like the OpenSSL module,
        including displaying the certificate information when connecting in
        verbose mode
      
      o Improved handling of certificate errors (expired, untrusted, etc)
      
      The libnsspem.so PKCS#11 module is currently only available in Fedora
      8/rawhide. Work will be done soon to upstream it. The NSS module will work
      with or without it, all that changes is the source of the certificates and
      keys.
      8c3f40ee
  29. Aug 31, 2007
  30. Aug 26, 2007
  31. Aug 15, 2007
  32. Aug 01, 2007
  33. Jul 29, 2007
  34. Jul 27, 2007
Loading