- Mar 20, 2012
-
-
Yang Tse authored
-
- Mar 16, 2012
-
-
Yang Tse authored
-
- Feb 09, 2012
-
-
Dave Reisner authored
This adds three new options to control the behavior of TCP keepalives: - CURLOPT_TCP_KEEPALIVE: enable/disable probes - CURLOPT_TCP_KEEPIDLE: idle time before sending first probe - CURLOPT_TCP_KEEPINTVL: delay between successive probes While not all operating systems support the TCP_KEEPIDLE and TCP_KEEPINTVL knobs, the library will still allow these options to be set by clients, silently ignoring the values.
-
- Jan 28, 2012
-
-
Pierre Ynard authored
When connecting to a domain with multiple IP addresses, allow different, decreasing connection timeout values. This should guarantee some connections attempts with sufficiently long timeouts, while still providing fallback.
-
Pierre Ynard authored
-
- Jan 16, 2012
-
-
Yang Tse authored
-
- Dec 20, 2011
-
-
Daniel Stenberg authored
First off the timeout for accepting a server connect back must of course respect a global timeout. Then the timeleft function is only used by ftp code so it was moved to ftp.c and made static.
-
Gokhan Sengun authored
1- Two new error codes are introduced. CURLE_FTP_ACCEPT_FAILED to be set whenever ACCEPTing fails because of FTP server connected. CURLE_FTP_ACCEPT_TIMEOUT to be set whenever ACCEPTing timeouts. Neither of these errors are considered fatal and control connection remains OK because it could just be a firewall blocking server to connect to the client. 2- One new setopt option was introduced. CURLOPT_ACCEPTTIMEOUT_MS It sets the maximum amount of time FTP client is going to wait for a server to connect. Internal default accept timeout is 60 seconds.
-
- Dec 13, 2011
-
-
Yang Tse authored
-
- Dec 12, 2011
-
-
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.
-
- Dec 07, 2011
-
-
Gokhan Sengun authored
As a follow-up from commit d5b5f64b, clear the sock_accepted status when such a socket is closed to avoid a re-used connection to retain the state wrongly. Bug: http://curl.haxx.se/mail/lib-2011-12/0079.html
-
- Dec 05, 2011
-
-
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
-
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().
-
Daniel Stenberg authored
Moved out into a separate function to work as a "generic" socket() replacement.
-
- Oct 17, 2011
-
-
Daniel Stenberg authored
Previously the bit was set before the connection was found working so if it would first fail to an ipv6 address and then connect fine to a IPv4 address the variable would still be TRUE. Reported by: Thomas L. Shinnick Bug: http://curl.haxx.se/bug/view.cgi?id=3421912
-
- Oct 15, 2011
-
-
Daniel Stenberg authored
Save the errno value immediately after a connect() failure so that it won't get reset to something else before we read it. Bug: http://curl.haxx.se/mail/lib-2011-10/0066.html Reported by: Frank Van Uffelen and Fabian Hiernaux
-
- Sep 09, 2011
-
-
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.
-
- Sep 03, 2011
-
-
Yang Tse authored
-
- Aug 18, 2011
-
-
Daniel Stenberg authored
When connecting, make sure TIMER_CONNECT is set.
-
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
-
- Aug 05, 2011
-
-
Yang Tse authored
-
- Jul 26, 2011
-
-
Yang Tse authored
-
- Jul 25, 2011
-
-
Yang Tse authored
-
- Jul 24, 2011
-
-
Yang Tse authored
-
- Jun 10, 2011
-
-
Daniel Stenberg authored
With "@unittest: [num]" in the header comment for each tested function. Shows we have a log way to go still...
-
- Jun 04, 2011
-
-
Daniel Stenberg authored
It was mostly typecasted to int all over the code so switching to long instead all over should be a net gain.
-
- May 26, 2011
-
-
Yang Tse authored
Fix compiler warning: conversion may lose significant bits
-
- May 18, 2011
-
-
Daniel Stenberg authored
Fix the return type of the callback to match close() and make use of it.
-
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.
-
- Apr 28, 2011
-
-
Daniel Stenberg authored
When connecting to a socks or similar proxy we do the proxy handshake at once when we know the TCP connect is completed and we only consider the "connection" complete after the proxy handshake. This fixes test 564 which is now no longer considered disabled. Reported by: Dmitri Shubin Bug: http://curl.haxx.se/mail/lib-2011-04/0127.html
-
- Apr 27, 2011
-
-
Daniel Stenberg authored
"if(a)" is our style, not "if( a )"
-
Daniel Stenberg authored
By the use of a the new lib/checksrc.pl script that checks that our basic source style rules are followed.
-
- Apr 25, 2011
-
-
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.
-
- Apr 21, 2011
-
-
Fabian Keil authored
Found with codespell.
-
- Apr 11, 2011
-
-
Daniel Stenberg authored
When checking if an existing RTSP connection is alive or not, the checkconnection function might be called with a SessionHandle pointer being NULL and then referenced causing a crash. This happened only using the multi interface. Reported by: Tinus van den Berg Bug: http://curl.haxx.se/bug/view.cgi?id=3280739
-
- Feb 17, 2011
-
-
Daniel Stenberg authored
Introducing a few CURL_SOCKOPT* defines for conveniance. The new CURL_SOCKOPT_ALREADY_CONNECTED signals to libcurl that the socket is to be treated as already connected and thus it will skip the connect() call.
-
- Feb 09, 2011
-
-
Daniel Stenberg authored
When the callback returns an error, this function must make sure to return CURLE_ABORTED_BY_CALLBACK properly and not CURLE_OK as before to allow the callback to properly abort the operation.
-
- Jan 10, 2011
-
-
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"
-
- Jan 04, 2011
-
-
Daniel Stenberg authored
As the function doesn't really use the connectdata struct but only the SessionHanadle struct I modified what argument it wants.
-
- Dec 23, 2010
-
-
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.
-