Skip to content
  1. Dec 12, 2011
    • Jason Glasgow's avatar
      CURLOPT_INTERFACE: avoid resolving interfaces names · 6e4835c7
      Jason Glasgow authored
      Do not try to resolve interfaces names via DNS by recognizing interface
      names in a few ways.  If the interface option argument has a prefix of
      "if!" then treat the argument as only an interface.  Similarly, if the
      interface argument is the name of an interface (even if it does not have
      an IP address assigned), treat it as an interface name.  Finally, if the
      interface argument is prefixed by "host!" treat it as a hostname that
      must be resolved by /etc/hosts or DNS.
      
      These changes allow a client using the multi interfaces to avoid
      blocking on name resolution if the interface loses its IP address or
      disappears.
      6e4835c7
  2. Dec 07, 2011
  3. Dec 05, 2011
    • Daniel Stenberg's avatar
      FTP: close callback fix · d5b5f64b
      Daniel Stenberg authored
      Keep track of which sockets that are the result of accept() calls and
      refuse to call the closesocket callback for those sockets. Test case 596
      now verifies that the open socket callback is called the same number of
      times as the closed socket callback for active FTP connections.
      
      Bug: http://curl.haxx.se/mail/lib-2011-12/0018.html
      Reported by: Gokhan Sengun
      d5b5f64b
    • Daniel Stenberg's avatar
      FTP: call opensocket callback properly · 088ba97a
      Daniel Stenberg authored
      When the new socket is created for an active connection, it is now done
      using the open socket callback.
      
      Test case 596 was modified to run fine, although it hides the fact that
      the close callback is still called too many times, as it also gets
      called for closing sockets that were created with accept().
      088ba97a
    • Daniel Stenberg's avatar
      Curl_socket: internal replacement for socket() · 9109cdec
      Daniel Stenberg authored
      Moved out into a separate function to work as a "generic" socket()
      replacement.
      9109cdec
  4. Oct 17, 2011
  5. Oct 15, 2011
  6. Sep 09, 2011
    • Daniel Stenberg's avatar
      tcpnodelay: rename variable · 303c9007
      Daniel Stenberg authored
      Renamed the variable from 'proto' to 'level' simply because it is not
      protocol you set but level and that is the name of the argument used in
      man pages and the POSIX documentation of the setsockopt function.
      303c9007
  7. Sep 03, 2011
  8. Aug 18, 2011
    • Daniel Stenberg's avatar
      connect: set TIMER_CONNECT · 3af9ba16
      Daniel Stenberg authored
      When connecting, make sure TIMER_CONNECT is set.
      3af9ba16
    • Daniel Stenberg's avatar
      FTP: fix proxy connect race condition · b998d95b
      Daniel Stenberg authored
      When using the multi interface, a SOCKS proxy, and a connection that
      wouldn't immediately consider itself connected (which my Linux tests do
      by default), libcurl would be tricked into doing _two_ connects to the
      SOCKS proxy when it setup the data connection and then of course the
      second attempt would fail miserably and cause error.
      
      This problem is a regression that was introduced by commit
      4a42e5cd that was introduced in the 7.21.7 release.
      
      Bug: http://curl.haxx.se/mail/lib-2011-08/0199.html
      Reported by: Fabian Keil
      b998d95b
  9. Aug 05, 2011
  10. Jul 26, 2011
  11. Jul 25, 2011
  12. Jul 24, 2011
  13. Jun 10, 2011
  14. Jun 04, 2011
  15. May 26, 2011
  16. May 18, 2011
  17. Apr 28, 2011
  18. Apr 27, 2011
  19. 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
  20. Apr 21, 2011
  21. Apr 11, 2011
  22. Feb 17, 2011
  23. Feb 09, 2011
  24. 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
  25. Jan 04, 2011
  26. 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
  27. Dec 03, 2010
  28. Dec 01, 2010
  29. Nov 30, 2010
  30. 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
  31. 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
  32. Sep 14, 2010
  33. Sep 05, 2010