Gisle Vanem [Tue, 11 Dec 2007 17:22:20 +0000 (17:22 +0000)]
Build acountry.exe. Added 'socklen_t' define.
Gisle Vanem [Tue, 11 Dec 2007 17:21:12 +0000 (17:21 +0000)]
Another sample application that returns country-code and
name from an IPv4-address or host-name. Using the service of
countries.nerd.dk.
Daniel Stenberg [Mon, 10 Dec 2007 22:20:26 +0000 (22:20 +0000)]
grrr, the previous commit was meant to properly make sure that we don't
link any executables when doing debug builds since they kind of assume
symbols provided by libcurl, but it also wrongly included acountry.c
Daniel Stenberg [Mon, 10 Dec 2007 22:19:06 +0000 (22:19 +0000)]
when building
Daniel Stenberg [Mon, 10 Dec 2007 21:42:04 +0000 (21:42 +0000)]
build ahost and adig by default but don't install them
Gisle Vanem [Mon, 10 Dec 2007 16:14:02 +0000 (16:14 +0000)]
Fix for targets that do have 'struct in6_addr', but which doesn't
define 's6_addr' as a macro.
Yang Tse [Mon, 3 Dec 2007 19:57:18 +0000 (19:57 +0000)]
Fix three issues previous cleanup introduces.
Daniel Stenberg [Mon, 3 Dec 2007 10:25:05 +0000 (10:25 +0000)]
Erik Kline cleaned up ares_gethostbyaddr.c:next_lookup() somewhat
Daniel Stenberg [Mon, 3 Dec 2007 10:22:29 +0000 (10:22 +0000)]
Brad Spencer fixed the configure script to assume that there's no
/dev/urandom when built cross-compiled as then the script cannot check for
it.
Daniel Stenberg [Wed, 28 Nov 2007 15:18:27 +0000 (15:18 +0000)]
the gethostbyname fix applied here as well
Daniel Stenberg [Wed, 28 Nov 2007 10:46:40 +0000 (10:46 +0000)]
fix next_lookup() to continue searching even if c-ares failed to load the
/etc/hosts file, pointed out by Erik Kline:
http://daniel.haxx.se/projects/c-ares/mail/c-ares-archive-2007-11/0027.shtml
Daniel Stenberg [Tue, 27 Nov 2007 22:41:53 +0000 (22:41 +0000)]
Remove the check for libdl since that isn't actually used and it causes
warnings. Pointed out by Robin Cornelius.
Daniel Stenberg [Tue, 27 Nov 2007 22:38:11 +0000 (22:38 +0000)]
pkgconfig fix by Andreas Schuldei
Daniel Stenberg [Tue, 27 Nov 2007 22:37:55 +0000 (22:37 +0000)]
spellfix
Daniel Stenberg [Wed, 21 Nov 2007 10:16:44 +0000 (10:16 +0000)]
and we start on 1.5.2!
Daniel Stenberg [Wed, 21 Nov 2007 10:12:20 +0000 (10:12 +0000)]
change
Daniel Stenberg [Wed, 21 Nov 2007 10:12:06 +0000 (10:12 +0000)]
oops
Daniel Stenberg [Wed, 21 Nov 2007 09:31:56 +0000 (09:31 +0000)]
start working on 1.5.1 now
Daniel Stenberg [Wed, 21 Nov 2007 09:24:03 +0000 (09:24 +0000)]
this is what 1.5.0 is
Daniel Stenberg [Mon, 19 Nov 2007 15:47:01 +0000 (15:47 +0000)]
fill in missing copyrights
Gunter Knauf [Sun, 18 Nov 2007 22:48:39 +0000 (22:48 +0000)]
removed now obsolete defines;
updated external library versions to latest.
Steinar H. Gunderson [Fri, 16 Nov 2007 09:36:00 +0000 (09:36 +0000)]
Fix a double free.
Yang Tse [Thu, 15 Nov 2007 19:44:01 +0000 (19:44 +0000)]
Needed now that in6_addr is referenced in ares.h
Steinar H. Gunderson [Thu, 15 Nov 2007 09:16:48 +0000 (09:16 +0000)]
When looking up in DNS and then in the hosts file, return the error code from DNS if both fail, instead of returning the error code from the hosts file, as today. Patch from the Google tree.
Steinar H. Gunderson [Thu, 15 Nov 2007 08:36:25 +0000 (08:36 +0000)]
Return TTL data from ares_parse_{a,aaaa}_reply, if the user is so inclined. Patch from the Google tree.
Yang Tse [Thu, 8 Nov 2007 18:13:54 +0000 (18:13 +0000)]
Define WIN32 when build target is Win32 API.
This also defines it for WinCE even though it is a subset of WIN32.
Yang Tse [Thu, 8 Nov 2007 01:33:28 +0000 (01:33 +0000)]
The only libraries actually needed for sample programs adig and
ahost are ws2_32.lib and advapi32.lib
Yang Tse [Wed, 7 Nov 2007 18:18:42 +0000 (18:18 +0000)]
MSVC versions prior to VS2005 do not complain about portable C functions
Yang Tse [Wed, 24 Oct 2007 14:39:07 +0000 (14:39 +0000)]
Windows build targets have socklen_t definition in ws2tcpip.h but some
versions of ws2tcpip.h do not have the definition. It seems that when
the socklen_t definition is missing from ws2tcpip.h the definition for
INET_ADDRSTRLEN is also missing, and that when one definition is present
the other one also is available.
Gunter Knauf [Mon, 22 Oct 2007 23:31:40 +0000 (23:31 +0000)]
removed dependency on gettimeofday() since we use only 1 sec resolution here.
Yang Tse [Sat, 20 Oct 2007 15:11:51 +0000 (15:11 +0000)]
Fix compiler warning: conversion from "int" to "unsigned short" may lose significant bits
Yang Tse [Fri, 19 Oct 2007 12:15:00 +0000 (12:15 +0000)]
Fix message shown when detecting icc version
Yang Tse [Fri, 19 Oct 2007 10:52:28 +0000 (10:52 +0000)]
Avoid shadowing a global declaration
Yang Tse [Thu, 18 Oct 2007 17:31:19 +0000 (17:31 +0000)]
Renamed a variable to avoid shadowing a global declaration
Yang Tse [Thu, 18 Oct 2007 17:17:18 +0000 (17:17 +0000)]
Renamed internal function to avoid a variable shadowing it
Yang Tse [Thu, 18 Oct 2007 16:24:14 +0000 (16:24 +0000)]
Fix compiler warning: feupdateenv is not implemented and will always fail.
Specifically for linux x86-64 with Intel's icc.
Yang Tse [Thu, 18 Oct 2007 15:11:51 +0000 (15:11 +0000)]
Sync PLATFORM_AIX_V3 detection and CURL_CC_DEBUG_OPTS()
icc warning level with libcurl's
Yang Tse [Thu, 18 Oct 2007 01:01:20 +0000 (01:01 +0000)]
Fix compiler warning: conversion from "int" to "unsigned char"
may lose significant bits
Yang Tse [Wed, 17 Oct 2007 18:18:27 +0000 (18:18 +0000)]
actually sync with lib/setup_once.h
Yang Tse [Wed, 17 Oct 2007 16:59:24 +0000 (16:59 +0000)]
sync with lib/setup_once.h
Steinar H. Gunderson [Tue, 16 Oct 2007 21:27:51 +0000 (21:27 +0000)]
Fix a bug where fallback from AF_INET6 to AF_INET would not work properly together with relative search; if you had a search path of .a.com and .b.com, and foo.a.com would return ARES_ENODATA and foo.b.com would return ARES_ENOTFOUND, the lookup would not properly retry with AF_INET as it forgot the first ARES_ENODATA.
Dan Fandrich [Mon, 15 Oct 2007 21:19:40 +0000 (21:19 +0000)]
Mention first version with CURLOPT_COPYPOSTFIELDS.
Don't confuse NUL with NULL.
Gisle Vanem [Mon, 8 Oct 2007 14:39:52 +0000 (14:39 +0000)]
Added needed 'HAVE_*' defines.
Gisle Vanem [Mon, 8 Oct 2007 14:38:51 +0000 (14:38 +0000)]
'FD_CLOXEC' is meaningless on MSDOS/Watt-32.
Steinar H. Gunderson [Thu, 4 Oct 2007 08:12:12 +0000 (08:12 +0000)]
Removed a piece of redundant code (process_answer already takes care of it).
Steinar H. Gunderson [Thu, 4 Oct 2007 08:09:52 +0000 (08:09 +0000)]
Another timeout fix in ares_getnameinfo().
Steinar H. Gunderson [Thu, 4 Oct 2007 08:09:04 +0000 (08:09 +0000)]
Send the timeout count in ares_getnameinfo().
Steinar H. Gunderson [Thu, 4 Oct 2007 08:07:47 +0000 (08:07 +0000)]
Moved the NULL check for channel upwards in ares_destroy().
Steinar H. Gunderson [Thu, 4 Oct 2007 08:06:25 +0000 (08:06 +0000)]
Clarified the comment over ares_cancel.
Yang Tse [Tue, 2 Oct 2007 18:26:48 +0000 (18:26 +0000)]
Avoid a segfault when generating a DNS "Transaction ID" in internal
function init_id_key() under low memory conditions.
Yang Tse [Tue, 2 Oct 2007 11:13:58 +0000 (11:13 +0000)]
Add ares_llist.c and ares_llist.h to MSCV project file.
Daniel Stenberg [Tue, 2 Oct 2007 08:12:30 +0000 (08:12 +0000)]
Fixed the problem where next_lookup would use 'status' uninitialized. Now
it gets passed the initial value as an argument.
Yang Tse [Tue, 2 Oct 2007 02:18:01 +0000 (02:18 +0000)]
Avoid inline C99ism, and move c-ares routines for managing doubly-linked lists.
Daniel Stenberg [Mon, 1 Oct 2007 22:52:31 +0000 (22:52 +0000)]
ares_strerror() segfaulted if the input error number was out of the currently
supported range.
Daniel Stenberg [Mon, 1 Oct 2007 22:51:38 +0000 (22:51 +0000)]
Prevent ares_strerror() from segfaulting if an invalid error code is passed
in as argument!
Yang Tse [Sun, 30 Sep 2007 19:43:23 +0000 (19:43 +0000)]
Fix compiler warning
Yang Tse [Sun, 30 Sep 2007 02:12:11 +0000 (02:12 +0000)]
check availability of <netinet/tcp.h>
Yang Tse [Sun, 30 Sep 2007 00:37:47 +0000 (00:37 +0000)]
improve portability, defining MAXDNAME and MAXCDNAME
Steinar H. Gunderson [Sun, 30 Sep 2007 00:08:01 +0000 (00:08 +0000)]
Fix a memory leak that I recently inadvertedly introduced.
Steinar H. Gunderson [Sat, 29 Sep 2007 21:57:05 +0000 (21:57 +0000)]
Use ISDIGIT instead of isdigit; fixes a gcc warning.
Steinar H. Gunderson [Sat, 29 Sep 2007 19:26:59 +0000 (19:26 +0000)]
Port the TCP socket fix made in ares_fds() to ares_getsock() as well.
Steinar H. Gunderson [Sat, 29 Sep 2007 18:18:47 +0000 (18:18 +0000)]
Previously, processing a large batch of timeouts was O(n^2) in the number of
outstanding queries, and processing a DNS response packet was O(n) in the
number of outstanding queries. To speed things up in Google, we added a few circular,
doubly-linked lists of queries that are hash-bucketed based on
the attributes we care about, so most important operations are now O(1).
It might be that the number of buckets are higher than most people would need,
but on a quick calculation it should only be 100kB or so even on a 64-bit
system, so I've let it stay as-is.
Gisle Vanem [Sat, 29 Sep 2007 14:37:47 +0000 (14:37 +0000)]
We should standarise on C comments.
Gisle Vanem [Sat, 29 Sep 2007 14:34:59 +0000 (14:34 +0000)]
Fix compiler warning in setsockopt().
Steinar H. Gunderson [Sat, 29 Sep 2007 14:25:14 +0000 (14:25 +0000)]
TCP queries can time out too, not just UDP queries. (Patch from the Google tree.)
Steinar H. Gunderson [Sat, 29 Sep 2007 14:21:47 +0000 (14:21 +0000)]
Read and process as many packets as possible in read_udp_packets, to avoid having to run the entire event loop once per packet. (Patch from the Google tree.)
Steinar H. Gunderson [Sat, 29 Sep 2007 14:09:14 +0000 (14:09 +0000)]
There are two different places in write_tcp_data() that advance the send_queue; however, they are slightly different and only the first one properly uses a while loop. Consolidate both into a single function that DTTR. (Patch from the Google tree.)
Steinar H. Gunderson [Sat, 29 Sep 2007 13:58:23 +0000 (13:58 +0000)]
Reject names that are longer than 255 characters, to avoid problems with strict or buggy DNS server implementations. (Patch from the Google tree)
Steinar H. Gunderson [Sat, 29 Sep 2007 13:56:36 +0000 (13:56 +0000)]
In ares_mkquery, make sure we set buflen and buf to reasonable values if there's an error. (Patch from the Google tree)
Steinar H. Gunderson [Sat, 29 Sep 2007 13:52:14 +0000 (13:52 +0000)]
Be stricter about what's a valid IP address in fake_hostent. (Patch from the Google tree.)
Steinar H. Gunderson [Sat, 29 Sep 2007 13:38:17 +0000 (13:38 +0000)]
Handle the root of the DNS tree correctly in ares_expand_name.
Daniel Stenberg [Fri, 28 Sep 2007 20:28:20 +0000 (20:28 +0000)]
today's modifications by Steinar and me
Daniel Stenberg [Fri, 28 Sep 2007 20:28:06 +0000 (20:28 +0000)]
Bumped version to 1.5.0 for next release and soname bumped to 2 due to ABI
and API changes in the progress callback (and possibly more coming up from
Steinar)
Steinar H. Gunderson [Fri, 28 Sep 2007 15:56:28 +0000 (15:56 +0000)]
Unrevert previous 'missing' hunks. They were missing since the patch is still in for review :-)
Steinar H. Gunderson [Fri, 28 Sep 2007 15:55:11 +0000 (15:55 +0000)]
Yet more missing hunks... Nggh.
Steinar H. Gunderson [Fri, 28 Sep 2007 15:53:10 +0000 (15:53 +0000)]
Always register for TCP events even if there are no outstanding queries, as the other side could always close the connection, which is a valid event which should be responded to.
Steinar H. Gunderson [Fri, 28 Sep 2007 15:51:00 +0000 (15:51 +0000)]
Forgot to include a few hunks from ares_process.c earlier. Fixing now.
Steinar H. Gunderson [Fri, 28 Sep 2007 15:15:39 +0000 (15:15 +0000)]
Support a few more socket options, and refactor the option setting a bit. (Patch from the Google tree.)
Steinar H. Gunderson [Fri, 28 Sep 2007 14:46:51 +0000 (14:46 +0000)]
Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.)
Steinar H. Gunderson [Fri, 28 Sep 2007 14:28:14 +0000 (14:28 +0000)]
Three fixes in one commit (sorry): a) Take care of the tcpbuf if it ends while queued for transmission, note broken servers and close them in the main loop, and store TCP socket generation number in order not to send the same query twice over the same socket.
Steinar H. Gunderson [Fri, 28 Sep 2007 14:26:11 +0000 (14:26 +0000)]
Don't skip a server if it's the only one. (Bugfix from the Google tree.)
Daniel Stenberg [Thu, 27 Sep 2007 12:04:56 +0000 (12:04 +0000)]
wrong, revert the previous "fix" and instead check that the fd_set pointer
is non-NULL before we FD_CLR
Daniel Stenberg [Thu, 27 Sep 2007 12:02:15 +0000 (12:02 +0000)]
eek, fix the conditions to return on either problem instead of requiring
both to occur
Daniel Stenberg [Sat, 22 Sep 2007 21:23:10 +0000 (21:23 +0000)]
Steinar H. Gunderson fixed: Correctly clear sockets from the fd_set on in
several functions (write_tcp_data, read_tcp_data, read_udp_packets) so that
if it fails and the socket is closed the following code doesn't try to use
the file descriptor.
Daniel Stenberg [Sat, 22 Sep 2007 21:04:16 +0000 (21:04 +0000)]
Steinar H. Gunderson modified c-ares to now also do to DNS retries even when
TCP is used since there are several edge cases where it still makes sense.
Daniel Stenberg [Sat, 22 Sep 2007 20:45:50 +0000 (20:45 +0000)]
Brad House provided a fix for ares_save_options(): Apparently I overlooked
something with the ares_save_options() where it would try to do a malloc(0)
when no options of that type needed to be saved. On most platforms, this was
fine because malloc(0) doesn't actually return NULL, but on AIX it does, so
ares_save_options would return ARES_ENOMEM.
Daniel Stenberg [Thu, 26 Jul 2007 21:56:47 +0000 (21:56 +0000)]
added initial pkg-config file (attempt)
Gunter Knauf [Fri, 20 Jul 2007 21:50:53 +0000 (21:50 +0000)]
added curl include for debug builds.
Daniel Stenberg [Sat, 14 Jul 2007 23:01:49 +0000 (23:01 +0000)]
added another SEE ALSO
Daniel Stenberg [Sat, 14 Jul 2007 13:14:58 +0000 (13:14 +0000)]
Brad House's fix to hish a win32 compiler warning
Daniel Stenberg [Sat, 14 Jul 2007 13:11:36 +0000 (13:11 +0000)]
added Vlad's entire description of his valgrind fix
Daniel Stenberg [Sat, 14 Jul 2007 13:08:50 +0000 (13:08 +0000)]
Vlad Dinulescu fixed two outstanding valgrind reports
Gunter Knauf [Sun, 8 Jul 2007 23:17:56 +0000 (23:17 +0000)]
added better CodeWarrior detection.
Gunter Knauf [Sat, 7 Jul 2007 16:26:02 +0000 (16:26 +0000)]
removed some obsolete include paths and defines.
Gunter Knauf [Wed, 4 Jul 2007 17:20:19 +0000 (17:20 +0000)]
add test for gettimeofday() so that HAVE_GETTIMEOFDAY gets defined.
Gunter Knauf [Wed, 4 Jul 2007 10:54:15 +0000 (10:54 +0000)]
although the check for HAVE_STRUCT_TIMEVAL solved the redefine it is incorrect; lets see if a check for HAVE_GETTIMEOFDAY also works; if gettimeofday() is present then we can assume we have the timezone struct too.
Gunter Knauf [Wed, 4 Jul 2007 09:01:40 +0000 (09:01 +0000)]
added check for sys/param.h.
Gunter Knauf [Tue, 3 Jul 2007 18:18:40 +0000 (18:18 +0000)]
trial to catch problem with Daniels cross-mingw ares builds.
Gunter Knauf [Tue, 3 Jul 2007 16:21:57 +0000 (16:21 +0000)]
added NetWare CLIB-own header to solve gcc warnings.
Gunter Knauf [Tue, 3 Jul 2007 16:00:36 +0000 (16:00 +0000)]
few minor changes to make ares compile for NetWare CLIB architecture.