Yang Tse
a60c9ef88e
Improved parsing of resolver configuration files
2008-05-05 17:48:25 +00:00
Daniel Stenberg
b50a96982e
Eino Tuominen improved the code when a file is used to seed the randomizer
2008-04-04 20:05:23 +00:00
Gunter Knauf
f614fe4946
removed dependency on gettimeofday() since we use only 1 sec resolution here.
2007-10-22 23:31:40 +00:00
Yang Tse
5c8fc7dce9
Fix compiler warning: conversion from "int" to "unsigned short" may lose significant bits
2007-10-20 15:11:51 +00:00
Yang Tse
ee19b44fe0
Renamed a variable to avoid shadowing a global declaration
2007-10-18 17:31:19 +00:00
Yang Tse
8cfb0e26bb
Fix compiler warning: conversion from "int" to "unsigned char"
...
may lose significant bits
2007-10-18 01:01:20 +00:00
Yang Tse
94162d62ac
Avoid a segfault when generating a DNS "Transaction ID" in internal
...
function init_id_key() under low memory conditions.
2007-10-02 18:26:48 +00:00
Steinar H. Gunderson
23f5d145ec
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.
2007-09-29 18:18:47 +00:00
Steinar H. Gunderson
08a70d117c
Support a few more socket options, and refactor the option setting a bit. (Patch from the Google tree.)
2007-09-28 15:15:39 +00:00
Steinar H. Gunderson
d426c20c0a
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.
2007-09-28 14:28:14 +00:00
Daniel Stenberg
05b26e7566
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.
2007-09-22 20:45:50 +00:00
Daniel Stenberg
1261c3feba
Brad House's fix to hish a win32 compiler warning
2007-07-14 13:14:58 +00:00
Daniel Stenberg
88ce03e945
Vlad Dinulescu fixed two outstanding valgrind reports
2007-07-14 13:08:50 +00:00
Gunter Knauf
7509ef6b4e
few minor changes to make ares compile for NetWare CLIB architecture.
2007-07-03 16:00:36 +00:00
Daniel Stenberg
25d2a27c64
Brad Spencer found and fixed three flaws in the code, found with the new
...
gcc 4.2.0 warning: -Waddress
2007-06-02 20:09:23 +00:00
Daniel Stenberg
6a674ded0e
first take at detecting a random device and seeding the random key using data
...
from it in randomize_key()
2007-05-30 21:37:17 +00:00
Daniel Stenberg
2faba57c85
Shmulik Regev brought cryptographically secure transaction IDs
2007-05-30 21:11:10 +00:00
Daniel Stenberg
79d59ec97b
Brad House added ares_save_options() and ares_destroy_options() that can be
...
used to keep options for later re-usal when ares_init_options() is used.
2007-05-30 20:49:14 +00:00
Daniel Stenberg
fcc3e2ca34
Ravi Pratap fixed a flaw in the init_by_resolv_conf() function for windows
...
that could cause it to return a bad return code.
2007-05-25 21:11:28 +00:00
Gisle Vanem
ee1235a7cd
Removed inclusion of <sys/types.h> in .c-files
...
since it's already included through "setup.h".
2007-02-26 04:33:19 +00:00
Yang Tse
31e598d2f3
add debug messages for initialization failures
2007-02-19 02:03:58 +00:00
Yang Tse
059b57677c
use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handling
2007-02-16 15:04:44 +00:00
Yang Tse
e3ade3ccb5
Oops, missing argument separator comma
2007-02-14 17:38:41 +00:00
Yang Tse
71afe05b9f
in debug messages also show error description
2007-02-14 14:11:47 +00:00
Yang Tse
ecbc7f89c0
Fix c-ares failing to get the search sequence of /etc/hosts and
...
DNS from /etc/nsswitch.conf, /etc/host.conf or /etc/svc.conf when
/etc/resolv.conf did not exist or was unable to read it.
2007-02-13 16:14:25 +00:00
Gisle Vanem
fabbb3fc34
Added HAVE_PROCESS_H for DOS/Win32.
...
Include <process.h> for getpid() in ares_init.c.
2007-02-06 19:09:57 +00:00
Yang Tse
8337a375dd
add debug messages for initialization failures
2007-02-02 16:01:55 +00:00
Yang Tse
54db98c220
compiler warning fix
2007-02-01 01:42:13 +00:00
Daniel Stenberg
04d5d1895c
Michael Wallner fixed this problem: When I set domains in the options
...
struct, and there are domain/search entries in /etc/resolv.conf, the domains
of the options struct will be overridden.
2006-11-22 22:54:41 +00:00
Yang Tse
3274908551
avoid a couple of potential zero size memory allocations
2006-11-06 13:56:51 +00:00
Yang Tse
9c1ad0f9f7
Replace is*() macros with our own IS*() ones.
...
Get rid of non ANSI/ISO isascii().
2006-10-18 03:42:06 +00:00
Daniel Stenberg
00ae13f966
- Guilherme Balena Versiani: I noted a strange BUG in Win32 port
...
(ares_init.c/get_iphlpapi_dns_info() function): when I disable the network
by hand or disconnect the network cable in Windows 2000 or Windows XP, my
application gets 127.0.0.1 as the only name server. The problem comes from
'GetNetworkParams' function, that returns the empty string "" as the only
name server in that case. Moreover, the Windows implementation of
inet_addr() returns INADDR_LOOPBACK instead of INADDR_NONE.
2006-09-11 20:25:13 +00:00
Gisle Vanem
8c36fc8f31
Added CVS id.
2006-07-22 15:38:35 +00:00
Gisle Vanem
655ec6bf8e
If CURLDEBUG defined, call curl_memdebug() if $CARES_MEMDEBUG is set.
2006-07-22 14:51:39 +00:00
Daniel Stenberg
dd06c60ada
Nick Mathewson added the ARES_OPT_SOCK_STATE_CB option that when set makes
...
c-ares call a callback on socket state changes. A better way than the
ares_getsock() to get full control over the socket state.
2006-05-03 06:11:44 +00:00
Daniel Stenberg
00c7780fcb
James Bursa fixes: find the hosts file on RISC OS, and made it build with
...
newer gcc versions that no longer defines "riscos".
2006-01-05 07:57:32 +00:00
Daniel Stenberg
0c37ab5255
Alfredo Tupone provided a fix for the Windows code in get_iphlpapi_dns_info()
...
when getting the DNS server etc.
2005-08-21 21:09:44 +00:00
Daniel Stenberg
82cb462bb4
killed trailing whitespace, narrowed a few lines to 80 cols
2005-08-04 08:07:44 +00:00
Daniel Stenberg
e78ddf0a95
sortlist_alloc() is never used on win32, so ifdef out it to prevent warning
2005-04-19 23:26:14 +00:00
Daniel Stenberg
69b1ac7dcd
avoid warning on windows
2005-04-16 12:30:01 +00:00
Dominick Meglio
ea03ad3bee
Made sortlist support IPv6 (this can probably use some testing)
2005-04-09 19:59:59 +00:00
Dominick Meglio
feec421744
Made sortlist support CIDR matching for IPv4
2005-04-09 16:49:47 +00:00
Daniel Stenberg
993600761f
Tupone Alfredo fixed includes of arpa/nameser_compat.h to build fine on Mac OS
...
X.
2005-04-06 22:27:42 +00:00
Daniel Stenberg
9406e517e6
silence win32 compiler warnings
2005-03-20 12:29:15 +00:00
Daniel Stenberg
04ea4b4d75
silence warnings on win32 about static functions that are never used
2005-03-19 01:03:46 +00:00
Daniel Stenberg
070da3c08f
untabified
2004-12-10 21:46:00 +00:00
Gisle Vanem
6ddc59dadf
Replace IsNT with IS_NT().
...
Return correct timeval in windows_port.c.
Squelch gcc warnings:
use 'ares_socket_t' in ares_fds.c.
Don't cast a 'lvalue' in ares_init.c.
2004-11-10 14:23:20 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
bfeea8e6b7
- Henrik Stoerner fix: got a report that Tru64 Unix (the unix from Digital
...
when they made Alpha's) uses /etc/svc.conf for the purpose fixed below for
other OSes. He made c-ares check for and understand it if present.
- Now c-ares will use local host name lookup _before_ DNS resolving by default
if nothing else is told.
2004-09-28 22:19:39 +00:00
Daniel Stenberg
3451e888b9
- Henrik Stoerner: found out that C-ARES does not look at the /etc/host.conf
...
file to determine the sequence in which to search /etc/hosts and DNS. So on
systems where this order is defined by /etc/host.conf instead of a "lookup"
entry in /etc/resolv.conf, C-ARES will always default to looking in DNS
first, and /etc/hosts second.
c-ares now looks at
1) resolv.conf (for the "lookup" line);
2) nsswitch.fon (for the "hosts:" line);
3) host.conf (for the "order" line).
First match wins.
2004-09-26 22:35:18 +00:00