Skip to content
  1. Jul 25, 2011
  2. Jul 24, 2011
  3. Jun 10, 2011
  4. Jun 04, 2011
  5. May 26, 2011
  6. May 18, 2011
  7. Apr 28, 2011
  8. Apr 27, 2011
  9. Apr 25, 2011
    • Daniel Stenberg's avatar
      async resolvers: further cleanups · 7de2f927
      Daniel Stenberg authored
      asyn-ares.c and asyn-thread.c are two separate backends that implement
      the same (internal) async resolver API for libcurl to use. Backend is
      specified at build time.
      
      The internal resolver API is defined in asyn.h for asynch resolvers.
      7de2f927
  10. Apr 21, 2011
  11. Apr 11, 2011
  12. Feb 17, 2011
  13. Feb 09, 2011
  14. Jan 10, 2011
    • Daniel Stenberg's avatar
      connect: use UDP correctly · 08a65b10
      Daniel Stenberg authored
      The idea that the protocol and socktype is part of name resolving in the
      libc functions is nuts. We keep the name resolver functions assume
      TCP/STREAM and we make sure that when we want to connect to a UDP
      service we use the correct UDP/DGRAM set instead. This bug was because
      the ->protocol field was not always set correctly.
      
      This bug was only affecting ipv6-disabled non-cares non-threaded builds.
      
      Bug: http://curl.haxx.se/bug/view.cgi?id=3154436
      Reported by: "dperham"
      08a65b10
  15. Jan 04, 2011
  16. 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
  17. Dec 03, 2010
  18. Dec 01, 2010
  19. Nov 30, 2010
  20. 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
  21. 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
  22. Sep 14, 2010
  23. Sep 05, 2010
  24. Aug 20, 2010
  25. 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
  26. 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
  27. Jun 08, 2010
  28. Jun 07, 2010
  29. Jun 05, 2010
  30. Jun 04, 2010
  31. 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
  32. Mar 24, 2010
  33. Mar 23, 2010
  34. Feb 04, 2010
    • Yang Tse's avatar
      · 7aef172a
      Yang Tse authored
      fix printf-style format strings
      7aef172a
  35. Feb 02, 2010
    • Yang Tse's avatar
      · d1717e7c
      Yang Tse authored
      Fix compiler warning: conditional expression is constant
      d1717e7c