Skip to content
  1. May 14, 2010
    • Daniel Stenberg's avatar
      OpenSSL: multi interface handshake could hang · 77cfeadf
      Daniel Stenberg authored
      John-Mark Bell filed bug #3000052 that identified a problem (with
      an associated patch) with the OpenSSL handshake state machine
      when the multi interface is used:
      
      Performing an https request using a curl multi handle and using
      select or epoll to wait for events results in a hang. It appears
      that the cause is the fix for bug #2958179, which makes
      ossl_connect_common unconditionally return from the step 2 loop
      when fetching from a multi handle.
      
      When ossl_connect_step2 has completed, it updates
      connssl->connecting_state to ssl_connect_3. ossl_connect_common
      will then return to the caller, as a multi handle is in
      use. Eventually, the client code will call curl_multi_fdset to
      obtain an updated fdset to select or epoll on. For https
      requests, curl_multi_fdset will cause https_getsock to be called.
      https_getsock will only return a socket handle if the
      connecting_state is ssl_connect_2_reading or
      ssl_connect_2_writing.  Therefore, the client will never obtain a
      valid fdset, and thus not drive the multi handle, resulting in a
      hang.
      
      (http://curl.haxx.se/bug/view.cgi?id=3000052)
      77cfeadf
    • Daniel Stenberg's avatar
      follow redirect: ignore response-body on redirect even if compressed · 7764795c
      Daniel Stenberg authored
      Sebastian V reported bug #3000056 identifying a problem with
      redirect following. It showed that when curl followed redirects
      it didn't properly ignore the response body of the 30X response
      if that response was using compressed Content-Encoding!
      
      (http://curl.haxx.se/bug/view.cgi?id=3000056)
      7764795c
  2. May 12, 2010
  3. May 11, 2010
  4. May 07, 2010
    • Daniel Stenberg's avatar
      multi interface: missed storing connection time · adaf8753
      Daniel Stenberg authored
      Dirk Manske reported a regression. When connecting with the multi
      interface, there were situations where libcurl wouldn't store
      connect time correctly as it used to (and is documented to) do.
      
      Using his fine sample program we could repeat it, and I wrote up
      test case 573 using that code. The problem does not easily show
      itself using the local test suite though.
      
      The fix, also as suggested by Dirk, is a bit on the ugly side as
      it adds yet another call to Curl_verboseconnect() and setting the
      TIMER_CONNECT time.  That situation is subject for some closer
      inspection in the future.
      adaf8753
    • Daniel Stenberg's avatar
      changelogs: split the I/O handling · aca0fff4
      Daniel Stenberg authored
      aca0fff4
  5. May 05, 2010
  6. Apr 29, 2010
  7. Apr 25, 2010
  8. Apr 24, 2010
  9. Apr 21, 2010
  10. Apr 20, 2010
  11. Apr 19, 2010
  12. Apr 16, 2010
  13. Apr 15, 2010
  14. Apr 14, 2010
  15. Apr 09, 2010
  16. Apr 02, 2010
  17. Apr 01, 2010
    • Daniel Stenberg's avatar
      fix SFTP download hang · 49f3160d
      Daniel Stenberg authored
      Matt Wixson found and fixed a bug in the SCP/SFTP area where the
      code treated a 0 return code from libssh2 to be the same as
      EAGAIN while in reality it isn't. The problem caused a hang in
      SFTP transfers from a MessageWay server.
      49f3160d
  18. Mar 28, 2010
  19. Mar 27, 2010
    • Daniel Stenberg's avatar
      minor language fix · 7784e330
      Daniel Stenberg authored
      7784e330
    • Ben Greear's avatar
      allow user+password in the URL for all protocols · 0eda142e
      Ben Greear authored
      Ben Greear brought a patch that from now on allows all protocols
      to specify name and user within the URL, in the same manner HTTP
      and FTP have been allowed to in the past - although far from all
      of the libcurl supported protocols actually have that feature in
      their URL definition spec.
      0eda142e
  20. Mar 26, 2010
  21. Mar 24, 2010
    • Bob Richmond's avatar
      fix: timeout after last data chunk was handled · 05632d5d
      Bob Richmond authored
      Bob Richmond: There's an annoying situation where libcurl will
      read new HTTP response data from a socket, then check if it's a
      timeout if one is set. If the last packet received constitutes
      the end of the response body, libcurl still treats it as a
      timeout condition and reports a message like:
      
      "Operation timed out after 3000 milliseconds with 876 out of 876
      bytes received"
      
      It should only a timeout if the timer lapsed and we DIDN'T
      receive the end of the response body yet.
      05632d5d
    • Daniel Stenberg's avatar
      RTSP GET_PARAMETER fix · 9828b926
      Daniel Stenberg authored
      Christopher Conroy fixed a problem with RTSP and GET_PARAMETER
      reported to us by Massimo Callegari. There's a new test case 572
      that verifies this now.
      9828b926
    • Daniel Stenberg's avatar
  22. Mar 23, 2010
    • Daniel Stenberg's avatar
      mark connection as connected · 4b351d01
      Daniel Stenberg authored
      Kenny To filed the bug report #2963679 with patch to fix a
      problem he experienced with doing multi interface HTTP POST over
      a proxy using PROXYTUNNEL. He found a case where it would connect
      fine but bits.tcpconnect was not set correct so libcurl didn't
      work properly.
      
      (http://curl.haxx.se/bug/view.cgi?id=2963679)
      4b351d01
    • Daniel Stenberg's avatar
      chunked-encoding with Content-Length: header problem · 7fd32ce7
      Daniel Stenberg authored
      Akos Pasztory filed debian bug report #572276
      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572276
      mentioning a problem with a resource that returns chunked-encoded
      _and_ with a Content-Length and libcurl failed to properly ignore
      the latter information.
      7fd32ce7
    • Daniel Stenberg's avatar
      delayed easy handle kill caused double Curl_close() call · 2a94293e
      Daniel Stenberg authored
      Hauke Duden provided an example program that made the multi
      interface crash.  His example simply used the multi interface and
      did first one FTP transfer and after completion it used a second
      easy handle and did another FTP transfer on the same FTP server.
      
      This triggered a bug in the "delayed easy handle kill" system
      that curl uses: when an FTP connection is left alive it must keep
      an easy handle around internally - only for the purpose of having
      an easy handle when it later disconnects it. The code assumed
      that when the easy handle was removed and an internal reference
      was made, that version could be killed later on when a new easy
      handle came using the same connection. This was wrong as Hauke's
      example showed that the removed handle wasn't killed for real
      until later. This caused a double close attempt => segfault.
      2a94293e
  23. Mar 22, 2010
  24. Mar 21, 2010
  25. Mar 15, 2010
  26. Mar 06, 2010
  27. Mar 05, 2010
  28. Mar 02, 2010
    • Daniel Stenberg's avatar
      - [Daniel Johnson] I've been trying to build libcurl with clang on Darwin and · 013d5a72
      Daniel Stenberg authored
        ran into some issues with the GSSAPI tests in configure.ac. The tests first
        try to determine the include dirs and libs and set CPPFLAGS and LIBS
        accordingly. It then checks for the headers and finally sets LIBS a second
        time, causing the libs to be included twice. The first setting of LIBS seems
        redundant and should be left out, since the first part is otherwise just
        about finding headers.
      
        My second issue is that 'krb5-config --libs gssapi' on Darwin is less than
        useless and returns junk that, while it happens to work with gcc, causes
        clang to choke. For example, --libs returns $CFLAGS along with the libs,
        which is really retarded. Simply setting 'LIBS="$LIBS -lgssapi_krb5
        -lresolv"' on Darwin is sufficient.
      013d5a72