aboutsummaryrefslogtreecommitdiff
path: root/lib/connect.c
AgeCommit message (Collapse)Author
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.
2008-01-08Change typecast due to ↵Yang Tse
http://cool.haxx.se/cvs.cgi/curl/include/curl/curl.h.diff?r1=1.336&r2=1.337
2007-11-05removed space after if and while before the parenthesis for better source codeDaniel Stenberg
consistency
2007-10-17Fix compiler warning: signed and unsigned type in conditional expressionYang Tse
2007-10-17Fix compiler warning: comparison between signed and unsignedYang Tse
2007-10-04Kim Rinnewitz reported that --local-port didn't work with TFTP transfers.Daniel Stenberg
This happened because the tftp code always uncondionally did a bind() without caring if one already had been done and then it failed. I wrote a test case (1009) to verify this, but it is a bit error-prone since it will have to pick a fixed local port number and since the tests are run on so many different hosts in different situations I add it in disabled state.
2007-10-03exported symbols must use lowercase "curl_", and I also fixed two compilerDaniel Stenberg
warnings, one C99 thing and the bad pointer sent to the callback
2007-10-03Alexey Pesternikov introduced CURLOPT_OPENSOCKETFUNCTION andDaniel Stenberg
CURLOPT_OPENSOCKETDATA to set a callback that allows an application to replace the socket() call used by libcurl. It basically allows the app to change address, protocol or whatever of the socket. (I also did some whitespace indent/cleanups in lib/url.c which kind of hides some of these changes, sorry for mixing those in.)
2007-09-05Minix doesn't support getsockopt on UDP sockets or send/recv on TCPDan Fandrich
sockets.
2007-08-30Renamed several libcurl error codes and options to make them more generalDan Fandrich
and allow reuse by multiple protocols. Several unused error codes were removed. In all cases, macros were added to preserve source (and binary) compatibility with the old names. These macros are subject to removal at a future date, but probably not before 2009. An application can be tested to see if it is using any obsolete code by compiling it with the CURL_NO_OLDIES macro defined. Documented some newer error codes in libcurl-error(3)
2007-08-02Patrick Monnerat's cleanup fix after my alloc-strings commitDaniel Stenberg
2007-08-01Patrick Monnerat and I modified libcurl so that now it *copies* all stringsDaniel Stenberg
passed to it with curl_easy_setopt()! Previously it has always just refered to the data, forcing the user to keep the data around until libcurl is done with it. That is now history and libcurl will instead clone the given strings and keep private copies.
2007-07-13Colin Hogben filed bug report #1750274Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1750274) and submitted a patch for the case where libcurl did a connect attempt to a non-listening port and didn't provide a human readable error string back.
2007-07-13Daniel Cater made libcurl build with CURL_NO_OLDIES defined (which doesn'tDaniel Stenberg
define the symbols for backwards source compatibility)
2007-07-11removed now obsolete NETDB_DEFINE_CONTEXT macro calls.Gunter Knauf
2007-06-30minor patches to enable building for NetWare CLIB.Gunter Knauf
sent by Dmitry Mityugov.
2007-04-22Avoid an unnecessary call to gettimeofday() whenYang Tse
using custom timeout values.
2007-04-19fix comment and line spacingYang Tse
2007-04-16- Robert Iakobashvil added curl_multi_socket_action() to libcurl, which is aDaniel Stenberg
function that deprecates the curl_multi_socket() function. Using the new function the application tell libcurl what action that was found in the socket that it passes in. This gives a significant performance boost as it allows libcurl to avoid a call to poll()/select() for every call to curl_multi_socket*().
2007-03-26Internal function Curl_select() renamed to Curl_socket_ready()Yang Tse
2007-03-13Use Curl_inet_pton() instead of inet_pton().Gisle Vanem
2007-03-11fix compiler warning: unused variableYang Tse
2007-03-09- Robert Iakobashvili fixed CURLOPT_INTERFACE for IPv6.Daniel Stenberg
2007-02-26Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-filesGisle Vanem
since they're already included through "setup.h".
2007-02-22Check for stdbool.h at configuration stage, and include it if available.Yang Tse
Check for lowercase 'bool' type at configuration stage. If not available provide a suitable replacement with a type definition of 'unsigned char' in setup_once.h Move definitions of TRUE and FALSE to setup_once.h
2007-02-21curlassert macro replaced with DEBUGASSERT macro defined in setup_once.hYang Tse
2007-02-17Move portable error number symbolic name definitions to setup_once.hYang Tse
2007-02-16use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handlingYang Tse
2007-02-05- Michael Wallner provided a patch that adds support for CURLOPT_TIMEOUT_MSDaniel Stenberg
and CURLOPT_CONNECTTIMEOUT_MS that, as their names should hint, do the timeouts with millisecond resolution instead. The only restriction to that is the alarm() (sometimes) used to abort name resolves as that uses full seconds. I fixed the FTP response timeout part of the patch. Internally we now count and keep the timeouts in milliseconds but it also means we multiply set timeouts with 1000. The effect of this is that no timeout can be set to more than 2^31 milliseconds (on 32 bit systems), which equals 24.86 days. We probably couldn't before either since the code did *1000 on the timeout values on several places already.
2006-12-22- David McCreedy fixed a bad call to getsockname() that wrongly used a size_tDaniel Stenberg
variable to point to when it should be a socklen_t.
2006-10-18Check for USE_WINSOCK instead of WIN32 where the check was doneYang Tse
to verify winsock API availability.
2006-08-30Removed "#ifndef__WATCOMC__". Use "#ifdef HAVE_SYS_TIME_H" instead.Gisle Vanem
2006-08-29Watcom lacks <sys/time.h>.Gisle Vanem
2006-08-29David McCreedy added CURLOPT_SOCKOPTFUNCTION and CURLOPT_SOCKOPTDATA toDaniel Stenberg
allow applications to set their own socket options.
2006-07-21Constify some arguments in Curl_connecthost() and singleipconnect().Gisle Vanem