Commit Graph
43 Commits
Author SHA1 Message Date
Daniel Stenberg 8362245c42 - Phil Blundell added the internal function ares__expand_name_for_response()
that is now used by the ares_parse_*_reply() functions instead of the
  ares_expand_name() simply to easier return ARES_EBADRESP for the cases where
  the name expansion fails as in responses that really isn't expected.
2009-01-11 13:49:13 +00:00
Daniel Stenberg f61fa37f40 Gregor Jasny provided the patch that introduces ares_set_socket_callback(),
and I edited it to also get duped by ares_dup().
2008-12-04 12:53:03 +00:00
Daniel Stenberg f31add0695 Convert the public config struct to the same binary size/construct as in the
latest releases to remain ABI compatible.
2008-12-01 19:06:24 +00:00
Yang Tse aa1534eb20 In preparation for the upcomming IPv6 nameservers patch, the internal
ares_addr union is now changed into an internal struct which also holds
the address family.
2008-11-25 16:26:58 +00:00
Daniel Stenberg acf5ca090a use unsigned short better intead of mixing with ints to prevent compiler
warnings
2008-11-20 07:50:48 +00:00
Daniel Stenberg 1a1b4eb4f2 - Carlo Contavalli added support for the glibc "rotate" option, as documented
in man resolv.conf:

  causes round robin selection of nameservers from among those listed.  This
  has the effect of spreading the query load among all listed servers, rather
  than having all clients try the first listed server first every time.

  You can enable it with ARES_OPT_ROTATE
2008-11-01 18:35:19 +00:00
Yang Tse 1a9795b401 rearrange to allow internal/private use of ares_writev to any system
that lacks the writev function.
2008-09-16 16:42:48 +00:00
Yang Tse 746f3e2942 rearrange to allow internal/private use of ares_strcasecmp to any system that
lacks the strcasecmp function.
2008-09-15 15:28:26 +00:00
Yang Tse 797372b0f4 strdup() clone for systems/configurations which lack it 2008-09-11 04:02:49 +00:00
Yang Tse 2265b9281c fix compiler warning 2008-07-10 08:21:48 +00:00
Yang Tse 0129767bf9 if'def out private function ares__tvdiff(), it is not in use yet. 2008-05-20 01:24:19 +00:00
Daniel Stenberg 46dbd9461a - Introducing millisecond resolution support for the timeout option. See
ares_init_options()'s ARES_OPT_TIMEOUTMS.
2008-05-13 20:48:48 +00:00
Yang Tse 0848b4fdaa Use monotonic time source if available. 2008-05-09 16:30:24 +00:00
Yang Tse 7cd35ce698 Define WIN32 when build target is Win32 API.
This also defines it for WinCE even though it is a subset of WIN32.
2007-11-08 18:13:54 +00:00
Yang Tse 343d6f221f Avoid inline C99ism, and move c-ares routines for managing doubly-linked lists. 2007-10-02 02:18:01 +00:00
Steinar H. Gunderson 04e49e09dc 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 50ba81cd23 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.) 2007-09-28 14:46:51 +00:00
Steinar H. Gunderson b669e17544 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 7a77f24d26 Shmulik Regev brought cryptographically secure transaction IDs 2007-05-30 21:11:10 +00:00
Gisle Vanem f34c89a9a2 Moved select_s() to Makefile.dj since select() is used in applications. 2006-11-07 13:29:15 +00:00
Gisle Vanem 8e881e02f5 Added definition of select() for Watt32. 2006-10-31 17:25:48 +00:00
Yang Tse bed83eaf82 Provide multiple header inclusion prevention definition __ARES_PRIVATE_H 2006-07-26 10:54:08 +00:00
Daniel Stenberg 22e34b53e4 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 d07656e76d 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
Gunter Knauf 7dfc7b6d56 make ares compile again for NetWare. 2005-08-10 17:03:53 +00:00
Dominick Meglio ad71e44cc0 Attempted to fix c-ares not building on non-IPv6 systems 2005-04-15 15:25:16 +00:00
Dominick Meglio 7012fc65d9 Made sortlist support IPv6 (this can probably use some testing) 2005-04-09 19:59:59 +00:00
Dominick Meglio 61f1399c2f Made sortlist support CIDR matching for IPv4 2005-04-09 16:49:47 +00:00
Dominick Meglio 29d71bd499 Made ares_gethostbyaddr support IPv6 by specifying AF_INET6 as the family 2005-04-08 15:41:31 +00:00
Gisle Vanem 46d66012f1 CURL_EXTERN is already in <curl/curl.h>. 2005-03-22 10:37:26 +00:00
Gisle Vanem 1827728a28 Replace IsNT with IS_NT(). 2004-11-10 14:30:25 +00:00
Daniel Stenberg eadf3e7f0d fix CURL_EXTERN for debug builds 2004-11-09 18:10:51 +00:00
Daniel Stenberg 3e748f4b50 removed tabs and trailing whitespace from source 2004-10-06 07:50:18 +00:00
Daniel Stenberg 2bf866b0ce Dominick Meglio host file path discovery patch for windows 2004-09-26 18:20:58 +00:00
Gisle Vanem 6deb40acac Changes for Watt-32 on Windows. I've assumed Configure
sets the required HAVE_xx defines for non-DOS/Win targets.
2004-08-20 13:45:26 +00:00
Daniel Stenberg d5f3636a52 - Fixed a few variable return types for some system calls. Made configure
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-22 22:18:45 +00:00
Gunter Knauf aafd044029 added NetWare section for paths. 2004-07-04 21:36:32 +00:00
Daniel Stenberg e7293e0779 djgpp fixes by Gisle 2004-07-01 13:55:13 +00:00
Daniel Stenberg cb0a33076a Gisle Vanem made this build fine with djgpp and the Watt-32 stack. 2004-07-01 06:58:47 +00:00
Daniel Stenberg a881c1dfee minor size_t fix to kill a warning 2004-02-27 13:21:47 +00:00
Daniel Stenberg c0f9b28177 If CURLDEBUG is set we use the libcurl internal memdebug system to track
memory leaks etc.
2004-02-17 07:40:02 +00:00
Daniel Stenberg aaeec78410 made more pointers unsigned, as they were mostly used passed in to functions
that assume them to be unsigned. Stops compiler warnings.
2004-02-04 07:52:13 +00:00
Daniel Stenberg 5e847a14bd ares 1.1.1 with collected applied patches 2003-10-07 21:54:04 +00:00