Daniel Stenberg
686d90745b
First curl_multi_socket() commit. Should primarily be considered as an internal
...
code rearrange to fit the future better.
2006-04-10 15:00:53 +00:00
Gisle Vanem
dc4fbd2e97
Small fix.
2006-02-26 18:20:43 +00:00
Gisle Vanem
60b029869f
Use getprotobyname() to retrieve protocol number for TCP
...
(sorry, I don't know how to add this to the configure process).
2006-02-26 17:08:33 +00:00
Gisle Vanem
5994b62930
Squelch the "warning: 'port' might be used uninitialized in this function".
...
(occurs w/o ENABLE_IPV6).
2006-01-30 18:57:02 +00:00
Daniel Stenberg
2fbf94b0f3
Added CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE to libcurl. Set with the
...
curl tool with --local-port. Plain and simply set the range of ports to bind
the local end of connections to. Implemented on to popular demand.
Not extensively tested. Please let me know how it works.
2006-01-30 08:24:07 +00:00
Yang Tse
d6c5d24af3
Cleanup windows header includes. Where aplicable, inclusion of
...
windows.h winsock.h winsock2.h ws2tcpip.h is done in setup.h
2005-12-18 15:36:14 +00:00
Dan Fandrich
e2df946eee
Fixed some compiler warnings on lcc.
2005-12-13 18:54:31 +00:00
Daniel Stenberg
9e0882ba98
close the existing socket when trying next IP, as otherwise we leak one!
...
bug #1326306
2005-10-25 13:15:11 +00:00
Daniel Stenberg
e7093b3ca8
keep 'socktype' in the connectdata struct and make sure we use that for all
...
protocol sockets even if the resolved address may say otherwise
2005-09-16 21:30:08 +00:00
Daniel Stenberg
56d9624b56
John Kelly added TFTP support to libcurl. A bunch of new error codes was
...
added. TODO: add them to docs. add TFTP server to test suite. add TFTP to
list of protocols whereever those are mentioned.
2005-09-02 15:11:08 +00:00
Dan Fandrich
6e87cf5b30
Fixed some typos in output messages.
2005-07-21 22:18:35 +00:00
Daniel Stenberg
944af98be6
fix warning about redefined symbol
2005-05-14 21:15:36 +00:00
Gisle Vanem
0c96056a94
Change for systems with >1 ways of setting (non-)blocking
...
mode. (djgpp/Watt-32 has 3 ways). Should rewrite this using
"#elif ..", but maybe there is still broken cpp around?
2005-05-14 05:58:52 +00:00
Daniel Stenberg
44985e8884
improved failf() error messages
2005-05-02 22:53:55 +00:00
Daniel Stenberg
ae1d6f29d9
singleipconnect() returns a socket descriptor, not a CURLcode (but perhaps
...
we should make it do that...)
2005-04-30 15:16:39 +00:00
Daniel Stenberg
6b1220b61d
Cory Nelson's work on nuking compiler warnings when building on x64 with
...
VS2005.
2005-04-26 13:08:49 +00:00
Daniel Stenberg
3916d1e6cb
silence compiler warnings for mingw win32 builds --enable-debug
2005-03-14 15:43:23 +00:00
Daniel Stenberg
176981b529
close the socket properly when returning error due to failing localbind
...
Bug report #1124588 by David
2005-02-17 14:45:03 +00:00
Daniel Stenberg
9a820d7a98
include "url.h" for the Curl_safefree() proto
2005-01-29 22:38:45 +00:00
Daniel Stenberg
c4ff5eb0ca
conn->ip_addr MUST NOT be used on re-used connections
2005-01-29 13:07:16 +00:00
Daniel Stenberg
f661475962
Connect failures with the multi interface was often returned as "connect()
...
timed out" even though the reason was different. Fixed this problem by not
setting this timeout to zero when using multi.
2005-01-28 23:21:24 +00:00
Gisle Vanem
1dc15ec1bc
Set 'data->state.os_errno = error' in some places.
...
Needed elsewhere too?
2004-12-13 17:52:55 +00:00
Daniel Stenberg
b96a0dba90
Gisle Vanem's fix for better info messages when failing to connect using
...
the multi interface
2004-12-06 22:45:45 +00:00
Daniel Stenberg
8e34e75100
Curl_select's timeout arg is an int
2004-11-22 13:28:44 +00:00
Daniel Stenberg
1a05a90f1c
David Phillips' FD_SETSIZE fix
2004-11-19 08:52:33 +00:00
Daniel Stenberg
5931d43a36
clean up start time and t_startsingle use so that redirect_time works properly
2004-11-15 11:27:03 +00:00
Daniel Stenberg
24d47a6e07
Paul Nolan fix to make libcurl build nicely on Windows CE
2004-11-02 10:12:22 +00:00
Daniel Stenberg
f4bef25b5e
CURLINFO_NUM_CONNECTS and more
2004-10-19 15:30:08 +00:00
Daniel Stenberg
34342bcd19
SO_NOSIGPIPE
2004-10-11 17:23:41 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
be1cece69b
- Larry Campbell added CURLINFO_OS_ERRNO to curl_easy_getinfo() that allows an
...
app to retrieve the errno variable after a (connect) failure. It will make
sense to provide this for more failures in a more generic way, but let's
start like this.
2004-09-30 21:01:23 +00:00
Daniel Stenberg
6cd2536048
set an error message when connection fails
2004-09-19 14:27:56 +00:00
Daniel Stenberg
55e61c092e
Fixed multiple IP connects with the multi interface. This fix is influenced
...
by Gisle Vanem's patch, only modified by me.
2004-08-04 12:38:01 +00:00
Daniel Stenberg
4c17ba4fc0
make sure the 3rd argument passed to bind() is a socklen_t
2004-07-04 21:48:54 +00:00
Daniel Stenberg
090b89cc76
Variable type cleanups to please the picky MIPSPro compiler.
2004-07-01 08:10:21 +00:00
Daniel Stenberg
ba40eccc90
make the SSL connect use the same default connect timeout define as the
...
generic connect uses
2004-06-30 09:22:48 +00:00
Daniel Stenberg
6ed5feda2b
First attempt at making the multi interface work when connecting to a host
...
that resolves to multiple IP addresses.
2004-06-29 11:20:07 +00:00
Daniel Stenberg
8d0a823124
only use sockaddr_in6 on ipv6-enabled hosts
2004-06-24 09:13:50 +00:00
Daniel Stenberg
c39858aac0
Source cleanups. The major one being that we now _always_ use a Curl_addrinfo
...
linked list for name resolved data, even on hosts/systems with only IPv4
stacks as this simplifies a lot of code.
2004-06-24 07:43:48 +00:00
Daniel Stenberg
818aed35e2
static functions are better not Curl_ prefixed to make their static
...
status more obvious
2004-06-23 09:08:03 +00:00
Daniel Stenberg
5f1eefd03f
prevent a warning
2004-06-23 06:14:23 +00:00
Daniel Stenberg
2494701347
the hostname variable wasn't assigned and we no longer use it
2004-06-22 21:25:53 +00:00
Daniel Stenberg
d73425061a
Moved the "About to connect() to" text to the place where the host name is
...
actually known, as before this text lied when used in i.e FTP.
2004-06-22 15:23:01 +00:00
Daniel Stenberg
9f341f9ce5
Gisle Vanem's improved verbose output and timeout handling when connecting to
...
a host name that resolves to multiple IP addresses.
2004-06-10 11:06:21 +00:00
Daniel Stenberg
1ab4a2f870
delete trailing whitespace
2004-06-08 15:05:20 +00:00
Daniel Stenberg
05d8e56ffd
Gisle Vamem reintroduced the verifyconnect() call on windows as well, and
...
we now use it to provide more info back on connect failures.
2004-05-13 10:40:17 +00:00
Daniel Stenberg
bbafb2eb27
curl_global_init_mem() allows the memory functions to be replaced.
...
memory.h is included everywhere for this.
2004-05-11 11:30:23 +00:00
Daniel Stenberg
4b9f8e766d
Made host name and proxy name get stored in a 'struct hostname' and set
...
all things up to work with encoded host names internally, as well as keeping
'display names' to show in debug messages. IDN resolves work for me now using
ipv6, ipv4 and ares resolving. Even cookies on IDN sites seem to do right.
2004-04-27 13:56:23 +00:00
Daniel Stenberg
245e3122df
Made defines instead of plain numbers for the Curl_resolv() return code to
...
make the code easier to read
2004-04-26 14:18:00 +00:00
Daniel Stenberg
d02587750c
added function headers and comments
2004-04-26 07:11:06 +00:00
Daniel Stenberg
78ebe3fa5a
Gisle made a failed connect output the reason for it
2004-04-17 11:33:47 +00:00
Daniel Stenberg
4e3aa250c4
Moved the 'tcp_nodelay' member to the proper 'UserDefined' struct within the
...
sessionhandle to make the duphandle() function work as supposed. Also tried
to start document functions the doxygen way (in the headers of the functions).
Can't make it work though...
2004-04-13 07:16:26 +00:00
Daniel Stenberg
40d9855df2
Andrs Garca fixed a warning in the ioctlsocket() usage.
2004-03-31 10:34:53 +00:00
Daniel Stenberg
d5b8971ff3
typecast setsockopt()'s 4th argument to void * to make compilers complain
...
less
2004-03-30 13:05:45 +00:00
Daniel Stenberg
d85c21994f
netinet/tcp.h may require netinet/in.h to be include before
2004-03-29 06:22:57 +00:00
Daniel Stenberg
ed22afe5fb
Tor fixed a left-over from the ip argument to setnodelay
2004-03-27 11:15:50 +00:00
Daniel Stenberg
43137cf595
check for netinet/tcp.h precense before actually including it
2004-03-26 07:10:15 +00:00
Daniel Stenberg
db6dc49b0b
removed the ip number from the notcpdelay function
2004-03-26 07:03:30 +00:00
Daniel Stenberg
e21104a865
only output one line about the nodelay even if it fails
2004-03-25 14:01:01 +00:00
Daniel Stenberg
762dcf0780
include the strerror.h file without curl_ prefix
2004-03-25 13:42:23 +00:00
Daniel Stenberg
bb3d6e8552
tcp-nodelay patch by Joe Halpin
2004-03-25 13:37:18 +00:00
Daniel Stenberg
b60d6404d8
Gisle Vanem's fix to replace the bad use of strerror(). This introduces
...
Curl_strerror() that attempts to be thread-safe _and_ works on Windows too!
2004-03-24 22:45:37 +00:00
Daniel Stenberg
fe6f0aeb26
switch() on the right variable!
2004-03-23 15:48:27 +00:00
Daniel Stenberg
1f61e7f8f4
If localbind fails, provide a more portable error message.
2004-03-23 14:43:42 +00:00
Daniel Stenberg
5b55f9ecb3
Gnter Knauf's NetWare changes.
2004-03-17 12:46:42 +00:00
Daniel Stenberg
e545e33d5f
Gisle Vanem's fixes to use CURL_SOCKET_BAD more instead of -1 for sockets.
2004-03-11 13:13:35 +00:00
Daniel Stenberg
ce5805a955
Use curl_socket_t instead of int for holding sockets. The typedefs and
...
defines are in setup.h.
2004-03-09 22:52:50 +00:00
Daniel Stenberg
576be36249
waitconnect() takes the timeout argument as a long
2004-03-08 11:36:47 +00:00
Daniel Stenberg
e40392ac03
Andrs Garca's patch to prevent warnings while compiling with mingw, mainly
...
because it is now possible to have both WIN32 and HAVE_CONFIG_H defined.
2004-03-04 15:32:18 +00:00
Daniel Stenberg
0d3aa8b7be
Use the was_iface variable when binding a socket locally, even if no
...
SO_BINDTODEVICE is present, to prevent compiler warnings about the variable
2004-02-15 13:55:24 +00:00
Daniel Stenberg
fa57a8a78e
Ben Greear's SO_BINDTODEVICE patch that binds to a network interface "even
...
more" when the previous approach. Known to work on Linux, possibly on other
platforms as well.
2004-02-13 09:50:23 +00:00
Daniel Stenberg
2d0b2f294f
Oops. I broke the flow with the previous commit.
2004-02-09 11:40:00 +00:00
Daniel Stenberg
3bdc883c93
some annoying compilers warn about "(void)foo;" lines so we avoid them
2004-02-09 08:34:19 +00:00
Daniel Stenberg
6b7f169b10
only do the verifyconnect() clear magic on mpeix
2004-01-30 07:51:51 +00:00
Daniel Stenberg
bfe5568c85
added verifyconnect proto and use it correctly in the waitconnect function
2004-01-29 15:37:21 +00:00
Daniel Stenberg
76a51ef4b3
1. changed order of two include files to build fine on MPE/iX
...
2. now reads the socket error before check connect status, also to make us
run fine on MPE/iX
2004-01-29 15:29:47 +00:00
Daniel Stenberg
4d17d6876e
Dan Fandrich's cleanup patch to make pedantic compiler options cause less
...
warnings. Minor edits by me.
2004-01-29 13:56:45 +00:00
Daniel Stenberg
7052daf475
added missing parenthesis
2004-01-15 09:54:30 +00:00
Daniel Stenberg
c5c89862b2
rearranged the connect() call so that there's no interleaved #ifdef, to make
...
it compiler better on amigaos
2004-01-14 09:11:42 +00:00
Daniel Stenberg
053f6c85ef
updated year in the copyright string
2004-01-07 09:19:33 +00:00
Daniel Stenberg
43bb20461f
Peter Sylvester found a flaw in the connect code for ipv6-enabled hosts.
...
I guess it seldomly happens on linux and that's why it wasn't found before.
He used Solaris to notice it.
I took the opportunity to rewrite the Curl_connecthost() slightly to feature
less duplicate code in the two different versions (ipv4/ipv6).
2003-11-13 13:28:40 +00:00
Daniel Stenberg
5eee801d06
don't shadow 'socket'
2003-10-18 20:34:33 +00:00
Daniel Stenberg
7201a5a290
the previous fix left this compiler error
2003-10-15 20:37:00 +00:00
Daniel Stenberg
a9af971c59
Avoid doing getsockopt() on Windows to verify connects. It seems that this
...
hogs Windows machines when libcurl is being used multi-threaded (with > ~50
threads). Andrew Fuller helped us verify and test this.
According to a MSDN web page on connect(), it returns 0 when the connect
is done and thus we don't need the getsockopt() call anyway on Windows.
2003-10-15 11:42:57 +00:00
Daniel Stenberg
749f5387c1
Gisle Vanem's IPv6-on-Windows patch applied!
2003-10-14 12:00:45 +00:00
Daniel Stenberg
5c52cacc98
- Frank Ticheler provided a patch that fixes how libcurl connects to multiple
...
addresses, if one of them fails (ipv4-code).
2003-10-08 13:32:43 +00:00
Daniel Stenberg
57b6202eaa
New code for BeOS-style non-blocking sockets, provided by Shard and
...
Jeremy Friesner.
2003-10-05 15:02:58 +00:00
Daniel Stenberg
96fecba190
bindlocal works for Windows!
2003-08-11 23:15:13 +00:00
Daniel Stenberg
b73612392d
ares awareness/usage/support added. If configure --enable-ares is used, we
...
build libcurl to use ares for asynch name resolves.
2003-08-05 14:40:59 +00:00
Daniel Stenberg
1eef6f44ba
CURLDEBUG instead of MALLOCDEBUG
2003-06-26 06:47:20 +00:00
Daniel Stenberg
e615d117a0
Setup and use CURL_INADDR_NONE all over instead of INADDR_NONE. We setup
...
the define accordingly in the hostip.h header to work nicely all over.
2003-05-13 12:12:17 +00:00
Daniel Stenberg
871358a6e5
before checking for network interfaces using if2ip(), check that the given
...
name isn't an ip address
2003-05-12 13:06:48 +00:00
Daniel Stenberg
eb6130baa7
ourerrno became Curl_ourerrno() and is now available to all libcurl
2003-05-01 13:37:05 +00:00
Daniel Stenberg
652683fc04
Martin C. Martin's fix to produce an error message in case of failure
...
in the Curl_is_connected() function.
2003-03-11 16:28:23 +00:00
Daniel Stenberg
c3dfe50aaf
Fix Curl_is_connected() even more to deal with waitconnect() return codes
...
even better (also based on input from Martin).
2003-02-14 09:11:51 +00:00
Daniel Stenberg
498f3985b3
geterrno() renamed to ourerrno() to prevent the name clash that occurred in
...
AIX 3.2.5 and possibly other OSF-like system headers.
2003-02-14 09:01:01 +00:00
Daniel Stenberg
977175d4fd
Martin C. Martin's fix for multi-interface connects to non-listening ports.
2003-02-14 08:02:55 +00:00
Jean-Philippe Barette-LaPierre
beb13a1d3e
added the sharing of DNS cache
2003-02-04 23:48:46 +00:00
Daniel Stenberg
a6c395c156
Duncan Wilcox reported a crash with --interface on FreeBSD when ipv6-enabled
...
and this has been verified to correct the problem.
2003-01-23 05:38:20 +00:00
Daniel Stenberg
f26a338a54
copyright year update in the source header
2003-01-16 21:08:12 +00:00