aboutsummaryrefslogtreecommitdiff
path: root/ares/ares_init.c
AgeCommit message (Collapse)Author
2007-10-02Avoid a segfault when generating a DNS "Transaction ID" in internalYang Tse
function init_id_key() under low memory conditions.
2007-09-29Previously, processing a large batch of timeouts was O(n^2) in the number ofSteinar 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-28Support a few more socket options, and refactor the option setting a bit. ↵Steinar H. Gunderson
(Patch from the Google tree.)
2007-09-28Three 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-22Brad House provided a fix for ares_save_options(): Apparently I overlookedDaniel 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-14Brad House's fix to hish a win32 compiler warningDaniel Stenberg
2007-07-14Vlad Dinulescu fixed two outstanding valgrind reportsDaniel Stenberg
2007-07-03few minor changes to make ares compile for NetWare CLIB architecture.Gunter Knauf
2007-06-02Brad Spencer found and fixed three flaws in the code, found with the newDaniel Stenberg
gcc 4.2.0 warning: -Waddress
2007-05-30first take at detecting a random device and seeding the random key using dataDaniel Stenberg
from it in randomize_key()
2007-05-30Shmulik Regev brought cryptographically secure transaction IDsDaniel Stenberg
2007-05-30Brad House added ares_save_options() and ares_destroy_options() that can beDaniel Stenberg
used to keep options for later re-usal when ares_init_options() is used.
2007-05-25Ravi Pratap fixed a flaw in the init_by_resolv_conf() function for windowsDaniel Stenberg
that could cause it to return a bad return code.
2007-02-26Removed inclusion of <sys/types.h> in .c-filesGisle Vanem
since it's already included through "setup.h".
2007-02-19add debug messages for initialization failuresYang Tse
2007-02-16use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handlingYang Tse
2007-02-14Oops, missing argument separator commaYang Tse
2007-02-14in debug messages also show error descriptionYang Tse
2007-02-13Fix c-ares failing to get the search sequence of /etc/hosts andYang 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-06Added HAVE_PROCESS_H for DOS/Win32.Gisle Vanem
Include <process.h> for getpid() in ares_init.c.
2007-02-02add debug messages for initialization failuresYang Tse
2007-02-01compiler warning fixYang Tse
2006-11-22Michael Wallner fixed this problem: When I set domains in the optionsDaniel Stenberg
struct, and there are domain/search entries in /etc/resolv.conf, the domains of the options struct will be overridden.
2006-11-06avoid a couple of potential zero size memory allocationsYang Tse
2006-10-18Replace 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 portDaniel 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-22Added CVS id.Gisle Vanem
2006-07-22If CURLDEBUG defined, call curl_memdebug() if $CARES_MEMDEBUG is set.Gisle Vanem
2006-05-03Nick Mathewson added the ARES_OPT_SOCK_STATE_CB option that when set makesDaniel 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-05James Bursa fixes: find the hosts file on RISC OS, and made it build withDaniel Stenberg
newer gcc versions that no longer defines "riscos".
2005-08-21Alfredo Tupone provided a fix for the Windows code in get_iphlpapi_dns_info()Daniel Stenberg
when getting the DNS server etc.
2005-08-04killed trailing whitespace, narrowed a few lines to 80 colsDaniel Stenberg
2005-04-19sortlist_alloc() is never used on win32, so ifdef out it to prevent warningDaniel Stenberg
2005-04-16avoid warning on windowsDaniel Stenberg
2005-04-09Made sortlist support IPv6 (this can probably use some testing)Dominick Meglio
2005-04-09Made sortlist support CIDR matching for IPv4Dominick Meglio
2005-04-06Tupone Alfredo fixed includes of arpa/nameser_compat.h to build fine on Mac OSDaniel Stenberg
X.
2005-03-20silence win32 compiler warningsDaniel Stenberg
2005-03-19silence warnings on win32 about static functions that are never usedDaniel Stenberg
2004-12-10untabifiedDaniel Stenberg
2004-11-10Replace IsNT with IS_NT().Gisle Vanem
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-10-06removed tabs and trailing whitespace from sourceDaniel Stenberg
2004-09-28- Henrik Stoerner fix: got a report that Tru64 Unix (the unix from DigitalDaniel Stenberg
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-26- Henrik Stoerner: found out that C-ARES does not look at the /etc/host.confDaniel Stenberg
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-08-20Changes for Watt-32 on Windows. I've assumed ConfigureGisle Vanem
sets the required HAVE_xx defines for non-DOS/Win targets.
2004-08-13Harshal Pradhan made minor syntax change to make this build with MSVC 7.1Daniel Stenberg
2004-07-22- Fixed a few variable return types for some system calls. Made configureDaniel Stenberg
check for ssize_t to make it possible to use that when receiving the send() error code. This is necessary to prevent compiler warnings on some systems. - Made configure create config.h, and all source files now include setup.h that might include the proper config.h (or a handicrafted alternative). - Switched to 'ares_socket_t' type for sockets in ares, since Windows don't use 'int' for that. - automake-ified and libool-ified c-ares. Now it builds libcares as a shared lib on most platforms if wanted. (This bloated the size of the release archive with another 200K!) - Makefile.am now uses Makefile.inc for the c sources, h headers and man pages, to make it easier for other makefiles to use the exact same set of files. - Adjusted 'maketgz' to use the new automake magic when building distribution archives.
2004-07-01Gisle Vanem made this build fine with djgpp and the Watt-32 stack.Daniel Stenberg
2004-06-14prevent compiler warnings on non-win32 platformsDaniel Stenberg
2004-06-10Gisle Vanem's init patch for WindowsDaniel Stenberg