aboutsummaryrefslogtreecommitdiff
path: root/lib/connect.c
AgeCommit message (Collapse)Author
2010-06-08fix function result checkingYang Tse
2010-06-07Curl_updateconninfo() error handling fixYang Tse
2010-06-05replace socklen_t with curl_socklen_tYang Tse
2010-06-05getinfo: added *_PRIMARY_PORT, *_LOCAL_IP and *_LOCAL_PORTFrank Meier
2010-05-07multi interface: missed storing connection timeDaniel Stenberg
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.
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2010-03-23mark connection as connectedDaniel Stenberg
Kenny To filed the bug report #2963679 with patch to fix a problem he experienced with doing multi interface HTTP POST over a proxy using PROXYTUNNEL. He found a case where it would connect fine but bits.tcpconnect was not set correct so libcurl didn't work properly. (http://curl.haxx.se/bug/view.cgi?id=2963679)
2010-02-04fix printf-style format stringsYang Tse
2010-02-02Fix compiler warning: conditional expression is constantYang Tse
2010-01-28fix printf-style format stringsYang Tse
2010-01-22wrap long lines and do some indent policingDaniel Stenberg
2010-01-11- Made sure that the progress callback is repeatedly called at a regularDaniel Stenberg
interval even during very slow connects.
2009-12-30VMS specific preprocessor symbol checking adjustmentsYang Tse
2009-10-01- Tom Mueller correctly reported in bug report #2870221Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=2870221) that libcurl returned an incorrect return code from the internal trynextip() function which caused him grief. This is a regression that was introduced in 7.19.1 and I find it strange it hasn't hit us harder, but I won't persue into figuring out exactly why.
2009-10-01- Constantine Sapuntzakis: The current implementation will always setDaniel Stenberg
SO_SNDBUF to CURL_WRITE_SIZE even if the SO_SNDBUF starts out larger. The patch doesn't do a setsockopt if SO_SNDBUF is already greater than CURL_WRITE_SIZE. This should help folks who have set up their computer with large send buffers.
2009-08-29add cast to silent compiler warning with 64bit systems.Gunter Knauf
2009-07-09- Eric Wong introduced curlx_nonblock() that the curl tool now (re-)uses forDaniel Stenberg
setting a file descriptor non-blocking. Used by the functionality Eric himself brough on June 15th.
2009-05-07Curl_sndbufset is (at times) defined in the header, no need to do it again hereDaniel Stenberg
2009-05-07- Made the SO_SNDBUF setting for the data connection socket for ftp uploads asDaniel Stenberg
well. See change 28 Apr 2009.
2009-05-02Use build-time configured curl_socklen_t instead of socklen_tYang Tse
2009-04-30fix compiler warning: unused parameterYang Tse
2009-04-28- Constantine Sapuntzakis filed bug report #2783090Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=2783090) pointing out that on windows we need to grow the SO_SNDBUF buffer somewhat to get really good upload speeds. http://support.microsoft.com/kb/823764 has the details. Friends confirmed that simply adding 32 to CURL_MAX_WRITE_SIZE is enough.
2009-04-21libcurl's memory.h renamed to curl_memory.hYang Tse
2009-02-28for portability reasons: s/inet_pton/Curl_inet_pton/Yang Tse
2009-02-27- Senthil Raja Velu reported a problem when CURLOPT_INTERFACE andDaniel Stenberg
CURLOPT_LOCALPORT were used together (the local port bind failed), and Markus Koetter provided the fix!
2008-12-30changed HAVE_SIN6_SCOPE_ID define to HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID since ↵Gunter Knauf
just found that ares already uses this define.
2008-12-16Added the use of Watt-32 tcp/ip stack for Win32 targets.Gisle Vanem
2008-11-14Added some #ifdefs around header files and change the EAGAIN test toDan Fandrich
fix compilation on Cell (reported by Jeff Curley).
2008-11-13Refactor configure script detection of functions used to set sockets intoYang Tse
non-blocking mode, and decouple function detection from function capability.
2008-11-06Merged existing IPv4 and IPv6 Curl_ip2addr functions into a single oneYang Tse
which now also takes a protocol address family argument.
2008-11-03- Bug #2218480 (http://curl.haxx.se/bug/view.cgi?id=2218480) pointed out aDaniel Stenberg
problem with my CURLINFO_PRIMARY_IP fix from October 7th that caused a NULL pointer read. I also took the opportunity to clean up this logic (storing of the connection's IP address) somewhat as we had it stored in two different places and ways previously and they are now unified.
2008-10-24Stop using in6addr_any because it's not available everywhere (e.g. Symbian)Dan Fandrich
and isn't strictly needed here.
2008-10-24fix compiler warningYang Tse
2008-10-17portability fix to avoid memory alignment problemsYang Tse
2008-10-13There's no guarantee that a socket was involved at this point, so avoid ↵Yang Tse
displaying any error code. And on the other hand a message after setsockopt() certainly must use SOCKERRNO.
2008-10-11fix compiler warningYang Tse
2008-10-10Allow compilation when no IPv6 stack is available.Dan Fandrich
2008-10-09Fixed the --interface option to work with IPv6 connections on glibcDan Fandrich
systems supporting getifaddrs(). Also fixed a problem where an IPv6 address could be chosen instead of an IPv4 one for --interface when it involved a name lookup.
2008-09-08fix compiler warningYang Tse
2008-08-26Fixed out of memory problems that caused torture test failures in testsDan Fandrich
1021 and 1067.
2008-07-30- Phil Blundell added the CURLOPT_SCOPE option, as well as adjusted the URLDaniel Stenberg
parser to allow numerical IPv6-addresses to be specified with the scope given, as per RFC4007 - with a percent letter that itself needs to be URL escaped. For example, for an address of fe80::1234%1 the HTTP URL is: "http://[fe80::1234%251]/"
2008-07-28Fixed display of the interface bind address in the trace output when it'sDan Fandrich
an IPv6 address.
2008-06-08use our *printf functions only.Gunter Knauf
2008-06-06- Added CURLINFO_PRIMARY_IP as a new information retrievable withDaniel Stenberg
curl_easy_getinfo. It returns a pointer to a string with the most recently used IP address. Modified test case 500 to also verify this feature. The implementing of this feature was sponsored by Lenny Rachitsky at NeuStar.
2008-05-21Removed some duplicated #includesDan Fandrich
2008-05-12- Introducing curl_easy_send() and curl_easy_recv(). They can be used to sendDaniel Stenberg
and receive data over a connection previously setup with curl_easy_perform() and its CURLOPT_CONNECT_ONLY option. The sendrecv.c example was added to show how they can be used.
2008-05-03- Jean-Francois Bertrand reported a libcurl crash with CURLOPT_TCP_NODELAYDaniel Stenberg
since libcurl used getprotobyname() and that isn't thread-safe. We now switched to use IPPROTO_TCP unconditionally, but perhaps the proper fix is to detect the thread-safe version of the function and use that. http://curl.haxx.se/mail/lib-2008-05/0011.html
2008-05-01- Bart Whiteley provided a patch that made libcurl work properly when an appDaniel Stenberg
uses the CURLOPT_OPENSOCKETFUNCTION callback to create a unix domain socket to a http server.
2008-04-22Added support for running on Symbian OS.Dan Fandrich
2008-02-07- Refactored a lot of timeout code into a few functions in an attempt to makeDaniel Stenberg
them all use the same (hopefully correct) logic to make it less error-prone and easier to introduce library-wide where it should be used.