Skip to content
  1. Dec 23, 2010
    • Daniel Stenberg's avatar
      multi: connect fail => use next IP address · 5825aa14
      Daniel Stenberg authored
      When using the multi interface and connecting to a host name that
      resolves to multiple IP addresses, there was no logic that made it
      continue to the next IP if connecting to the first address times
      out. This is now corrected.
      5825aa14
  2. Dec 03, 2010
  3. Dec 01, 2010
  4. Nov 30, 2010
  5. Nov 11, 2010
    • Daniel Stenberg's avatar
      ip_version: moved to connection struct · a1f32ffe
      Daniel Stenberg authored
      The IP version choice was previously only in the UserDefined struct
      within the SessionHandle, but since we sometimes alter that option
      during a request we need to have it on a per-connection basis.
      
      I also moved more "init conn" code into the allocate_conn() function
      which is designed for that purpose more or less.
      a1f32ffe
  6. Sep 17, 2010
    • Daniel Stenberg's avatar
      Curl_timeleft: avoid returning "no timeout" by mistake · 3880dd37
      Daniel Stenberg authored
      As this function uses return code 0 to mean that there is no timeout, it
      needs to check that it doesn't return a time left value that is exactly
      zero. It could lead to libcurl doing an extra 1000 ms select() call and
      thus not timing out as accurately as it should.
      
      I fell over this bug when working on the bug 3061535 but this fix does
      not correct that problem alone, although this is a problem that needs to
      be fixed.
      
      Reported by: Rodric Glaser
      Bug: http://curl.haxx.se/bug/view.cgi?id=3061535
      3880dd37
  7. Sep 14, 2010
  8. Sep 05, 2010
  9. Aug 20, 2010
  10. Aug 10, 2010
    • Daniel Stenberg's avatar
      callbacks: acknowledge progress callback error returns · 37201e3c
      Daniel Stenberg authored
      When the progress callback is called during the TCP connection, an error
      return would accidentally not abort the operation as intended but would
      instead be counted as a failure to connect to that particular IP and
      libcurl would just continue to try the next. I made singleipconnect()
      and trynextip() return CURLcode properly.
      
      Added bonus: it corrected the error code for bad --interface usages,
      like tested in test 1084 and test 1085.
      
      Reported by: Adam Light
      Bug: http://curl.haxx.se/mail/lib-2010-08/0105.html
      37201e3c
  11. Jun 24, 2010
    • Daniel Stenberg's avatar
      multi_socket: re-use of same socket without notifying app · 8da56e12
      Daniel Stenberg authored
      When a hostname resolves to multiple IP addresses and the first one
      tried doesn't work, the socket for the second attempt may get dropped on
      the floor, causing the request to eventually time out. The issue is that
      when using kqueue (as on mac and bsd platforms) instead of select, the
      kernel removes the first fd from kqueue when it is closed (in trynextip,
      connect.c:503). Trynextip() then goes on to open a new socket, which
      gets assigned the same number as the one it just closed. Later in
      multi.c, socket_cb is not called because the fd is already in
      multi->sockhash, so the new socket is never added to kqueue.
      
      The correct fix is to ensure that socket_cb is called to remove the fd
      when trynextip() closes the socket, and again to re-add it after
      singleipsocket(). I'm not sure how to cleanly do that, but the attached
      patch works around the problem in an admittedly kludgy way by delaying
      the close to ensure that the newly-opened socket gets a different fd.
      
      Daniel's added comment: I didn't spot a way to easily do a nicer fix so
      I've proceeded with Ben's patch.
      
      Bug: http://curl.haxx.se/bug/view.cgi?id=3017819
      Patch by: Ben Darnell
      8da56e12
  12. Jun 08, 2010
  13. Jun 07, 2010
  14. Jun 05, 2010
  15. Jun 04, 2010
  16. 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
  17. Mar 24, 2010
  18. Mar 23, 2010
  19. Feb 04, 2010
    • Yang Tse's avatar
      · 7aef172a
      Yang Tse authored
      fix printf-style format strings
      7aef172a
  20. Feb 02, 2010
    • Yang Tse's avatar
      · d1717e7c
      Yang Tse authored
      Fix compiler warning: conditional expression is constant
      d1717e7c
  21. Jan 28, 2010
    • Yang Tse's avatar
      · d65cf788
      Yang Tse authored
      fix printf-style format strings
      d65cf788
  22. Jan 22, 2010
  23. Jan 11, 2010
  24. Dec 30, 2009
  25. Oct 01, 2009
  26. Aug 29, 2009
  27. Jul 09, 2009
  28. May 07, 2009
  29. May 02, 2009
  30. Apr 30, 2009
  31. Apr 28, 2009
  32. Apr 21, 2009
  33. Feb 28, 2009
  34. Feb 27, 2009
  35. Dec 30, 2008