summaryrefslogtreecommitdiff
path: root/ares_init.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-02Avoid a segfault when generating a DNS "Transaction ID" in internalYang Tse1-7/+18
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. Gunderson1-2/+17
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. Gunderson1-0/+8
(Patch from the Google tree.)
2007-09-28Three fixes in one commit (sorry): a) Take care of the tcpbuf if it ends ↵Steinar H. Gunderson1-0/+3
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 Stenberg1-24/+33
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 Stenberg1-1/+2
2007-07-14Vlad Dinulescu fixed two outstanding valgrind reportsDaniel Stenberg1-1/+1
2007-07-03few minor changes to make ares compile for NetWare CLIB architecture.Gunter Knauf1-0/+3
2007-06-02Brad Spencer found and fixed three flaws in the code, found with the newDaniel Stenberg1-3/+3
gcc 4.2.0 warning: -Waddress
2007-05-30first take at detecting a random device and seeding the random key using dataDaniel Stenberg1-2/+14
from it in randomize_key()
2007-05-30Shmulik Regev brought cryptographically secure transaction IDsDaniel Stenberg1-12/+71
2007-05-30Brad House added ares_save_options() and ares_destroy_options() that can beDaniel Stenberg1-2/+94
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 Stenberg1-0/+4
that could cause it to return a bad return code.
2007-02-26Removed inclusion of <sys/types.h> in .c-filesGisle Vanem1-1/+0
since it's already included through "setup.h".
2007-02-19add debug messages for initialization failuresYang Tse1-0/+4
2007-02-16use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handlingYang Tse1-8/+13
2007-02-14Oops, missing argument separator commaYang Tse1-1/+1
2007-02-14in debug messages also show error descriptionYang Tse1-4/+8
2007-02-13Fix c-ares failing to get the search sequence of /etc/hosts andYang Tse1-31/+75
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 Vanem1-0/+3
Include <process.h> for getpid() in ares_init.c.
2007-02-02add debug messages for initialization failuresYang Tse1-5/+26
2007-02-01compiler warning fixYang Tse1-3/+3
2006-11-22Michael Wallner fixed this problem: When I set domains in the optionsDaniel Stenberg1-2/+2
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 Tse1-19/+35
2006-10-18Replace is*() macros with our own IS*() ones.Yang Tse1-16/+16
Get rid of non ANSI/ISO isascii().
2006-09-11- Guilherme Balena Versiani: I noted a strange BUG in Win32 portDaniel Stenberg1-1/+2
(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 Vanem1-0/+2
2006-07-22If CURLDEBUG defined, call curl_memdebug() if $CARES_MEMDEBUG is set.Gisle Vanem1-0/+10
2006-05-03Nick Mathewson added the ARES_OPT_SOCK_STATE_CB option that when set makesDaniel Stenberg1-0/+6
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 Stenberg1-1/+1
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 Stenberg1-1/+3
when getting the DNS server etc.
2005-08-04killed trailing whitespace, narrowed a few lines to 80 colsDaniel Stenberg1-6/+8
2005-04-19sortlist_alloc() is never used on win32, so ifdef out it to prevent warningDaniel Stenberg1-1/+1
2005-04-16avoid warning on windowsDaniel Stenberg1-1/+1
2005-04-09Made sortlist support IPv6 (this can probably use some testing)Dominick Meglio1-8/+21
2005-04-09Made sortlist support CIDR matching for IPv4Dominick Meglio1-21/+56
2005-04-06Tupone Alfredo fixed includes of arpa/nameser_compat.h to build fine on Mac OSDaniel Stenberg1-0/+3
X.
2005-03-20silence win32 compiler warningsDaniel Stenberg1-2/+5
2005-03-19silence warnings on win32 about static functions that are never usedDaniel Stenberg1-6/+17
2004-12-10untabifiedDaniel Stenberg1-88/+88
2004-11-10Replace IsNT with IS_NT().Gisle Vanem1-92/+93
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 Stenberg1-88/+88
2004-09-28- Henrik Stoerner fix: got a report that Tru64 Unix (the unix from DigitalDaniel Stenberg1-1/+17
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 Stenberg1-8/+36
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 Vanem1-1/+11
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 Stenberg1-1/+1
2004-07-22- Fixed a few variable return types for some system calls. Made configureDaniel Stenberg1-2/+3
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 Stenberg1-0/+18
2004-06-14prevent compiler warnings on non-win32 platformsDaniel Stenberg1-1/+3
2004-06-10Gisle Vanem's init patch for WindowsDaniel Stenberg1-25/+104