Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-09-17 | adjust inclusion of "nameser.h" | Yang Tse | |
2008-09-16 | code cleanup | Yang Tse | |
2008-09-15 | include header file only when available | Yang Tse | |
2008-09-11 | move inclusion of ares_private.h last | Yang Tse | |
2008-09-06 | remove unnecessary typecasting of malloc() | Yang Tse | |
2008-08-04 | - Fix by Tofu Linden: | Daniel Stenberg | |
The symptom: * Users (usually, but not always) on 2-Wire routers and the Comcast service and a wired connection to their router would find that the second and subsequent DNS lookups from fresh processes using c-ares to resolve the same address would cause the process to never see a reply (it keeps polling for around 1m15s before giving up). The repro: * On such a machine (and yeah, it took us a lot of QA to find the systems that reproduce such a specific problem!), do 'ahost www.secondlife.com', then do it again. The first process's lookup will work, subsequent lookups will time-out and fail. The cause: * init_id_key() was calling randomize_key() *before* it initialized key->state, meaning that the randomness generated by randomize_key() is immediately overwritten with deterministic values. (/dev/urandom was also being read incorrectly in the c-ares version we were using, but this was fixed in a later version.) * This makes the stream of generated query-IDs from any new c-ares process be an identical and predictable sequence of IDs. * This makes the 2-Wire's default built-in DNS server detect these queries as probable-duplicates and (erroneously) not respond at all. | |||
2008-06-30 | - As was pointed out to me by Andreas Schuldei, the MAXHOSTNAMELEN define is | Daniel Stenberg | |
not posix or anything and thus c-ares failed to build on hurd (and possibly elsewhere). The define was also somewhat artificially used in the windows port. Now, I instead rewrote the use of gethostbyname to enlarge the host name buffer in case of need and totally avoid the use of the MAXHOSTNAMELEN define. I thus also removed the defien from the namser.h file where it was once added for the windows build. I also fixed init_by_defaults() function to not leak memory in case if error. | |||
2008-05-15 | use same time source for timeout initialization and processing | Yang Tse | |
2008-05-13 | - Introducing millisecond resolution support for the timeout option. See | Daniel Stenberg | |
ares_init_options()'s ARES_OPT_TIMEOUTMS. | |||
2008-05-05 | Improved parsing of resolver configuration files | Yang Tse | |
2008-04-04 | Eino Tuominen improved the code when a file is used to seed the randomizer | Daniel Stenberg | |
2007-10-22 | removed dependency on gettimeofday() since we use only 1 sec resolution here. | Gunter Knauf | |
2007-10-20 | Fix compiler warning: conversion from "int" to "unsigned short" may lose ↵ | Yang Tse | |
significant bits | |||
2007-10-18 | Renamed a variable to avoid shadowing a global declaration | Yang Tse | |
2007-10-18 | Fix compiler warning: conversion from "int" to "unsigned char" | Yang Tse | |
may lose significant bits | |||
2007-10-02 | Avoid a segfault when generating a DNS "Transaction ID" in internal | Yang Tse | |
function init_id_key() under low memory conditions. | |||
2007-09-29 | Previously, processing a large batch of timeouts was O(n^2) in the number of | Steinar H. Gunderson | |
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-28 | Support a few more socket options, and refactor the option setting a bit. ↵ | Steinar H. Gunderson | |
(Patch from the Google tree.) | |||
2007-09-28 | Three fixes in one commit (sorry): a) Take care of the tcpbuf if it ends ↵ | Steinar H. Gunderson | |
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-22 | Brad House provided a fix for ares_save_options(): Apparently I overlooked | Daniel Stenberg | |
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-07-14 | Brad House's fix to hish a win32 compiler warning | Daniel Stenberg | |
2007-07-14 | Vlad Dinulescu fixed two outstanding valgrind reports | Daniel Stenberg | |
2007-07-03 | few minor changes to make ares compile for NetWare CLIB architecture. | Gunter Knauf | |
2007-06-02 | Brad Spencer found and fixed three flaws in the code, found with the new | Daniel Stenberg | |
gcc 4.2.0 warning: -Waddress | |||
2007-05-30 | first take at detecting a random device and seeding the random key using data | Daniel Stenberg | |
from it in randomize_key() | |||
2007-05-30 | Shmulik Regev brought cryptographically secure transaction IDs | Daniel Stenberg | |
2007-05-30 | Brad House added ares_save_options() and ares_destroy_options() that can be | Daniel Stenberg | |
used to keep options for later re-usal when ares_init_options() is used. | |||
2007-05-25 | Ravi Pratap fixed a flaw in the init_by_resolv_conf() function for windows | Daniel Stenberg | |
that could cause it to return a bad return code. | |||
2007-02-26 | Removed inclusion of <sys/types.h> in .c-files | Gisle Vanem | |
since it's already included through "setup.h". | |||
2007-02-19 | add debug messages for initialization failures | Yang Tse | |
2007-02-16 | use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handling | Yang Tse | |
2007-02-14 | Oops, missing argument separator comma | Yang Tse | |
2007-02-14 | in debug messages also show error description | Yang Tse | |
2007-02-13 | Fix c-ares failing to get the search sequence of /etc/hosts and | Yang Tse | |
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-06 | Added HAVE_PROCESS_H for DOS/Win32. | Gisle Vanem | |
Include <process.h> for getpid() in ares_init.c. | |||
2007-02-02 | add debug messages for initialization failures | Yang Tse | |
2007-02-01 | compiler warning fix | Yang Tse | |
2006-11-22 | Michael Wallner fixed this problem: When I set domains in the options | Daniel Stenberg | |
struct, and there are domain/search entries in /etc/resolv.conf, the domains of the options struct will be overridden. | |||
2006-11-06 | avoid a couple of potential zero size memory allocations | Yang Tse | |
2006-10-18 | Replace is*() macros with our own IS*() ones. | Yang Tse | |
Get rid of non ANSI/ISO isascii(). | |||
2006-09-11 | - Guilherme Balena Versiani: I noted a strange BUG in Win32 port | Daniel Stenberg | |
(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-07-22 | Added CVS id. | Gisle Vanem | |
2006-07-22 | If CURLDEBUG defined, call curl_memdebug() if $CARES_MEMDEBUG is set. | Gisle Vanem | |
2006-05-03 | Nick Mathewson added the ARES_OPT_SOCK_STATE_CB option that when set makes | Daniel Stenberg | |
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-01-05 | James Bursa fixes: find the hosts file on RISC OS, and made it build with | Daniel Stenberg | |
newer gcc versions that no longer defines "riscos". | |||
2005-08-21 | Alfredo Tupone provided a fix for the Windows code in get_iphlpapi_dns_info() | Daniel Stenberg | |
when getting the DNS server etc. | |||
2005-08-04 | killed trailing whitespace, narrowed a few lines to 80 cols | Daniel Stenberg | |
2005-04-19 | sortlist_alloc() is never used on win32, so ifdef out it to prevent warning | Daniel Stenberg | |
2005-04-16 | avoid warning on windows | Daniel Stenberg | |
2005-04-09 | Made sortlist support IPv6 (this can probably use some testing) | Dominick Meglio | |