Skip to content
  1. May 18, 2011
    • Daniel Stenberg's avatar
      CLOSESOCKETFUNCTION: added · b5d170b5
      Daniel Stenberg authored
      Introduced the initial setup to allow closesocket callbacks by making
      sure sclose() is only ever called from one place in the libcurl source
      and still run all test cases fine.
      b5d170b5
  2. Apr 28, 2011
  3. Apr 27, 2011
  4. 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
  5. Apr 21, 2011
  6. Apr 11, 2011
  7. Feb 17, 2011
  8. Feb 09, 2011
  9. 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
  10. Jan 04, 2011
  11. 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
  12. Dec 03, 2010
  13. Dec 01, 2010
  14. Nov 30, 2010
  15. 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
  16. 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
  17. Sep 14, 2010
  18. Sep 05, 2010
  19. Aug 20, 2010
  20. 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
  21. 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
  22. Jun 08, 2010
  23. Jun 07, 2010
  24. Jun 05, 2010
  25. Jun 04, 2010
  26. 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
  27. Mar 24, 2010
  28. Mar 23, 2010
  29. Feb 04, 2010
    • Yang Tse's avatar
      · 7aef172a
      Yang Tse authored
      fix printf-style format strings
      7aef172a
  30. Feb 02, 2010
    • Yang Tse's avatar
      · d1717e7c
      Yang Tse authored
      Fix compiler warning: conditional expression is constant
      d1717e7c
  31. Jan 28, 2010
    • Yang Tse's avatar
      · d65cf788
      Yang Tse authored
      fix printf-style format strings
      d65cf788
  32. Jan 22, 2010
  33. Jan 11, 2010
  34. Dec 30, 2009
  35. Oct 01, 2009