]> granicus.if.org Git - curl/commitdiff
remove the ares subtree
authorDaniel Stenberg <daniel@haxx.se>
Wed, 24 Mar 2010 09:34:30 +0000 (10:34 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 24 Mar 2010 09:34:30 +0000 (10:34 +0100)
c-ares is now hosted entirely separate from the curl project
see http://c-ares.haxx.se/ for all details concerning c-ares,
its source repository and more.

153 files changed:
ares/.cvsignore [deleted file]
ares/.gitignore [deleted file]
ares/AUTHORS [deleted file]
ares/CHANGES [deleted file]
ares/CVS-INFO [deleted file]
ares/Makefile.am [deleted file]
ares/Makefile.dj [deleted file]
ares/Makefile.inc [deleted file]
ares/Makefile.m32 [deleted file]
ares/Makefile.msvc [deleted file]
ares/Makefile.netware [deleted file]
ares/NEWS [deleted file]
ares/README [deleted file]
ares/README.cares [deleted file]
ares/README.msvc [deleted file]
ares/RELEASE-NOTES [deleted file]
ares/TODO [deleted file]
ares/acinclude.m4 [deleted file]
ares/acountry.c [deleted file]
ares/adig.c [deleted file]
ares/ahost.c [deleted file]
ares/ares.h [deleted file]
ares/ares__close_sockets.c [deleted file]
ares/ares__get_hostent.c [deleted file]
ares/ares__read_line.c [deleted file]
ares/ares__timeval.c [deleted file]
ares/ares_build.h.dist [deleted file]
ares/ares_build.h.in [deleted file]
ares/ares_cancel.3 [deleted file]
ares/ares_cancel.c [deleted file]
ares/ares_data.c [deleted file]
ares/ares_data.h [deleted file]
ares/ares_destroy.3 [deleted file]
ares/ares_destroy.c [deleted file]
ares/ares_destroy_options.3 [deleted file]
ares/ares_dns.h [deleted file]
ares/ares_dup.3 [deleted file]
ares/ares_expand_name.3 [deleted file]
ares/ares_expand_name.c [deleted file]
ares/ares_expand_string.3 [deleted file]
ares/ares_expand_string.c [deleted file]
ares/ares_fds.3 [deleted file]
ares/ares_fds.c [deleted file]
ares/ares_free_data.3 [deleted file]
ares/ares_free_hostent.3 [deleted file]
ares/ares_free_hostent.c [deleted file]
ares/ares_free_string.3 [deleted file]
ares/ares_free_string.c [deleted file]
ares/ares_get_servers.3 [deleted file]
ares/ares_gethostbyaddr.3 [deleted file]
ares/ares_gethostbyaddr.c [deleted file]
ares/ares_gethostbyname.3 [deleted file]
ares/ares_gethostbyname.c [deleted file]
ares/ares_gethostbyname_file.3 [deleted file]
ares/ares_getnameinfo.3 [deleted file]
ares/ares_getnameinfo.c [deleted file]
ares/ares_getopt.c [deleted file]
ares/ares_getopt.h [deleted file]
ares/ares_getsock.3 [deleted file]
ares/ares_getsock.c [deleted file]
ares/ares_init.3 [deleted file]
ares/ares_init.c [deleted file]
ares/ares_init_options.3 [deleted file]
ares/ares_ipv6.h [deleted file]
ares/ares_library_cleanup.3 [deleted file]
ares/ares_library_init.3 [deleted file]
ares/ares_library_init.c [deleted file]
ares/ares_library_init.h [deleted file]
ares/ares_llist.c [deleted file]
ares/ares_llist.h [deleted file]
ares/ares_mkquery.3 [deleted file]
ares/ares_mkquery.c [deleted file]
ares/ares_nowarn.c [deleted file]
ares/ares_nowarn.h [deleted file]
ares/ares_options.c [deleted file]
ares/ares_parse_a_reply.3 [deleted file]
ares/ares_parse_a_reply.c [deleted file]
ares/ares_parse_aaaa_reply.3 [deleted file]
ares/ares_parse_aaaa_reply.c [deleted file]
ares/ares_parse_ns_reply.3 [deleted file]
ares/ares_parse_ns_reply.c [deleted file]
ares/ares_parse_ptr_reply.3 [deleted file]
ares/ares_parse_ptr_reply.c [deleted file]
ares/ares_parse_srv_reply.3 [deleted file]
ares/ares_parse_srv_reply.c [deleted file]
ares/ares_parse_txt_reply.3 [deleted file]
ares/ares_parse_txt_reply.c [deleted file]
ares/ares_private.h [deleted file]
ares/ares_process.3 [deleted file]
ares/ares_process.c [deleted file]
ares/ares_query.3 [deleted file]
ares/ares_query.c [deleted file]
ares/ares_rules.h [deleted file]
ares/ares_save_options.3 [deleted file]
ares/ares_search.3 [deleted file]
ares/ares_search.c [deleted file]
ares/ares_send.3 [deleted file]
ares/ares_send.c [deleted file]
ares/ares_set_servers.3 [deleted file]
ares/ares_set_socket_callback.3 [deleted file]
ares/ares_setup.h [deleted file]
ares/ares_strcasecmp.c [deleted file]
ares/ares_strcasecmp.h [deleted file]
ares/ares_strdup.c [deleted file]
ares/ares_strdup.h [deleted file]
ares/ares_strerror.3 [deleted file]
ares/ares_strerror.c [deleted file]
ares/ares_timeout.3 [deleted file]
ares/ares_timeout.c [deleted file]
ares/ares_version.3 [deleted file]
ares/ares_version.c [deleted file]
ares/ares_version.h [deleted file]
ares/ares_writev.c [deleted file]
ares/ares_writev.h [deleted file]
ares/bitncmp.c [deleted file]
ares/bitncmp.h [deleted file]
ares/buildconf [deleted file]
ares/buildconf.bat [deleted file]
ares/cares.rc [deleted file]
ares/config-win32.h [deleted file]
ares/config.dos [deleted file]
ares/configure.ac [deleted file]
ares/get_ver.awk [deleted file]
ares/inet_net_pton.c [deleted file]
ares/inet_net_pton.h [deleted file]
ares/inet_ntop.c [deleted file]
ares/inet_ntop.h [deleted file]
ares/install-sh [deleted file]
ares/libcares.pc.in [deleted file]
ares/m4/.cvsignore [deleted file]
ares/m4/.gitignore [deleted file]
ares/m4/cares-compilers.m4 [deleted file]
ares/m4/cares-confopts.m4 [deleted file]
ares/m4/cares-functions.m4 [deleted file]
ares/m4/cares-override.m4 [deleted file]
ares/m4/cares-reentrant.m4 [deleted file]
ares/m4/cares-system.m4 [deleted file]
ares/maketgz [deleted file]
ares/mkinstalldirs [deleted file]
ares/nameser.h [deleted file]
ares/setup_once.h [deleted file]
ares/vc/.cvsignore [deleted file]
ares/vc/acountry/.cvsignore [deleted file]
ares/vc/acountry/vc6acountry.dsp [deleted file]
ares/vc/adig/.cvsignore [deleted file]
ares/vc/adig/vc6adig.dsp [deleted file]
ares/vc/ahost/.cvsignore [deleted file]
ares/vc/ahost/vc6ahost.dsp [deleted file]
ares/vc/cares/.cvsignore [deleted file]
ares/vc/cares/vc6cares.dsp [deleted file]
ares/vc/cares/vc6cares.dsw [deleted file]
ares/vc/vc6aws.dsw [deleted file]
ares/windows_port.c [deleted file]

diff --git a/ares/.cvsignore b/ares/.cvsignore
deleted file mode 100644 (file)
index 8887947..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-*.html
-*.lo
-*.pdf
-.deps
-.libs
-MSVC*
-Makefile
-Makefile.in
-aclocal.m4
-acountry
-adig
-ahost
-ares_build.h
-ares_config.h
-ares_config.h.in
-ares_version.h.dist
-autom4te.cache
-compile
-config.guess
-config.h
-config.h.in
-config.log
-config.lt
-config.status
-config.sub
-configure
-depcomp
-libcares.la
-libcares.pc
-libtool
-ltmain.sh
-man3
-missing
-msvc*
-stamp-h*
diff --git a/ares/.gitignore b/ares/.gitignore
deleted file mode 100644 (file)
index 582656c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-acountry
-adig
-ahost
-ares_build.h
-ares_config.h
-ares_config.h.in
-libcares.pc
-stamp-h1
-stamp-h2
\ No newline at end of file
diff --git a/ares/AUTHORS b/ares/AUTHORS
deleted file mode 100644 (file)
index e197a74..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-c-ares is based on ares, and these are the people that have worked on it since
-the fork was made:
-
-Alexander Lazic
-Alexey Simak
-Andreas Rieke
-Ashish Sharma
-Brad House
-Brad Spencer
-Bram Matthys
-Dan Fandrich
-Daniel Stenberg
-Dirk Manske
-Dominick Meglio
-Doug Goldstein
-Duncan Wilcox
-Eino Tuominen
-Erik Kline
-George Neill
-Gisle Vanem
-Guilherme Balena Versiani
-Gunter Knauf
-Henrik Stoerner
-James Bursa
-Michael Wallner
-Nick Mathewson
-Phil Blundell
-Ravi Pratap
-Robin Cornelius
-Sebastian at basti79.de
-Shmulik Regev
-Steinar H. Gunderson
-Tofu Linden
-Vlad Dinulescu
-William Ahern
-Yang Tse
-liren at vivisimo.com
diff --git a/ares/CHANGES b/ares/CHANGES
deleted file mode 100644 (file)
index ae8a57a..0000000
+++ /dev/null
@@ -1,1151 +0,0 @@
-  Changelog for the c-ares project
-
-* March 5, 2010 (Daniel Stenberg)
-- Daniel Johnson provided fixes for building with the clang compiler.
-
-* March 5, 2010 (Yang Tse)
-- Added IPv6 name servers support. Implementation has been based on code,
-  comments and feedback provided November and December of 2008 by Daniel
-  Stenberg, Gregor Jasny, Phil Blundell and myself, December 2009 by Cedric
-  Bail, and February 2010 by Jakub Hrozek on the c-ares mailing list. On
-  March I reviewed all that, selected the best of each, and adjusted or
-  extended parts of it to make the best fit.
-
-  The external and visible result of all this is that two new functions are
-  added to the external API, ares_get_servers() and ares_set_servers(), which
-  becomes now the preferred way of getting and setting name servers for any
-  ares channel as these support both IPv4 and IPv6 name servers.
-
-  In order to not break ABI compatibility, ares_init_options() with option
-  mask ARES_OPT_SERVERS and ares_save_options() may still be used in code
-  which is intended to run on IPv4-only stacks. But remember that these
-  functions do not support IPv6 name servers. This implies that if the user
-  is capable of defining or providing an IPv6 name server, and the app is
-  using ares_init_options() or ares_save_options() at some point to handle
-  the name servers, the app will likely loose IPv6 name servers.
-
-* January 28, 2010 (Daniel Stenberg)
-- Tommie Gannert pointed out a silly bug in ares_process_fd() since it didn't
-  check for broken connections like ares_process() did. Based on that, I
-  merged the two functions into a single generic one with two front-ends.
-
-* December 29, 2009 (Yang Tse)
-- Laszlo Tamas Szabo adjusted Makefile.msvc compiler options so that where
-  run-time error checks enabling compiler option /GZ was used it is replaced
-  with equivalent /RTCsu for Visual Studio 2003 and newer versions. Option
-  /GX is replaced with equivalent /EHsc for all versions. Also fixed socket
-  data type for internal configure_socket function.
-
-* December 21, 2009 (Yang Tse)
-- Ingmar Runge noticed that Windows config-win32.h configuration file
-  did not include a definition for HAVE_CLOSESOCKET which resulted in
-  function close() being inappropriately used to close sockets.
-
-Version 1.7.0 (Nov 30, 2009)
-
-* November 26, 2009 (Yang Tse)
-- Larry Lansing fixed ares_parse_srv_reply to properly parse replies
-  which might contain non-SRV answers, skipping over potential non-SRV
-  ones such as CNAMEs.
-
-* November 23, 2009 (Yang Tse)
-- Changed naming convention for c-ares libraries built with MSVC, details
-  and build instructions provided in README.msvc file.
-
-* November 22, 2009 (Yang Tse)
-- Jakub Hrozek fixed more function prototypes in man pages to sync them
-  with the ones declared in ares.h
-
-- Jakub Hrozek renamed addrttl and addr6ttl structs to ares_addrttl and
-  ares_addr6ttl in order to prevent name space pollution, along with
-  necessary changes to code base and man pages.This change does not break
-  ABI, there is no need to recompile existing applications. But existing
-  applications using these structs with the old name will need source code
-  adjustments when recompiled using c-ares 1.7.0.
-
-* November 21, 2009 (Yang Tse)
-- Added manifest stuff to Makefile.msvc.
-
-* November 20, 2009 (Yang Tse)
-- Fixed several function prototypes in man pages that were out of sync
-  with the ones declared in ares.h.  Added ares_free_data() along with
-  man page.  Updated ares_parse_srv_reply() and ares_parse_txt_reply()
-  with changes from Jakub Hrozek making these now return linked lists
-  instead of arrays, and merging the ares_free_data() adjustments.
-
-* November 10, 2009 (Yang Tse)
-- Updated MSVC 6.0 project files to match settings from Makefile.msvc.
-
-* November 9, 2009 (Yang Tse)
-- Makefile.msvc is now the reference method to build c-ares and sample
-  programs with any MSVC compiler or MS Visual Studio version.  If no
-  option or target are specified it builds dynamic and static c-ares
-  libraries in debug and release flavours and also builds all sample
-  programs using each of the different c-ares libraries.
-
-* November 2, 2009 (Yang Tse)
-- Renamed c-ares setup.h to ares_setup.h
-
-* October 31, 2009 (Yang Tse)
-- Symbol hiding configure options are named now --enable-symbol-hiding
-  and --disable-symbol-hiding in an attempt to make them less ambiguous.
-
-* October 30, 2009 (Yang Tse)
-- Many fixes for ares_parse_txt_reply()
-
-* October 29, 2009 (Daniel Stenberg)
-- Jakub Hrozek added ares_parse_txt_reply() for TXT parsing
-
-* October 29, 2009 (Yang Tse)
-- Updated MSVC 6.0 workspace and project files that allows building
-  dynamic and static c-ares libraries in debug and release flavours.
-  Additionally each of the three sample programs is built against
-  each of the four possible c-ares libraries, generating all this
-  a total number of 12 executables and 4 libraries.
-
-* October 28, 2009 (Yang Tse)
-- Initial step towards the ability to reduce c-ares exported symbols
-  when built as a shared library based on the 'visibility' attribute
-  for GNUC and Intel compilers and based on __global for Sun compilers,
-  taking also in account __declspec function decoration for Win32 and
-  Symbian DLL's.
-
-* October 27, 2009 (Yang Tse)
-- Fixed Pelles C Win32 target compilation issues.
-
-* October 23, 2009 (Yang Tse)
-- John Engelhart noticed an unreleased problem relative to a duplicate
-  ARES_ECANCELLED error code value and missing error code description.
-
-* October 7, 2009 (Yang Tse)
-- Overhauled ares__get_hostent() Fixing out of bounds memory overwrite
-  triggered with malformed /etc/hosts file. Improving parsing of /etc/hosts
-  file. Validating requested address family. Ensuring that failures always
-  return a NULL pointer. Adjusting header inclusions.
-
-* October 6, 2009 (Yang Tse)
-- Fix ssize_t redefinition errors on WIN64 reported by Alexey Simak.
-
-* September 29, 2009 (Yang Tse)
-- Make configure script also check if _REENTRANT definition is required to
-  make errno available as a preprocessor macro.
-
-* September 7, 2009 (Yang Tse)
-- Add T_SRV portability check to ares_parse_srv_reply.c
-
-* 4 Sep 2009 (Daniel Stenberg)
-- Jakub Hrozek added ares_parse_srv_reply() for SRV parsing
-
-* 3 Aug 2009 (Daniel Stenberg)
-- Joshua Kwan fixed the init routine to fill in the defaults for stuff that
-  fails to get inited by other means. This fixes a case of when the c-ares
-  init fails when internet access is fone.
-
-- Timo Teras changed the reason code used in the resolve callback done when
-  ares_cancel() is used, to be ARES_ECANCELLED instead of ARES_ETIMEOUT to
-  better allow the callback to know what's happening.
-
-* 14 Jul 2009 (Guenter Knauf)
-- renamed generated config.h to ares_config.h to avoid any future clashes
-  with config.h from other projects.
-
-* June 20 2009 (Yang Tse)
-- Refactor how libraries are checked for connect() function in configure
-  script and check for connect() as it is done for other functions.
-
-* June 19 2009 (Yang Tse)
-- Make sclose() function-like macro definition used to close a socket,
-  now solely based on HAVE_CLOSESOCKET and HAVE_CLOSESOCKET_CAMEL
-  config file preprocessor definitions
-
-* June 18 2009 (Yang Tse)
-- Add CloseSocket camel case function check for configure script.
-
-* June 17 2009 (Yang Tse)
-- Check for socket() and closesocket() as it is done for other functions
-  in configure script.
-
-* June 11 2009 (Yang Tse)
-- Modified buildconf so that when automake runs it copies missing files
-  instead of symlinking them.
-
-* June 8 2009 (Yang Tse)
-- Removed buildconf.bat from release and daily snapshot archives. This
-  file is only for CVS tree checkout builds.
-
-* May 26 2009 (Yang Tse)
-- Added --enable-curldebug configure option to enable and disable building
-  with the low-level curl debug memory tracking 'feature' to allow decoupled
-  setting from --enable-debug, allowing again to build c-ares independently
-  out of the CVS tree.
-
-  For the c-ares library option --enable-debug enables debug build features
-  which are _not_ related with memory tracking. For the c-ares library when
-  --enable-debug is given it does not enable the memory tracking feature. If
-  you wish to enable the curl debug memory tracking you must use configure
-  option --enable-curldebug explicitily to do so.
-
-  Internally, definition of preprocessor symbol DEBUGBUILD restricts code
-  which is only compiled for debug enabled builds. And symbol CURLDEBUG is
-  used to differentiate code which is _only_ used for memory tracking.
-
-  Make ares_init(), ares_dup() and ares_init_options() fail returning
-  ARES_ENOTINITIALIZED if library initialization has not been performed
-  calling ares_library_init().
-
-* May 20 2009 (Yang Tse)
-- Added ares_library_init() and ares_library_cleanup() man pages.
-
-* May 19 2009 (Yang Tse)
-- Introduced ares_library_init() and ares_library_cleanup() functions.
-
-  This is an API and ABI break for Win32/64 systems. Non-Win32/64 build targets
-  using c-ares 1.7.0 can still survive without calling these functions. Read all
-  the details on ares_library_init(3) and ares_library_cleanup(3) man pages that
-  are included.
-
-  curl/libcurl 7.19.5 is fully compatible with c-ares 1.7.0 on all systems.
-
-  In order to use c-ares 1.7.0 with curl/libcurl on Win32/64 systems it is
-  required that curl/libcurl is 7.19.5 or newer. In other words, it is not
-  possible on Win32/64 to use c-ares 1.7.0 with a curl/libcurl version less
-  than 7.19.5
-
-* May 11 2009 (Daniel Stenberg)
-- Gregor Jasny made c-ares link with libtool 's -export-symbols-regex option to
-  only expose functions starting with ares_.
-
-* May 7 2009 (Yang Tse)
-- Fix an m4 overquoting triggering a spurious 'AS_TR_CPP' symbol definition
-  attempt in generated config.h
-
-* May 2 2009 (Yang Tse)
-- Use a build-time configured ares_socklen_t data type instead of socklen_t.
-
-* April 21 2009 (Yang Tse)
-- Moved potential inclusion of system's malloc.h and memory.h header files to
-  setup_once.h.  Inclusion of each header file is based on the definition of
-  NEED_MALLOC_H and NEED_MEMORY_H respectively.
-
-* March 11 2009 (Yang Tse)
-- Japheth Cleaver fixed acountry.c replacing u_long with unsigned long.
-
-* February 20 2009 (Yang Tse)
-- Do not halt compilation when using VS2008 to build a Windows 2000 target.
-
-* February 3 2009 (Phil Blundell)
-- If the server returns garbage or nothing at all in response to an AAAA query,
-  go on and ask for A records anyway.
-
-* January 31 2009 (Daniel Stenberg)
-- ares_gethostbyname() now accepts 'AF_UNSPEC' as a family for resolving
-  either AF_INET6 or AF_INET. It works by accepting any of the looksups in the
-  hosts file, and it resolves the AAAA field with a fallback to A.
-
-* January 14 2009 (Daniel Stenberg)
-- ares.h no longer uses the HAVE_STRUCT_IN6_ADDR define check, but instead it
-  now declares the private struct ares_in6_addr for all systems instead of
-  relying on one possibly not present in the system.
-
-* January 13 2009 (Phil Blundell)
-- ares__send_query() now varies the retry timeout pseudo-randomly to avoid
-  packet storms when several queries were started at the same time.
-
-* January 11 2009 (Daniel Stenberg)
-- 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.
-
-Version 1.6.0 (Dec 9, 2008)
-
-* December 9 2008 (Gisle Vanem)
-
-  Fixes for Win32 targets using the Watt-32 tcp/ip stack.
-
-* Dec 4 2008 (Daniel Stenberg)
-
-  Gregor Jasny provided the patch that introduces ares_set_socket_callback(),
-  and I edited it to also get duped by ares_dup().
-
-* Dec 3 2008 (Daniel Stenberg)
-
-  API changes:
-
-  I made sure the public ares_config struct looks like before and yet it
-  supports the ROTATE option thanks to c-ares now storing the "optmask"
-  internally. Thus we should be ABI compatible with the past release(s)
-  now. My efforts mentioned below should not break backwards ABI compliance.
-
-  Here's how I suggest we proceed with the API:
-
-  ares_init() will be primary "channel creator" function.
-
-  ares_init_options() will continue to work exactly like now and before. For
-  starters, it will be the (only) way to set the existing options.
-
-  ares_save_options() will continue to work like today, but will ONLY save
-  options that you can set today (including ARES_OPT_ROTATE actually) but new
-  options that we add may not be saved with this.
-
-  Instead we introduce:
-
-  ares_dup() that instead can make a new channel and clone the config used
-  from an existing channel. It will then clone all config options, including
-  future new things we add.
-
-  ares_set_*() style functions that set (new) config options. As a start we
-  simply add these for new functionality, but over time we can also introduce
-  them for existing "struct ares_options" so that we can eventually deprecate
-  the two ares_*_options() functions.
-
-  ares_get_*() style functions for extracting info from a channel handle that
-  should be used instead of ares_save_options().
-
-* Nov 26 2008 (Yang Tse)
-- Brad Spencer provided changes to allow buildconf to work on OS X.
-
-- Gerald Combs fixed a bug in ares_parse_ptr_reply() which would cause a
-  buffer to shrink instead of expand if a reply contained 8 or more records.
-
-* Nov 25 2008 (Yang Tse)
-- 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.
-
-* Nov 19 2008 (Daniel Stenberg)
-- Brad Spencer brought the new function ares_gethostbyname_file() which simply
-  resolves a host name from the given file, using the regular hosts syntax.
-
-* Nov 1 2008 (Daniel Stenberg)
-- 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
-
-* Oct 21 2008 (Yang Tse)
-  Charles Hardin added handling of EINPROGRESS for UDP connects.
-
-* Oct 18 2008 (Daniel Stenberg)
-  Charles Hardin made adig support a regular numerical dotted IP address for the
-  -s option as well.
-
-* Oct 7 2008 (Yang Tse)
-- Added --enable-optimize configure option to enable and disable compiler
-  optimizations to allow decoupled setting from --enable-debug.
-
-* Oct 2 2008 (Yang Tse)
-- Added --enable-warnings configure option to enable and disable strict
-  compiler warnings to allow decoupled setting from --enable-debug.
-
-* Sep 17 2008 (Yang Tse)
-- Code reorganization to allow internal/private use of "nameser.h" to any
-  system that lacks arpa/nameser.h or arpa/nameser_compat.h header files.
-
-* Sep 16 2008 (Yang Tse)
-- Code reorganization to allow internal/private use of ares_writev to any
-  system that lacks the writev function.
-
-* Sep 15 2008 (Yang Tse)
-- Code reorganization to allow internal/private use of ares_strcasecmp to any
-  system that lacks the strcasecmp function.
-
-- Improve configure detection of some string functions.
-
-* Sep 11 2008 (Yang Tse)
-- Code reorganization to allow internal/private use of ares_strdup to any
-  system that lacks the strdup function.
-
-Version 1.5.3 (Aug 29, 2008)
-
-* Aug 25 2008 (Yang Tse)
-- Improvement by Brad House:
-
-  This patch addresses an issue in which a response could be sent back to the
-  source port of a client from a different address than the request was made to.
-  This is one form of a DNS cache poisoning attack.
-
-  The patch simply uses recvfrom() rather than recv() and validates that the
-  address returned from recvfrom() matches the address of the server we have
-  connected to. Only necessary on UDP sockets as they are connection-less, TCP
-  is unaffected.
-
-- Fix by George Neill:
-  Fixed compilation of acountry sample application failure on some systems.
-
-* Aug 4 2008 (Daniel Stenberg)
-- Fix by Tofu Linden:
-
-  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.
-
-
-* Aug 4 2008 (Yang Tse)
-- Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use.
-  Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. 2.62
-  version of AC_AIX defines _ALL_SOURCE and other four preprocessor symbols
-  no matter if the system is AIX or not. To keep the traditional behaviour,
-  and an uniform one across autoconf versions AC_AIX is replaced with our
-  own internal macro CARES_CHECK_AIX_ALL_SOURCE.
-
-* Aug 1 2008 (Yang Tse)
-- Configure process now checks if the preprocessor _REENTRANT symbol is already
-  defined. If it isn't currently defined a set of checks are performed to test
-  if its definition is required to make visible to the compiler a set of *_r
-  functions. Finally, if _REENTRANT is already defined or needed it takes care
-  of making adjustments necessary to ensure that it is defined equally for the
-  configure process tests and generated config file.
-
-* Jul 20 2008 (Yang Tse)
-- When recvfrom prototype uses a void pointer for arguments 2, 5 or 6 this will
-  now cause the definition, as appropriate, of RECVFROM_TYPE_ARG2_IS_VOID,
-  RECVFROM_TYPE_ARG5_IS_VOID or RECVFROM_TYPE_ARG6_IS_VOID.
-
-* Jul 17 2008 (Yang Tse)
-- RECVFROM_TYPE_ARG2, RECVFROM_TYPE_ARG5 and RECVFROM_TYPE_ARG6 are now defined
-  to the data type pointed by its respective argument and not the pointer type.
-
-* Jul 16 2008 (Yang Tse)
-- Improved configure detection of number of arguments for getservbyport_r.
-  Detection is now based on compilation checks instead of linker ones.
-
-- Configure process now checks availability of recvfrom() socket function and
-  finds out its return type and the types of its arguments. Added definitions
-  for non-configure systems config files, and introduced macro sreadfrom which
-  will be used on udp sockets as a recvfrom() wrapper in the future.
-
-* Jul 15 2008 (Yang Tse)
-- Introduce definition of _REENTRANT symbol in setup.h to improve library
-  usability.  Previously the configure process only used the AC_SYS_LARGEFILE
-  macro for debug builds, now it is also used for non-debug ones enabling the
-  use of configure options --enable-largefile and --disable-largefile which
-  might be needed for library compatibility.  Remove checking the size of
-  curl_off_t, it is no longer needed.
-
-* Jul 3 2008 (Daniel Stenberg)
-- Phil Blundell: If you ask ares_gethostbyname() to do an AF_INET6 lookup and
-  the target host has only A records, it automatically falls back to an
-  AF_INET lookup and gives you the A results.  However, if the target host has
-  a CNAME record, this behaviour is defeated since the original query does
-  return some data even though ares_parse_aaa_reply() doesn't consider it
-  relevant. Here's a small patch to make it behave the same with and without
-  the CNAME.
-
-* Jul 2 2008 (Yang Tse)
-- Fallback to gettimeofday when monotonic clock is unavailable at run-time.
-
-* Jun 30 2008 (Daniel Stenberg)
-
-- As was pointed out to me by Andreas Schuldei, the MAXHOSTNAMELEN define is
-  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.
-
-* Jun 9 2008 (Yang Tse)
-
-- Make libcares.pc generated file for pkg-config include information relative
-  to the libraries needed for the static linking of c-ares.
-
-* May 30 2008 (Yang Tse)
-
-- Brad House fixed a missing header file inclusion in adig sample program.
-
-Version 1.5.2 (May 29, 2008)
-
-* May 13 2008 (Daniel Stenberg)
-
-- Introducing millisecond resolution support for the timeout option. See
-  ares_init_options()'s ARES_OPT_TIMEOUTMS.
-
-* May 9 2008 (Yang Tse)
-
-- Use monotonic time source if available, for private function ares__tvnow()
-
-* May 7 2008 (Daniel Stenberg)
-
-- Sebastian made c-ares able to return all PTR-records when doing reverse
-  lookups. It is not common practice to have multiple PTR-Records for a single
-  IP, but its perfectly legal and some sites have those.
-
-- Doug Goldstein provided a configure patch: updates autoconf 2.13 usage to
-  autoconf 2.57 usage (which is the version you have specified as the minimum
-  version). It's a minor change but it does clean up some warnings with newer
-  autoconf (specifically 2.62).
-
-* May 5 2008 (Yang Tse)
-
-- Improved parsing of resolver configuration files.
-
-* April 4 2008 (Daniel Stenberg)
-
-- Eino Tuominen improved the code when a file is used to seed the randomizer.
-
-- Alexey Simak made adig support NAPTR records
-
-- Alexey Simak fixed the VC dsp file by adding the missing source file
-  ares_expand_string.c
-
-* December 11 2007 (Gisle Vanem)
-
-- Added another sample application; acountry.c which converts an
-  IPv4-address(es) and/or host-name(s) to country-name and country-code.
-  This uses the service of the DNSBL at countries.nerd.dk.
-
-* December 3 2007 (Daniel Stenberg)
-
-- Brad Spencer fixed the configure script to assume that there's no
-  /dev/urandom when built cross-compiled as then the script cannot check for
-  it.
-
-- Erik Kline cleaned up ares_gethostbyaddr.c:next_lookup() somewhat
-
-Version 1.5.1 (Nov 21, 2007)
-
-* November 21 2007 (Daniel Stenberg)
-
-- Robin Cornelius pointed out that ares_llist.h was missing in the release
-  archive for 1.5.0
-
-Version 1.5.0 (Nov 21, 2007)
-
-* October 2 2007 (Daniel Stenberg)
-
-- ares_strerror() segfaulted if the input error number was out of the currently
-  supported range.
-
-- Yang Tse: Avoid a segfault when generating a DNS "Transaction ID" in
-  internal function init_id_key() under low memory conditions.
-
-* September 28 2007 (Daniel Stenberg)
-
-- Bumped version to 1.5.0 for next release and soname bumped to 2 due to ABI
-  and API changes in the progress callback (and possibly more coming up from
-  Steinar)
-
-* September 28 2007 (Steinar H. Gunderson)
-
-- Don't skip a server if it's the only one. (Bugfix from the Google tree.)
-
-- Made the query callbacks receive the number of timeouts that happened during
-  the execution of a query, and updated documentation accordingly. (Patch from
-  the Google tree.)
-
-- Support a few more socket options: ARES_OPT_SOCK_SNDBUF and
-  ARES_OPT_SOCK_RCVBUF
-
-- Always register for TCP events even if there are no outstanding queries, as
-  the other side could always close the connection, which is a valid event
-  which should be responded to.
-
-* September 22 2007 (Daniel Stenberg)
-
-- Steinar H. Gunderson fixed: Correctly clear sockets from the fd_set on in
-  several functions (write_tcp_data, read_tcp_data, read_udp_packets) so that
-  if it fails and the socket is closed the following code doesn't try to use
-  the file descriptor.
-
-- Steinar H. Gunderson modified c-ares to now also do to DNS retries even when
-  TCP is used since there are several edge cases where it still makes sense.
-
-- 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.
-
-* July 14 2007 (Daniel Stenberg)
-
-- Vlad Dinulescu fixed two outstanding valgrind reports:
-
-  1. In ares_query.c , in find_query_by_id we compare q->qid (which is a short
-  int variable) with qid, which is declared as an int variable.  Moreover,
-  DNS_HEADER_SET_QID is used to set the value of qid, but DNS_HEADER_SET_QID
-  sets only the first two bytes of qid. I think that qid should be declared as
-  "unsigned short" in this function.
-
-  2. The same problem occurs in ares_process.c, process_answer() .  query->qid
-  (an unsigned short integer variable) is compared with id, which is an
-  integer variable. Moreover, id is initialized from DNS_HEADER_QID which sets
-  only the first two bytes of id. I think that the id variable should be
-  declared as "unsigned short" in this function.
-
-  Even after declaring these variables as "unsigned short", the valgrind
-  errors are still there. Which brings us to the third problem.
-
-  3. The third problem is that Valgrind assumes that query->qid is not
-  initialised correctly. And it does that because query->qid is set from
-  DNS_HEADER_QID(qbuf); Valgrind says that qbuf has unitialised bytes. And
-  qbuf has uninitialised bytes because of channel->next_id . And next_id is
-  set by ares_init.c:ares__generate_new_id() . I found that putting short r=0
-  in this function (instead of short r) makes all Valgrind warnings go away.
-  I have studied ares__rc4() too, and this is the offending line:
-
-        buffer_ptr[counter] ^= state[xorIndex];   (ares_query.c:62)
-
-  This is what triggers Valgrind.. buffer_ptr is unitialised in this function,
-  and by applying ^= on it, it remains unitialised.
-
-Version 1.4.0 (June 8, 2007)
-
-* June 4 2007 (Daniel Stenberg)
-
-- James Bursa reported a major memory problem when resolving multi-IP names
-  and I found and fixed the problem. It was added by Ashish Sharma's patch
-  two days ago.
-
-  When I then tried to verify multiple entries in /etc/hosts after my fix, I
-  got another segfault and decided this code was not ripe for inclusion and I
-  reverted the patch.
-
-* June 2 2007
-
-- Brad Spencer found and fixed three flaws in the code, found with the new
-  gcc 4.2.0 warning: -Waddress
-
-- Brad House fixed VS2005 compiler warnings due to time_t being 64bit.
-  He also made recent Microsoft compilers use _strdup() instead of strdup().
-
-- Brad House's man pages for ares_save_options() and ares_destroy_options()
-  were added.
-
-- Ashish Sharma provided a patch for supporting multiple entries in the
-  /etc/hosts file. Patch edited for coding style and functionality by me
-  (Daniel).
-
-* May 30 2007
-
-- Shmulik Regev brought cryptographically secure transaction IDs:
-
-  The c-ares library implementation uses a DNS "Transaction ID" field that is
-  seeded with a pseudo random number (based on gettimeofday) which is
-  incremented (++) between consecutive calls and is therefore rather
-  predictable. In general, predictability of DNS Transaction ID is a well
-  known security problem (e.g.
-  http://bak.spc.org/dms/archive/dns_id_attack.txt) and makes a c-ares based
-  implementation vulnerable to DNS poisoning. Credit goes to Amit Klein
-  (Trusteer) for identifying this problem.
-
-  The patch I wrote changes the implementation to use a more secure way of
-  generating unique IDs. It starts by obtaining a key with reasonable entropy
-  which is used with an RC4 stream to generate the cryptographically secure
-  transaction IDs.
-
-  Note that the key generation code (in ares_init:randomize_key) has two
-  versions, the Windows specific one uses a cryptographically safe function
-  provided (but undocumented :) by the operating system (described at
-  http://blogs.msdn.com/michael_howard/archive/2005/01/14/353379.aspx).  The
-  default implementation is a bit naive and uses the standard 'rand'
-  function. Surely a better way to generate random keys exists for other
-  platforms.
-
-  The patch can be tested by using the adig utility and using the '-s' option.
-
-- 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.
-
-  Problem: Calling ares_init() for each lookup can be unnecessarily resource
-         intensive.  On windows, it must LoadLibrary() or search the registry
-         on each call to ares_init().  On unix, it must read and parse
-         multiple files to obtain the necessary configuration information.  In
-         a single-threaded environment, it would make sense to only
-         ares_init() once, but in a heavily multi-threaded environment, it is
-         undesirable to ares_init() and ares_destroy() for each thread created
-         and track that.
-
-  Solution: Create ares_save_options() and ares_destroy_options() functions to
-         retrieve and free options obtained from an initialized channel.  The
-         options populated can be used to pass back into ares_init_options(),
-         it should populate all needed fields and not retrieve any information
-         from the system.  Probably wise to destroy the cache every minute or
-         so to prevent the data from becoming stale.
-
-- Daniel S added ares_process_fd() to allow applications to ask for processing
-  on specific sockets and thus avoiding select() and associated
-  functions/macros.  This function will be used by upcoming libcurl releases
-  for this very reason. It also made me export the ares_socket_t type in the
-  public ares.h header file, since ares_process_fd() uses that type for two of
-  the arguments.
-
-* May 25 2007
-
-- Ravi Pratap fixed a flaw in the init_by_resolv_conf() function for windows
-  that could cause it to return a bad return code.
-
-* April 16 2007
-
-- Yang Tse: Provide ares_getopt() command-line parser function as a source
-  code helper function, not belonging to the actual c-ares library.
-
-* February 19 2007
-
-- Vlad Dinulescu added ares_parse_ns_reply().
-
-* February 13 2007
-
-- Yang Tse: Fix failure 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.
-
-* November 22 2006
-
-- Install ares_dns.h too
-
-- 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.
-
-* November 6 2006
-
-- Yang Tse removed a couple of potential zero size memory allocations.
-
-- Andreas Rieke fixed the line endings in the areslib.dsp file that I (Daniel)
-  broke in the 1.3.2 release. We should switch to a system where that file is
-  auto-generated. We could rip some code for that from curl...
-
-Version 1.3.2 (November 3, 2006)
-
-* October 12 2006
-
-- Prevent ares_getsock() to overflow if more than 16 sockets are used.
-
-* September 11 2006
-
-- 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.
-
-* August 29 2006
-
-- Brad Spencer did
-
-  o made ares_version.h use extern "C" for c++ compilers
-  o fixed compiler warnings in ares_getnameinfo.c
-  o fixed a buffer position init for TCP reads
-
-* August 3 2006
-
-- Ravi Pratap fixed ares_getsock() to actually return the proper bitmap and
-  not always zero!
-
-Version 1.3.1 (June 24, 2006)
-
-* July 23, 2006
-
-- Gisle Vanem added getopt() to the ahost program. Currently accepts
-  only [-t {a|aaaa}] to specify address family in ares_gethostbyname().
-
-* June 19, 2006
-
-- (wahern) Removed "big endian" DNS section and RR data integer parser
-  macros from ares_dns.h, which break c-ares on my Sparc64. Bit-wise
-  operations in C operate on logical values. And in any event the octets are
-  already in big-endian (aka network) byte order so they're being reversed
-  (thus the source of the breakage).
-
-* June 18, 2006
-
-- William Ahern handles EAGAIN/EWOULDBLOCK errors in most of the I/O calls
-  from area_process.c.
-
-  TODO: Handle one last EAGAIN for a UDP socket send(2) in
-  ares__send_query().
-
-* May 10, 2006
-
-- Bram Matthys brought my attention to a libtool peculiarity where detecting
-  things such as C++ compiler actually is a bad thing and since we don't need
-  that detection I added a work-around, much inspired by a previous patch by
-  Paolo Bonzini. This also shortens the configure script quite a lot.
-
-* May 3, 2006
-
-- 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.
-
-* January 9, 2006
-
-- Alexander Lazic improved the getservbyport_r() configure check.
-
-* January 6, 2006
-
-- Alexander Lazic pointed out that the buildconf should use the ACLOCAL_FLAGS
-  variable for easier controlling what it does and how it runs.
-
-* January 5, 2006
-
-- James Bursa fixed c-ares to find the hosts file on RISC OS, and made it
-  build with newer gcc versions that no longer defines "riscos".
-
-* December 22
-
-- Daniel Stenberg added ares_getsock() that extracts the set of sockets to
-  wait for action on. Similar to ares_fds() but not restricted to using
-  select() for the waiting.
-
-* November 25
-
-- Yang Tse fixed some send() / recv() compiler warnings
-
-* September 18
-
-- Added constants that will be used by ares_getaddrinfo
-
-- Made ares_getnameinfo use the reentrant getservbyport (getservbyport_r) if it
-  is available to ensure it works properly in a threaded environment.
-
-* September 10
-
-- configure fix for detecting a member in the sockaddr_in6 struct which failed
-  on ipv6-enabled HP-UX 11.00
-
-Version 1.3.0 (August 29, 2005)
-
-* August 21
-
-- Alfredo Tupone provided a fix for the Windows code in get_iphlpapi_dns_info()
-  when getting the DNS server etc.
-
-* June 19
-
-- Added some checks for the addrinfo structure.
-
-* June 2
-
-- William Ahern:
-
-  Make UDP sockets non-blocking. I've confirmed that at least on Linux 2.4 a
-  read event can come back from poll() on a valid SOCK_DGRAM socket but
-  recv(2) will still block. This patch doesn't ignore EAGAIN in
-  read_udp_packets(), though maybe it should. (This patch was edited by Daniel
-  Stenberg and a new configure test was added (imported from curl's configure)
-  to properly detect what non-blocking socket approach to use.)
-
-  I'm not quite sure how this was happening, but I've been seeing PTR queries
-  which seem to return empty responses. At least, they were empty when calling
-  ares_expand_name() on the record. Here's a patch which guarantees to
-  NUL-terminate the expanded name. The old behavior failed to NUL-terminate if
-  len was 0, and this was causing strlen() to run past the end of the buffer
-  after calling ares_expand_name() and getting ARES_SUCCESS as the return
-  value. If q is not greater than *s then it's equal and *s is always
-  allocated with at least one byte.
-
-* May 16
-
-- Added ares_getnameinfo which mimics the getnameinfo API (another feature
-  that could use testing).
-
-* May 14
-
-- Added an inet_ntop function from BIND for systems that do not have it.
-
-* April 9
-
-- Made sortlist support IPv6 (this can probably use some testing).
-
-- Made sortlist support CIDR matching for IPv4.
-
-* April 8
-
-- Added preliminary IPv6 support to ares_gethostbyname. Currently, sortlist
-  does not work with IPv6. Also provided an implementation of bitncmp from
-  BIND for systems that do not supply this function. This will be used to add
-  IPv6 support to sortlist.
-
-- Made ares_gethostbyaddr support IPv6 by specifying AF_INET6 as the family.
-  The function can lookup IPv6 addresses both from files (/etc/hosts) and
-  DNS lookups.
-
-* April 7
-
-- Tupone Alfredo fixed includes of arpa/nameser_compat.h to build fine on Mac
-  OS X.
-
-* April 5
-
-- Dominick Meglio: Provided implementations of inet_net_pton and inet_pton
-  from BIND for systems that do not include these functions.
-
-* March 11, 2005
-
-- Dominick Meglio added ares_parse_aaaa_reply.c and did various
-  adjustments. The first little steps towards IPv6 support!
-
-* November 7
-
-- Fixed the VC project and makefile to use ares_cancel and ares_version
-
-* October 24
-
-- The released ares_version.h from 1.2.1 says 1.2.0 due to a maketgz flaw.
-  This is now fixed.
-
-Version 1.2.1 (October 20, 2004)
-
-* September 29
-
-- 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.
-
-* September 26
-
-- 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.
-
-- Dominick Meglio patched: C-ares on Windows assumed that the HOSTS file is
-  located in a static location. It assumed
-  C:\Windows\System32\Drivers\Etc. This is a poor assumption to make. In fact,
-  the location of the HOSTS file can be changed via a registry setting.
-
-  There is a key called DatabasePath which specifies the path to the HOSTS
-  file:
-  http://www.microsoft.com/technet/itsolutions/network/deploy/depovg/tcpip2k.mspx
-
-  The patch will make c-ares correctly consult the registry for the location
-  of this file.
-
-* August 29
-
-- Gisle Vanem fixed the MSVC build files.
-
-* August 20
-
-- Gisle Vanem made c-ares build and work with his Watt-32 TCP/IP stack.
-
-* August 13
-
-- Harshal Pradhan made a minor syntax change in ares_init.c to make it build
-  fine with MSVC 7.1
-
-* July 24
-
-- Made the lib get built static only if --enable-debug is used.
-
-- Gisle Vanem fixed:
-
-  Basically in loops like handle_errors(), 'query->next' was assigned a local
-  variable and then query was referenced after the memory was freed by
-  next_server(). I've changed that so next_server() and end_query() returns
-  the next query. So callers should use this ret-value.
-
-  The next problem was that 'server->tcp_buffer_pos' had a random value at
-  entry to 1st recv() (luckily causing Winsock to return ENOBUFS).
-
-  I've also added a ares_writev() for Windows to streamline the code a bit
-  more.
-
-* July 20
-- 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.
-
-- Anyone desires HTML and/or PDF versions of the man pages in the release
-  archives?
-
-* July 3
-- Günter Knauf made c-ares build and run on Novell Netware.
-
-* July 1
-- Gisle Vanem provided Makefile.dj to build with djgpp, added a few more djgpp
-  fixes and made ares not use 'errno' to provide further info on Windows.
-
-* June 30
-- Gisle Vanem made it build with djgpp and run fine with the Watt-32 stack.
-
-* June 10
-- Gisle Vanem's init patch for Windows:
-
-  The init_by_resolv_conf() function fetches the DNS-server(s)
-  from a series of registry branches.
-
-  This can be wrong in the case where DHCP has assigned nameservers, but the
-  user has overridden these servers with other prefered settings. Then it's
-  wrong to use the DHCPNAMESERVER setting in registry.
-
-  In the case of no global DHCP-assigned or fixed servers, but DNS server(s)
-  per adapter, one has to query the adapter branches.  But how can c-ares know
-  which adapter is valid for use? AFAICS it can't. There could be one adapter
-  that is down (e.g. a VPN adapter).
-
-  So it's better to leave this to the IP Helper API (iphlapi) available in
-  Win-98/2000 and later. My patch falls-back to the old way if not available.
-
-* June 8
-- James Bursa fixed an init issue for RISC OS.
-
-* May 11
-- Nico Stappenbelt reported that when processing domain and search lines in
-  the resolv.conf file, the first entry encountered is processed and used as
-  the search list. According to the manual pages for both Linux, Solaris and
-  Tru64, the last entry of either a domain or a search field is used.
-
-  This is now adjusted in the code
-
-Version 1.2.0 (April 13, 2004)
-
-* April 2, 2004
-- Updated various man pages to look nicer when converted to HTML on the web
-  site.
-
-* April 1, 2004
-- Dirk Manske provided a new function that is now named ares_cancel(). It is
-  used to cancel/cleanup a resolve/request made using ares functions on the
-  given ares channel. It does not destroy/kill the ares channel itself.
-
-- Dominick Meglio cleaned up the formatting in several man pages.
-
-* March 30, 2004
-- Dominick Meglio's new ares_expand_string. A helper function when decoding
-  incoming DNS packages.
-
-- Daniel Stenberg modified the Makefile.in to use a for loop for the man page
-  installation to improve overview and make it easier to add man pages.
-
-Version 1.1.0 (March 11, 2004)
-
-* March 9, 2004
-- Gisle Vanem improved build on Windows.
-
-* February 25, 2004
-- Dan Fandrich found a flaw in the Feb 22 fix.
-
-- Added better configure --enable-debug logic (taken from the curl configure
-  script). Added acinclude.m4 to the tarball.
-
-* February 23, 2004
-- Removed ares_free_errmem(), the function, the file and the man page. It was
-  not used and it did nothing.
-
-- Fixed a lot of code that wasn't "64bit clean" and thus caused a lot of
-  compiler warnings on picky compilers.
-
-* February 22, 2004
-- Dominick Meglio made ares init support multiple name servers in the
-  NameServer key on Windows.
-
-* February 16, 2004
-- Modified ares_private.h to include libcurl's memory debug header if
-  CURLDEBUG is set. This makes all the ares-functions supervised properly by
-  the curl test suite. This also forced me to add inclusion of the
-  ares_private.h header in a few more files that are using some kind of
-  memory-related resources.
-
-- Made the makefile only build ahost and adig if 'make demos' is used.
-
-* February 10, 2004
-- Dirk Manske made ares_version.h installed with 'make install'
-
-* February 4, 2004
-- ares_free_errmem() is subject for removal, it is simply present for future
-  purposes, and since we removed the extra parameter in strerror() it won't
-  be used by c-ares!
-- configure --enable-debug now enables picky compiler options if gcc is used
-- fixed several compiler warnings --enable-debug showed and Joerg Mueller-Tolk
-  reported
-
-Version 1.0.0 (February 3, 2004)
-
-* February 3, 2004
-- now we produce the libcares.a library instead of the previous libares.a
-  since we are no longer compatible
-
-* February 2, 2004
-
-- ares_strerror() has one argument less. This is the first official
-  modification of the existing provided ares API.
-
-* January 29, 2004
-
-- Dirk Manske fixed how the socket is set non-blocking.
-
-* January 4, 2004
-
-- Dominick Meglio made the private gettimeofday() become ares_gettimeofday()
-  instead in order to not pollute the name space and risk colliding with
-  other libraries' versions of this function.
-
-* October 24, 2003. Daniel Stenberg
-
-  Added ares_version().
-
-Version 1.0-pre1 (8 October 2003)
-
-- James Bursa made it run on RISC OS
-
-- Dominick Meglio made it run fine on NT4
-
-- Duncan Wilcox made it work fine on Mac OS X
-
-- Daniel Stenberg adjusted the windows port
-
-- liren at vivisimo.com made the initial windows port
-
-* Imported the sources from ares 1.1.1
diff --git a/ares/CVS-INFO b/ares/CVS-INFO
deleted file mode 100644 (file)
index 7d48d08..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-CVS-INFO
-
-This file is only present in the CVS - never in release archives. It is used
-as a sentinel file in buildconf.bat in order to differentiate a CVS checkout
-from release and daily snapshot archives.
-
diff --git a/ares/Makefile.am b/ares/Makefile.am
deleted file mode 100644 (file)
index 3ed8535..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-ACLOCAL_AMFLAGS = -I m4
-
-# Specify our include paths here, and do it relative to $(top_srcdir) and
-# $(top_builddir), to ensure that these paths which belong to the library
-# being currently built and tested are searched before the library which
-# might possibly already be installed in the system.
-#
-# When using the low-level hard-hacking memory leak tracking code from
-# libcurl the generated curl/curlbuild.h file must also be reachable.
-# Using the libcurl lowlevel code from within c-ares library is ugly and
-# only works when c-ares is built and linked with a similarly debug-build
-# libcurl, but we do this anyway for convenience.
-#
-# $(top_builddir)/../include/curl for generated curlbuild.h included from curl.h
-# $(top_builddir)/../include is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/../include is for libcurl's external include files
-# $(top_builddir)/../lib is for libcurl's generated lib/curl_config.h file
-# $(top_srcdir)/../lib is for libcurl's lib/setup.h and other "private" files
-# $(top_builddir) is for c-ares's generated ares_config.h file
-# $(top_srcdir) is for c-ares's ares_setup.h and other "c-ares-private" files
-
-if CURLDEBUG
-INCLUDES = -I$(top_builddir)/../include/curl \
-           -I$(top_builddir)/../include      \
-           -I$(top_srcdir)/../include        \
-           -I$(top_builddir)/../lib          \
-           -I$(top_srcdir)/../lib            \
-           -I$(top_builddir)                 \
-           -I$(top_srcdir)
-else
-INCLUDES = -I$(top_builddir) \
-           -I$(top_srcdir)
-endif
-
-lib_LTLIBRARIES = libcares.la
-
-man_MANS = $(MANPAGES)
-
-MSVCFILES = vc/vc6aws.dsw vc/acountry/vc6acountry.dsp vc/adig/vc6adig.dsp \
- vc/ahost/vc6ahost.dsp vc/cares/vc6cares.dsp vc/cares/vc6cares.dsw
-
-if CURLDEBUG
-PROGS =
-else
-PROGS = ahost adig acountry
-endif
-
-noinst_PROGRAMS =$(PROGS)
-
-# adig and ahost are just sample programs and thus not mentioned with the
-# regular sources and headers
-EXTRA_DIST = AUTHORS CHANGES README.cares Makefile.inc Makefile.dj        \
- Makefile.m32 Makefile.netware Makefile.msvc $(man_MANS) $(MSVCFILES)     \
- config-win32.h RELEASE-NOTES libcares.pc.in buildconf get_ver.awk maketgz \
- TODO ares_build.h.in $(PDFPAGES) cares.rc README.msvc
-
-CLEANFILES = $(PDFPAGES) $(HTMLPAGES)
-
-DISTCLEANFILES = ares_build.h
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libcares.pc
-
-VER=-version-info 2:0:0
-# This flag accepts an argument of the form current[:revision[:age]]. So,
-# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
-# 1.
-#
-# If either revision or age are omitted, they default to 0. Also note that age
-# must be less than or equal to the current interface number.
-#
-# Here are a set of rules to help you update your library version information: 
-#
-# 1.Start with version information of 0:0:0 for each libtool library.
-#
-# 2.Update the version information only immediately before a public release of
-# your software. More frequent updates are unnecessary, and only guarantee
-# that the current interface number gets larger faster.
-#
-# 3.If the library source code has changed at all since the last update, then
-# increment revision (c:r+1:a)
-#
-# 4.If any interfaces have been added, removed, or changed since the last
-# update, increment current, and set revision to 0. (c+1:r=0:a)
-#
-# 5.If any interfaces have been added since the last public release, then
-# increment age. (c:r:a+1)
-#
-# 6.If any interfaces have been removed since the last public release, then
-# set age to 0. (c:r:a=0)
-#
-
-if NO_UNDEFINED
-# The -no-undefined flag is crucial for this to build fine on some platforms
-UNDEF = -no-undefined
-endif
-
-libcares_la_LDFLAGS = $(UNDEF) $(VER)
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-libcares_la_SOURCES = $(CSOURCES) $(HHEADERS)
-
-# where to install the c-ares headers
-libcares_ladir = $(includedir)
-# what headers to install on 'make install':
-libcares_la_HEADERS = ares.h ares_version.h ares_dns.h \
-       ares_build.h ares_rules.h
-
-ahost_SOURCES = ahost.c $(SAMPLESOURCES) $(SAMPLEHEADERS)
-ahost_LDADD = $(top_builddir)/libcares.la
-ahost_CFLAGS = $(AM_CFLAGS)
-
-adig_SOURCES = adig.c $(SAMPLESOURCES) $(SAMPLEHEADERS)
-adig_LDADD = $(top_builddir)/libcares.la
-adig_CFLAGS = $(AM_CFLAGS)
-
-acountry_SOURCES = acountry.c $(SAMPLESOURCES) $(SAMPLEHEADERS)
-acountry_LDADD = $(top_builddir)/libcares.la
-acountry_CFLAGS = $(AM_CFLAGS)
-
-SOURCEDMANDIR = man3
-SOURCEDMANPAGES = ares_init.3
-
-clean-local: clean-sourced-manpages
-
-clean-sourced-manpages:
-       @srcdmandir='$(SOURCEDMANDIR)'; \
-       echo "rm -rf $(top_builddir)/$$srcdmandir"; \
-       rm -rf $(top_builddir)/$$srcdmandir
-
-sourced-manpages: clean-sourced-manpages
-       @srcdmandir='$(SOURCEDMANDIR)'; \
-       srcdmanfiles='$(SOURCEDMANPAGES)'; \
-       mkdir $(top_builddir)/$$srcdmandir; \
-       for file in $$srcdmanfiles; do \
-         if test -f $(top_srcdir)/$$file; then \
-           echo "cp $(top_srcdir)/$$file $(top_builddir)/$$srcdmandir/$$file"; \
-           cp $(top_srcdir)/$$file $(top_builddir)/$$srcdmandir/$$file; \
-         fi; \
-       done
-
-MAN2HTML = roffit --mandir=. < $< >$@
-
-SUFFIXES = .3 .html
-
-html: sourced-manpages $(HTMLPAGES)
-
-.3.html:
-       $(MAN2HTML)
-
-pdf: sourced-manpages $(PDFPAGES)
-
-.3.pdf:
-       @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
-       groff -Tps -man $< >$$foo.ps; \
-       ps2pdf $$foo.ps $@; \
-       rm $$foo.ps; \
-       echo "converted $< to $@")
-
-# Make files named *.dist replace the file without .dist extension
-dist-hook:
-       find $(distdir) -name "*.dist" -exec rm {} \;
-       (distit=`find $(srcdir) -name "*.dist"`; \
-       for file in $$distit; do \
-         strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
-         cp $$file $(distdir)$$strip; \
-       done)
diff --git a/ares/Makefile.dj b/ares/Makefile.dj
deleted file mode 100644 (file)
index f6b9d8f..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#
-# c-ares Makefile for djgpp/gcc/Watt-32.
-#   By Gisle Vanem <gvanem@broadpark.no> 2004.
-#
-# $Id$
-
-
-TOPDIR = ..
-
-DEPEND_PREREQ = ares_config.h
-
-include ../packages/DOS/common.dj
-include Makefile.inc
-
-CFLAGS += -DWATT32 -Dselect=select_s
-
-LDFLAGS = -s
-
-ifeq ($(USE_CURLDEBUG),1)
-  EX_LIBS  = ../lib/libcurl.a
-  OBJ_HACK = $(OBJECTS)
-else
-  OBJ_HACK = libcares.a
-endif
-
-ifeq ($(USE_SSL),1)
-  EX_LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a
-endif
-
-ifeq ($(USE_ZLIB),1)
-  EX_LIBS += $(ZLIB_ROOT)/libz.a
-endif
-
-ifeq ($(USE_IDNA),1)
-  EX_LIBS += $(LIBIDN_ROOT)/lib/dj_obj/libidn.a -liconv
-endif
-
-EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a
-
-OBJECTS = $(addprefix $(OBJ_DIR)/, $(CSOURCES:.c=.o))
-
-all: $(OBJ_DIR) ares_config.h libcares.a ahost.exe adig.exe acountry.exe
-       @echo Welcome to c-ares.
-
-libcares.a: $(OBJECTS)
-       ar rs $@ $?
-
-ares_config.h: config.dos
-       $(COPY) $^ $@
-
-ahost.exe: ahost.c $(OBJ_DIR)/ares_getopt.o $(OBJ_HACK)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(EX_LIBS)
-
-adig.exe: adig.c $(OBJ_DIR)/ares_getopt.o $(OBJ_HACK)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(EX_LIBS)
-
-acountry.exe: acountry.c $(OBJ_DIR)/ares_getopt.o $(OBJ_HACK)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(EX_LIBS)
-
-# clean generated files
-#
-genclean:
-       - $(DELETE) ares_config.h
-
-# clean object files and subdir
-#
-objclean: genclean
-       - $(DELETE) $(OBJ_DIR)$(DS)*.o
-       - $(RMDIR) $(OBJ_DIR)
-
-# clean without removing built library and programs
-#
-clean: objclean
-       - $(DELETE) depend.dj
-
-# clean everything
-#
-realclean vclean: clean
-       - $(DELETE) libcares.a
-       - $(DELETE) acountry.exe
-       - $(DELETE) adig.exe
-       - $(DELETE) ahost.exe
-       - $(DELETE) libcares.a
-
--include depend.dj
-
diff --git a/ares/Makefile.inc b/ares/Makefile.inc
deleted file mode 100644 (file)
index cef828a..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-
-CSOURCES = ares__close_sockets.c       \
-  ares__get_hostent.c                  \
-  ares__read_line.c                    \
-  ares__timeval.c                      \
-  ares_cancel.c                                \
-  ares_data.c                          \
-  ares_destroy.c                       \
-  ares_expand_name.c                   \
-  ares_expand_string.c                 \
-  ares_fds.c                           \
-  ares_free_hostent.c                  \
-  ares_free_string.c                   \
-  ares_gethostbyaddr.c                 \
-  ares_gethostbyname.c                 \
-  ares_getnameinfo.c                   \
-  ares_getsock.c                       \
-  ares_init.c                          \
-  ares_library_init.c                  \
-  ares_llist.c                         \
-  ares_mkquery.c                       \
-  ares_nowarn.c                                \
-  ares_options.c                       \
-  ares_parse_a_reply.c                 \
-  ares_parse_aaaa_reply.c              \
-  ares_parse_ns_reply.c                        \
-  ares_parse_ptr_reply.c               \
-  ares_parse_srv_reply.c               \
-  ares_parse_txt_reply.c               \
-  ares_process.c                       \
-  ares_query.c                         \
-  ares_search.c                                \
-  ares_send.c                          \
-  ares_strcasecmp.c                    \
-  ares_strdup.c                                \
-  ares_strerror.c                      \
-  ares_timeout.c                       \
-  ares_version.c                       \
-  ares_writev.c                                \
-  bitncmp.c                            \
-  inet_net_pton.c                      \
-  inet_ntop.c                          \
-  windows_port.c
-
-HHEADERS = ares.h                      \
-  ares_build.h                         \
-  ares_data.h                          \
-  ares_dns.h                           \
-  ares_ipv6.h                          \
-  ares_library_init.h                  \
-  ares_llist.h                         \
-  ares_nowarn.h                                \
-  ares_private.h                       \
-  ares_rules.h                         \
-  ares_strcasecmp.h                    \
-  ares_strdup.h                                \
-  ares_version.h                       \
-  ares_writev.h                                \
-  bitncmp.h                            \
-  inet_net_pton.h                      \
-  inet_ntop.h                          \
-  nameser.h                            \
-  ares_setup.h                         \
-  setup_once.h
-
-MANPAGES = ares_cancel.3               \
-  ares_destroy.3                       \
-  ares_destroy_options.3               \
-  ares_dup.3                           \
-  ares_expand_name.3                   \
-  ares_expand_string.3                 \
-  ares_fds.3                           \
-  ares_free_data.3                     \
-  ares_free_hostent.3                  \
-  ares_free_string.3                   \
-  ares_get_servers.3                   \
-  ares_gethostbyaddr.3                 \
-  ares_gethostbyname.3                 \
-  ares_gethostbyname_file.3            \
-  ares_getnameinfo.3                   \
-  ares_getsock.3                       \
-  ares_init.3                          \
-  ares_init_options.3                  \
-  ares_library_cleanup.3               \
-  ares_library_init.3                  \
-  ares_mkquery.3                       \
-  ares_parse_a_reply.3                 \
-  ares_parse_aaaa_reply.3              \
-  ares_parse_ns_reply.3                        \
-  ares_parse_ptr_reply.3               \
-  ares_parse_srv_reply.3               \
-  ares_parse_txt_reply.3               \
-  ares_process.3                       \
-  ares_query.3                         \
-  ares_save_options.3                  \
-  ares_search.3                                \
-  ares_send.3                          \
-  ares_set_servers.3                   \
-  ares_set_socket_callback.3           \
-  ares_strerror.3                      \
-  ares_timeout.3                       \
-  ares_version.3
-
-HTMLPAGES = ares_cancel.html           \
-  ares_destroy.html                    \
-  ares_destroy_options.html            \
-  ares_dup.html                                \
-  ares_expand_name.html                        \
-  ares_expand_string.html              \
-  ares_fds.html                                \
-  ares_free_data.html                  \
-  ares_free_hostent.html               \
-  ares_free_string.html                        \
-  ares_get_servers.html                        \
-  ares_gethostbyaddr.html              \
-  ares_gethostbyname.html              \
-  ares_gethostbyname_file.html         \
-  ares_getnameinfo.html                        \
-  ares_getsock.html                    \
-  ares_init.html                       \
-  ares_init_options.html               \
-  ares_library_cleanup.html            \
-  ares_library_init.html               \
-  ares_mkquery.html                    \
-  ares_parse_a_reply.html              \
-  ares_parse_aaaa_reply.html           \
-  ares_parse_ns_reply.html             \
-  ares_parse_ptr_reply.html            \
-  ares_parse_srv_reply.html            \
-  ares_parse_txt_reply.html            \
-  ares_process.html                    \
-  ares_query.html                      \
-  ares_save_options.html               \
-  ares_search.html                     \
-  ares_send.html                       \
-  ares_set_servers.html                        \
-  ares_set_socket_callback.html                \
-  ares_strerror.html                   \
-  ares_timeout.html                    \
-  ares_version.html
-
-PDFPAGES = ares_cancel.pdf             \
-  ares_destroy.pdf                     \
-  ares_destroy_options.pdf             \
-  ares_dup.pdf                         \
-  ares_expand_name.pdf                 \
-  ares_expand_string.pdf               \
-  ares_fds.pdf                         \
-  ares_free_data.pdf                   \
-  ares_free_hostent.pdf                        \
-  ares_free_string.pdf                 \
-  ares_get_servers.pdf                 \
-  ares_gethostbyaddr.pdf               \
-  ares_gethostbyname.pdf               \
-  ares_gethostbyname_file.pdf          \
-  ares_getnameinfo.pdf                 \
-  ares_getsock.pdf                     \
-  ares_init.pdf                                \
-  ares_init_options.pdf                        \
-  ares_library_cleanup.pdf             \
-  ares_library_init.pdf                        \
-  ares_mkquery.pdf                     \
-  ares_parse_a_reply.pdf               \
-  ares_parse_aaaa_reply.pdf            \
-  ares_parse_ns_reply.pdf              \
-  ares_parse_ptr_reply.pdf             \
-  ares_parse_srv_reply.pdf             \
-  ares_parse_txt_reply.pdf             \
-  ares_process.pdf                     \
-  ares_query.pdf                       \
-  ares_save_options.pdf                        \
-  ares_search.pdf                      \
-  ares_send.pdf                                \
-  ares_set_servers.pdf                 \
-  ares_set_socket_callback.pdf         \
-  ares_strerror.pdf                    \
-  ares_timeout.pdf                     \
-  ares_version.pdf
-
-SAMPLESOURCES = ares_getopt.c          \
-  ares_strcasecmp.c                    \
-  inet_net_pton.c                      \
-  inet_ntop.c
-
-SAMPLEHEADERS = ares_getopt.h          \
-  ares_strcasecmp.h                    \
-  inet_net_pton.h                      \
-  inet_ntop.h
diff --git a/ares/Makefile.m32 b/ares/Makefile.m32
deleted file mode 100644 (file)
index 120aad3..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#############################################################
-# $Id$
-#
-## Makefile for building libcares.a with MingW32 (GCC-3.2)
-## Use: make -f Makefile.m32 [demos]
-##
-## Quick hack by Guenter; comments to: /dev/nul
-#
-########################################################
-## Nothing more to do below this line!
-
-LIB    = libcares.a
-
-CC     = gcc
-LD     = gcc
-RANLIB = ranlib
-#RM    = rm -f
-
-CFLAGS = -O2 -Wall
-LDFLAGS        = -s
-LIBS   = -lwsock32
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-OBJLIB := $(patsubst %.c,%.o,$(strip $(CSOURCES)))
-
-
-$(LIB): $(OBJLIB)
-       ar cru $@ $^
-       $(RANLIB) $@
-
-all: $(LIB) demos
-
-demos: adig.exe ahost.exe acountry.exe
-
-tags:
-       etags *.[ch]
-
-%.exe: %.o ares_getopt.o $(LIB)
-       $(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
-
-$(OBJLIB): ares.h ares_dns.h ares_private.h ares_build.h ares_rules.h
-
-.c.o:
-       $(CC) $(CFLAGS) -c $<
-
-check:
-
-install:
-       ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
-       ${top_srcdir}/mkinstalldirs ${DESTDIR}${includedir}
-       ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man3
-       ${INSTALL} -m 644 $(LIB) ${DESTDIR}${libdir}
-       ${RANLIB} ${DESTDIR}${libdir}/$(LIB)
-       chmod u-w ${DESTDIR}${libdir}/$(LIB)
-       ${INSTALL} -m 444 ${srcdir}/ares.h ${DESTDIR}${includedir}
-       ${INSTALL} -m 444 ${srcdir}/ares_build.h ${DESTDIR}${includedir}
-       ${INSTALL} -m 444 ${srcdir}/ares_rules.h ${DESTDIR}${includedir}
-       (for man in $(MANPAGES); do \
-          ${INSTALL} -m 444 ${srcdir}/$${man} ${DESTDIR}${mandir}/man3; \
-       done)
-
-clean:
-       $(RM) ares_getopt.o $(OBJLIB) $(LIB) adig.exe ahost.exe acountry.exe
-
-distclean: clean
-       $(RM) config.cache config.log config.status Makefile
-
diff --git a/ares/Makefile.msvc b/ares/Makefile.msvc
deleted file mode 100644 (file)
index fe3c118..0000000
+++ /dev/null
@@ -1,475 +0,0 @@
-# $Id$
-
-# Copyright (C) 2009-2010 by Daniel Stenberg
-#
-# Permission to use, copy, modify, and distribute this
-# software and its documentation for any purpose and without
-# fee is hereby granted, provided that the above copyright
-# notice appear in all copies and that both that copyright
-# notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in
-# advertising or publicity pertaining to distribution of the
-# software without specific, written prior permission.
-# M.I.T. makes no representations about the suitability of
-# this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-
-# ------------------------------------------------------------------------------
-#
-# Makefile for building c-ares libraries and sample programs with MSVC.
-#
-# Usage: nmake /f makefile.msvc CFG=<config> <target>
-# 
-# <config> must be one of: [ lib-release | lib-debug | dll-release | dll-debug }
-# <target> must be one of: [ ALL | c-ares | acountry | adig | ahost | clean }
-# 
-# If a <target> other than ALL or clean is given, <config> becomes mandatory.
-# 
-# If neither <config> nor <target> are specified this results in
-# all targets being built for all <config> c-ares library types.
-#
-# This makefile must be processed from the subdir where it is located.
-#
-# All results are generated below a subdirectory named msvcXXX.
-#
-# ------------------------------------------------------------------------------
-
-NAME = cares
-
-# ------------------------------------------------
-# c-ares static and dynamic libraries common base
-# file names for release and debug configurations
-# ------------------------------------------------
-
-STA_LIB_REL = lib$(NAME)
-DYN_LIB_REL = $(NAME)
-STA_LIB_DBG = $(STA_LIB_REL)d
-DYN_LIB_DBG = $(DYN_LIB_REL)d
-
-# -------------------------------------------
-# Base names for c-ares DLL import libraries
-# -------------------------------------------
-
-IMP_LIB_REL = $(DYN_LIB_REL)
-IMP_LIB_DBG = $(DYN_LIB_DBG)
-
-# --------------------------
-# Runtime library selection
-# --------------------------
-
-RTLIB  = /MD
-RTLIBD = /MDd
-
-!IF "$(RTLIBCFG)" == "static"
-RTLIB  = /MT
-RTLIBD = /MTd
-!ENDIF
-
-# --------------------------------------------------------
-# Define USE_WATT32 to 1 to use the Watt-32 tcp/ip stack,
-# otherwise Winsock tcp/ip stack will be used as default.
-# --------------------------------------------------------
-
-USE_WATT32 = 0
-
-# -------------------------------------------
-# Detect NMAKE version deducing MSVC version
-# -------------------------------------------
-
-!IFNDEF _NMAKE_VER
-!  MESSAGE Macro _NMAKE_VER not defined.
-!  MESSAGE Use MSVC's NMAKE to process this makefile.
-!  ERROR   See previous message.
-!ENDIF
-
-!IF     "$(_NMAKE_VER)" == "6.00.8168.0"
-CC_VERS_NUM = 60
-!ELSEIF "$(_NMAKE_VER)" == "6.00.9782.0"
-CC_VERS_NUM = 60
-!ELSEIF "$(_NMAKE_VER)" == "7.00.9466"
-CC_VERS_NUM = 70
-!ELSEIF "$(_NMAKE_VER)" == "7.00.9955"
-CC_VERS_NUM = 70
-!ELSEIF "$(_NMAKE_VER)" == "7.10.3077"
-CC_VERS_NUM = 71
-!ELSEIF "$(_NMAKE_VER)" == "8.00.40607.16"
-CC_VERS_NUM = 80
-!ELSEIF "$(_NMAKE_VER)" == "8.00.50727.42"
-CC_VERS_NUM = 80
-!ELSEIF "$(_NMAKE_VER)" == "8.00.50727.762"
-CC_VERS_NUM = 80
-!ELSEIF "$(_NMAKE_VER)" == "9.00.21022.08"
-CC_VERS_NUM = 90
-!ELSEIF "$(_NMAKE_VER)" == "9.00.30729.01"
-CC_VERS_NUM = 90
-!ELSEIF "$(_NMAKE_VER)" == "10.00.20506.01"
-CC_VERS_NUM = 100
-!ELSEIF "$(_NMAKE_VER)" == "10.00.21003.01"
-CC_VERS_NUM = 100
-!ELSE
-!  MESSAGE Unknown value for _NMAKE_VER macro: "$(_NMAKE_VER)"
-!  MESSAGE Please, report this condition on the c-ares development
-!  MESSAGE mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
-!  ERROR   See previous message.
-!ENDIF
-
-CC_VERS_STR = msvc$(CC_VERS_NUM)
-
-# ----------------------------------------------------
-# Verify that current subdir is the c-ares source one
-# ----------------------------------------------------
-
-!IF ! EXIST(.\ares_init.c)
-!  MESSAGE Can not process Makefile.msvc from outside of c-ares source subdirectory.
-!  MESSAGE Change to the subdirectory where Makefile.msvc is found, and try again.
-!  ERROR   See previous message.
-!ENDIF
-
-# ------------------------------------------------------------------
-# Base subdir is the common root from which other subdirs will hang,
-# the name depends on MSVC version being used when building c-ares.
-# ------------------------------------------------------------------
-
-BASE_DIR = .\$(CC_VERS_STR)
-
-# ----------------------------------------
-# Subdir holding sources for all projects
-# ----------------------------------------
-
-SRCDIR = .
-
-# -------------------------
-# Configuration validation
-# -------------------------
-
-VALID_CFGSET = FALSE
-!IF "$(CFG)" == "lib-release" || "$(CFG)" == "lib-debug" || \
-    "$(CFG)" == "dll-release" || "$(CFG)" == "dll-debug"
-VALID_CFGSET = TRUE
-!ENDIF
-
-!IF "$(VALID_CFGSET)" == "FALSE" && "$(CFG)" != ""
-!  MESSAGE MSVC c-ares makefile
-!  MESSAGE
-!  MESSAGE Usage: nmake /f makefile.msvc CFG=<config> <target>
-!  MESSAGE
-!  MESSAGE <config> must be one of: [ lib-release | lib-debug | dll-release | dll-debug }
-!  MESSAGE <target> must be one of: [ ALL | c-ares | acountry | adig | ahost | clean }
-!  MESSAGE
-!  MESSAGE If a <target> other than ALL or clean is given, <config> becomes mandatory.
-!  MESSAGE
-!  MESSAGE If neither <config> nor <target> are specified this results in
-!  MESSAGE all targets being built for all <config> c-ares library types.
-!  MESSAGE
-!  ERROR Choose a valid configuration.
-!ENDIF
-
-# --------------------------------------------------------
-# Project subdirs independent of configuration being used
-# --------------------------------------------------------
-
-CARES_DIR = $(BASE_DIR)\cares
-PROG1_DIR = $(BASE_DIR)\acountry
-PROG2_DIR = $(BASE_DIR)\adig
-PROG3_DIR = $(BASE_DIR)\ahost
-
-# ---------------------------------------------------
-# Subdirs which are configuration dependent are only
-# defined when a valid configuration has been given.
-# ---------------------------------------------------
-
-!IF "$(VALID_CFGSET)" == "TRUE"
-CARES_OUTDIR = $(CARES_DIR)\$(CFG)
-PROG1_OUTDIR = $(PROG1_DIR)\$(CFG)
-PROG2_OUTDIR = $(PROG2_DIR)\$(CFG)
-PROG3_OUTDIR = $(PROG3_DIR)\$(CFG)
-CARES_OBJDIR = $(CARES_OUTDIR)\obj
-PROG1_OBJDIR = $(PROG1_OUTDIR)\obj
-PROG2_OBJDIR = $(PROG2_OUTDIR)\obj
-PROG3_OBJDIR = $(PROG3_OUTDIR)\obj
-!ELSE
-!UNDEF CARES_OUTDIR
-!UNDEF PROG1_OUTDIR
-!UNDEF PROG2_OUTDIR
-!UNDEF PROG3_OUTDIR
-!UNDEF CARES_OBJDIR
-!UNDEF PROG1_OBJDIR
-!UNDEF PROG2_OBJDIR
-!UNDEF PROG3_OBJDIR
-!ENDIF
-
-# -------------------------------------
-# Settings that depend on tcp/ip stack
-# -------------------------------------
-
-!IF "$(USE_WATT32)" == "1"
-CFLAGS  = /UWIN32 /DWATT32 /I$(WATT_ROOT)\inc
-EX_LIBS_REL = $(WATT_ROOT)\lib\wattcpvc_imp.lib
-EX_LIBS_DBG = $(WATT_ROOT)\lib\wattcpvc_imp_d.lib
-!ELSE
-CFLAGS  = /DWIN32
-EX_LIBS_REL = ws2_32.lib advapi32.lib kernel32.lib
-EX_LIBS_DBG = ws2_32.lib advapi32.lib kernel32.lib
-!ENDIF
-
-# -----------------------------------------
-# Switches that depend on compiler version
-# -----------------------------------------
-
-!IF $(CC_VERS_NUM) == 60
-PDB_NONE            = /pdb:none
-PDBTYPE_CONSOLIDATE = /pdbtype:consolidate
-!ELSE
-!UNDEF PDB_NONE
-!UNDEF PDBTYPE_CONSOLIDATE
-!ENDIF
-
-!IF $(CC_VERS_NUM) <= 70
-RT_ERROR_CHECKING = /GZ
-!ELSE
-RT_ERROR_CHECKING = /RTCsu
-!ENDIF
-
-# ----------------------------
-# Assorted commands and flags
-# ----------------------------
-
-CC_CMD_REL = cl.exe /nologo $(RTLIB) /DNDEBUG /O2
-CC_CMD_DBG = cl.exe /nologo $(RTLIBD) /D_DEBUG /Od /Zi $(RT_ERROR_CHECKING)
-CC_CFLAGS  = $(CFLAGS) /I. /W3 /EHsc /FD
-
-RC_CMD_REL = rc.exe /l 0x409 /d "NDEBUG"
-RC_CMD_DBG = rc.exe /l 0x409 /d "_DEBUG"
-
-LINK_CMD_LIB = link.exe /lib /nologo
-LINK_CMD_DLL = link.exe /dll /nologo /incremental:no /fixed:no
-LINK_CMD_EXE = link.exe /nologo /incremental:no /fixed:no /subsystem:console
-
-LINK_CMD_EXE_REL = $(LINK_CMD_EXE) /release $(PDB_NONE)
-LINK_CMD_EXE_DBG = $(LINK_CMD_EXE) /debug $(PDBTYPE_CONSOLIDATE)
-
-# ---------------------------------
-# Configuration dependent settings
-# ---------------------------------
-
-!IF "$(CFG)" == "lib-release"
-CARES_TARGET = $(STA_LIB_REL).lib
-CARES_CFLAGS = /DCARES_BUILDING_LIBRARY /DCARES_STATICLIB
-CARES_LFLAGS =
-SPROG_CFLAGS = /DCARES_STATICLIB
-SPROG_LFLAGS = /libpath:$(CARES_OUTDIR) $(EX_LIBS_REL) $(STA_LIB_REL).lib
-CARES_LINK   = $(LINK_CMD_LIB)
-SPROG_LINK   = $(LINK_CMD_EXE_REL)
-CC_CMD       = $(CC_CMD_REL)
-!ENDIF
-
-!IF "$(CFG)" == "lib-debug"
-CARES_TARGET = $(STA_LIB_DBG).lib
-CARES_CFLAGS = /DCARES_BUILDING_LIBRARY /DCARES_STATICLIB /DDEBUGBUILD
-CARES_LFLAGS =
-SPROG_CFLAGS = /DCARES_STATICLIB
-SPROG_LFLAGS = /libpath:$(CARES_OUTDIR) $(EX_LIBS_DBG) $(STA_LIB_DBG).lib
-CARES_LINK   = $(LINK_CMD_LIB)
-SPROG_LINK   = $(LINK_CMD_EXE_DBG)
-CC_CMD       = $(CC_CMD_DBG)
-!ENDIF
-
-!IF "$(CFG)" == "dll-release"
-CARES_TARGET = $(DYN_LIB_REL).dll
-CARES_CFLAGS = /DCARES_BUILDING_LIBRARY
-CARES_LFLAGS = /release $(EX_LIBS_REL) /implib:$(CARES_OUTDIR)\$(IMP_LIB_REL).lib $(PDB_NONE)
-SPROG_CFLAGS =
-SPROG_LFLAGS = /libpath:$(CARES_OUTDIR) $(EX_LIBS_REL) $(IMP_LIB_REL).lib
-CARES_LINK   = $(LINK_CMD_DLL)
-SPROG_LINK   = $(LINK_CMD_EXE_REL)
-CC_CMD       = $(CC_CMD_REL)
-USE_RES_FILE = TRUE
-RC_CMD       = $(RC_CMD_REL)
-!ENDIF
-
-!IF "$(CFG)" == "dll-debug"
-CARES_TARGET = $(DYN_LIB_DBG).dll
-CARES_CFLAGS = /DCARES_BUILDING_LIBRARY /DDEBUGBUILD
-CARES_LFLAGS = /debug $(EX_LIBS_DBG) /implib:$(CARES_OUTDIR)\$(IMP_LIB_DBG).lib /pdb:$(CARES_OUTDIR)\$(DYN_LIB_DBG).pdb $(PDBTYPE_CONSOLIDATE)
-SPROG_CFLAGS =
-SPROG_LFLAGS = /libpath:$(CARES_OUTDIR) $(EX_LIBS_DBG) $(IMP_LIB_DBG).lib
-CARES_LINK   = $(LINK_CMD_DLL)
-SPROG_LINK   = $(LINK_CMD_EXE_DBG)
-CC_CMD       = $(CC_CMD_DBG)
-USE_RES_FILE = TRUE
-RC_CMD       = $(RC_CMD_DBG)
-!ENDIF
-
-# --------------------------------------------
-# Makefile.inc provides lists of source files
-# --------------------------------------------
-
-!INCLUDE .\Makefile.inc
-
-# ----------------------------
-# Build lists of object files
-# ----------------------------
-
-!IF "$(VALID_CFGSET)" == "TRUE"
-
-!IF [ECHO CARES_OBJS=^$(CARES_OBJDIR)\$(CSOURCES: = $(CARES_OBJDIR^)\) > .\cares_objs.inc] == 0
-!INCLUDE .\cares_objs.inc
-!IF [DEL .\cares_objs.inc]
-!ENDIF
-!ELSE
-!ERROR Problem generating CARES_OBJS list.
-!ENDIF
-CARES_OBJS = $(CARES_OBJS:.c=.obj)
-!IF "$(USE_RES_FILE)" == "TRUE"
-CARES_OBJS = $(CARES_OBJS) $(CARES_OBJDIR)\cares.res
-!ENDIF
-
-!IF [ECHO PROG1_OBJS=^$(PROG1_OBJDIR)\$(SAMPLESOURCES: = $(PROG1_OBJDIR^)\) > .\prog1_objs.inc] == 0
-!INCLUDE .\prog1_objs.inc
-!IF [DEL .\prog1_objs.inc]
-!ENDIF
-!ELSE
-!ERROR Problem generating PROG1_OBJS list.
-!ENDIF
-PROG1_OBJS = $(PROG1_OBJS:.c=.obj)
-PROG1_OBJS = $(PROG1_OBJS) $(PROG1_OBJDIR)\acountry.obj
-
-!IF [ECHO PROG2_OBJS=^$(PROG2_OBJDIR)\$(SAMPLESOURCES: = $(PROG2_OBJDIR^)\) > .\prog2_objs.inc] == 0
-!INCLUDE .\prog2_objs.inc
-!IF [DEL .\prog2_objs.inc]
-!ENDIF
-!ELSE
-!ERROR Problem generating PROG2_OBJS list.
-!ENDIF
-PROG2_OBJS = $(PROG2_OBJS:.c=.obj)
-PROG2_OBJS = $(PROG2_OBJS) $(PROG2_OBJDIR)\adig.obj
-
-!IF [ECHO PROG3_OBJS=^$(PROG3_OBJDIR)\$(SAMPLESOURCES: = $(PROG3_OBJDIR^)\) > .\prog3_objs.inc] == 0
-!INCLUDE .\prog3_objs.inc
-!IF [DEL .\prog3_objs.inc]
-!ENDIF
-!ELSE
-!ERROR Problem generating PROG3_OBJS list.
-!ENDIF
-PROG3_OBJS = $(PROG3_OBJS:.c=.obj)
-PROG3_OBJS = $(PROG3_OBJS) $(PROG3_OBJDIR)\ahost.obj
-
-!ENDIF
-
-# --------------------------------
-# Only our custom inference rules
-# --------------------------------
-
-.SUFFIXES:
-.SUFFIXES: .c .rc
-
-{$(SRCDIR)}.rc{$(CARES_OBJDIR)}.res:
-    $(RC_CMD) /Fo $@ $<
-
-{$(SRCDIR)}.c{$(CARES_OBJDIR)}.obj:
-    $(CC_CMD) $(CC_CFLAGS) $(CARES_CFLAGS) /Fo$@ /Fd$(@D)\ /c $<
-
-{$(SRCDIR)}.c{$(PROG1_OBJDIR)}.obj:
-    $(CC_CMD) $(CC_CFLAGS) $(SPROG_CFLAGS) /Fo$@ /Fd$(@D)\ /c $<
-
-{$(SRCDIR)}.c{$(PROG2_OBJDIR)}.obj:
-    $(CC_CMD) $(CC_CFLAGS) $(SPROG_CFLAGS) /Fo$@ /Fd$(@D)\ /c $<
-
-{$(SRCDIR)}.c{$(PROG3_OBJDIR)}.obj:
-    $(CC_CMD) $(CC_CFLAGS) $(SPROG_CFLAGS) /Fo$@ /Fd$(@D)\ /c $<
-
-# ------------------------------------------------------------- #
-# ------------------------------------------------------------- #
-# Default target when no CFG library type has been specified,   #
-# results in building target ALL for all c-ares library types.  #
-# ------------------------------------------------------------- #
-# ------------------------------------------------------------- #
-
-!IF "$(VALID_CFGSET)" == "FALSE"
-
-ALL:
-    $(MAKE) /f .\Makefile.msvc  CFG=lib-release  ALL
-    $(MAKE) /f .\Makefile.msvc  CFG=lib-debug    ALL
-    $(MAKE) /f .\Makefile.msvc  CFG=dll-release  ALL
-    $(MAKE) /f .\Makefile.msvc  CFG=dll-debug    ALL
-
-clean:
-    @-RMDIR /S /Q $(BASE_DIR) >NUL 2>&1
-
-!ENDIF
-
-# ---------------------------------------------------------------------
-# Targets only available when a proper CFG library type has been given
-# ---------------------------------------------------------------------
-
-!IF "$(VALID_CFGSET)" == "TRUE"
-
-ALL: c-ares acountry adig ahost
-    @
-
-c-ares: $(HHEADERS) $(CSOURCES) $(CARES_OBJDIR) $(CARES_OBJS) $(CARES_OUTDIR)
-    $(CARES_LINK) $(CARES_LFLAGS) /out:$(CARES_OUTDIR)\$(CARES_TARGET) $(CARES_OBJS)
-!   IF "$(USE_RES_FILE)" == "TRUE"
-    @if exist $(CARES_OUTDIR)\$(CARES_TARGET).manifest mt -nologo -manifest $(CARES_OUTDIR)\$(CARES_TARGET).manifest -outputresource:$(CARES_OUTDIR)\$(CARES_TARGET);2
-!   ENDIF
-
-acountry: c-ares acountry.c $(SAMPLESOURCES) $(SAMPLEHEADERS) $(PROG1_OBJDIR) $(PROG1_OBJS) $(PROG1_OUTDIR)
-    $(SPROG_LINK) $(SPROG_LFLAGS) /out:$(PROG1_OUTDIR)\acountry.exe $(PROG1_OBJS)
-    @if exist $(PROG1_OUTDIR)\acountry.exe.manifest mt -nologo -manifest $(PROG1_OUTDIR)\acountry.exe.manifest -outputresource:$(PROG1_OUTDIR)\acountry.exe;1
-
-adig: c-ares adig.c $(SAMPLESOURCES) $(SAMPLEHEADERS) $(PROG2_OBJDIR) $(PROG2_OBJS) $(PROG2_OUTDIR)
-    $(SPROG_LINK) $(SPROG_LFLAGS) /out:$(PROG2_OUTDIR)\adig.exe $(PROG2_OBJS)
-    @if exist $(PROG2_OUTDIR)\adig.exe.manifest mt -nologo -manifest $(PROG2_OUTDIR)\adig.exe.manifest -outputresource:$(PROG2_OUTDIR)\adig.exe;1
-
-ahost: c-ares ahost.c $(SAMPLESOURCES) $(SAMPLEHEADERS) $(PROG3_OBJDIR) $(PROG3_OBJS) $(PROG3_OUTDIR)
-    $(SPROG_LINK) $(SPROG_LFLAGS) /out:$(PROG3_OUTDIR)\ahost.exe $(PROG3_OBJS)
-    @if exist $(PROG3_OUTDIR)\ahost.exe.manifest mt -nologo -manifest $(PROG3_OUTDIR)\ahost.exe.manifest -outputresource:$(PROG3_OUTDIR)\ahost.exe;1
-
-$(CARES_OUTDIR): $(CARES_DIR)
-    @if not exist $(CARES_OUTDIR) mkdir $(CARES_OUTDIR)
-
-$(PROG1_OUTDIR): $(PROG1_DIR)
-    @if not exist $(PROG1_OUTDIR) mkdir $(PROG1_OUTDIR)
-
-$(PROG2_OUTDIR): $(PROG2_DIR)
-    @if not exist $(PROG2_OUTDIR) mkdir $(PROG2_OUTDIR)
-
-$(PROG3_OUTDIR): $(PROG3_DIR)
-    @if not exist $(PROG3_OUTDIR) mkdir $(PROG3_OUTDIR)
-
-$(CARES_OBJDIR): $(CARES_OUTDIR)
-    @if not exist $(CARES_OBJDIR) mkdir $(CARES_OBJDIR)
-
-$(PROG1_OBJDIR): $(PROG1_OUTDIR)
-    @if not exist $(PROG1_OBJDIR) mkdir $(PROG1_OBJDIR)
-
-$(PROG2_OBJDIR): $(PROG2_OUTDIR)
-    @if not exist $(PROG2_OBJDIR) mkdir $(PROG2_OBJDIR)
-
-$(PROG3_OBJDIR): $(PROG3_OUTDIR)
-    @if not exist $(PROG3_OBJDIR) mkdir $(PROG3_OBJDIR)
-
-clean:
-    @-RMDIR /S /Q $(CARES_OUTDIR) >NUL 2>&1
-    @-RMDIR /S /Q $(PROG1_OUTDIR) >NUL 2>&1
-    @-RMDIR /S /Q $(PROG2_OUTDIR) >NUL 2>&1
-    @-RMDIR /S /Q $(PROG3_OUTDIR) >NUL 2>&1
-
-!ENDIF
-
-$(BASE_DIR):
-    @if not exist $(BASE_DIR) mkdir $(BASE_DIR)
-
-$(CARES_DIR): $(BASE_DIR)
-    @if not exist $(CARES_DIR) mkdir $(CARES_DIR)
-
-$(PROG1_DIR): $(BASE_DIR)
-    @if not exist $(PROG1_DIR) mkdir $(PROG1_DIR)
-
-$(PROG2_DIR): $(BASE_DIR)
-    @if not exist $(PROG2_DIR) mkdir $(PROG2_DIR)
-
-$(PROG3_DIR): $(BASE_DIR)
-    @if not exist $(PROG3_DIR) mkdir $(PROG3_DIR)
-
-# End of Makefile.msvc
diff --git a/ares/Makefile.netware b/ares/Makefile.netware
deleted file mode 100644 (file)
index 52e899e..0000000
+++ /dev/null
@@ -1,430 +0,0 @@
-#################################################################
-# $Id$
-#
-## Makefile for building libcares (NetWare version - gnu make)
-## Use: make -f Makefile.netware
-##
-## Comments to: Guenter Knauf http://www.gknw.de/phpbb
-#
-#################################################################
-
-# Edit the path below to point to the base of your Novell NDK.
-ifndef NDKBASE
-NDKBASE        = c:/novell
-endif
-
-ifndef INSTDIR
-INSTDIR        = ../ares-$(LIBCARES_VERSION_STR)-bin-nw
-endif
-
-# Edit the vars below to change NLM target settings.
-TARGETS = adig.nlm ahost.nlm acountry.nlm
-LTARGET = libcares.$(LIBEXT)
-VERSION        = $(LIBCARES_VERSION)
-COPYR  = Copyright (C) 1996 - 2008, Daniel Stenberg, <daniel@haxx.se>
-DESCR  = cURL $(subst .def,,$(notdir $@)) $(LIBCARES_VERSION_STR) - http://curl.haxx.se
-MTSAFE = YES
-STACK  = 64000
-SCREEN = none
-#EXPORTS       =
-# Comment the line below if you dont want to load protected automatically.
-#LDRING        = 3
-
-# Edit the var below to point to your lib architecture.
-ifndef LIBARCH
-LIBARCH = LIBC
-endif
-
-# must be equal to NDEBUG or DEBUG, CURLDEBUG
-ifndef DB
-DB     = NDEBUG
-endif
-# Optimization: -O<n> or debugging: -g
-ifeq ($(DB),NDEBUG)
-       OPT     = -O2
-       OBJDIR  = release
-else
-       OPT     = -g
-       OBJDIR  = debug
-endif
-
-# Include the version info retrieved from curlver.h
--include $(OBJDIR)/version.inc
-
-# The following lines defines your compiler.
-ifdef CWFolder
-       METROWERKS = $(CWFolder)
-endif
-ifdef METROWERKS
-       # MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support
-       MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support/Metrowerks Support
-       CC = mwccnlm
-else
-       CC = gcc
-endif
-# a native win32 awk can be downloaded from here:
-# http://www.gknw.net/development/prgtools/awk-20070501.zip
-AWK    = awk
-YACC   = bison -y
-CP     = cp -afv
-MKDIR  = mkdir
-# RM   = rm -f
-# if you want to mark the target as MTSAFE you will need a tool for
-# generating the xdc data for the linker; here's a minimal tool:
-# http://www.gknw.net/development/prgtools/mkxdc.zip
-MPKXDC = mkxdc
-
-# Global flags for all compilers
-CFLAGS += $(OPT) -D$(DB) -DNETWARE -DHAVE_CONFIG_H -nostdinc
-
-ifeq ($(CC),mwccnlm)
-LD     = mwldnlm
-LDFLAGS        = -nostdlib $(PRELUDE) $(OBJEXE) $(<:.def=.o) -o $@ -commandfile
-AR     = mwldnlm
-ARFLAGS        = -nostdlib -type library -o
-LIBEXT = lib
-#RANLIB        =
-CFLAGS += -msgstyle gcc -gccinc -inline off -opt nointrinsics -proc 586
-CFLAGS += -relax_pointers
-#CFLAGS        += -w on
-ifeq ($(LIBARCH),LIBC)
-       PRELUDE = $(SDK_LIBC)/imports/libcpre.o
-       CFLAGS += -align 4
-else
-       # PRELUDE = $(SDK_CLIB)/imports/clibpre.o
-       # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK
-       PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj"
-       # CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h"
-       CFLAGS += -align 1
-endif
-else
-LD     = nlmconv
-LDFLAGS        = -T
-AR     = ar
-ARFLAGS        = -cq
-LIBEXT = a
-RANLIB = ranlib
-CFLAGS += -fno-builtin -fpcc-struct-return -fno-strict-aliasing
-CFLAGS += -Wall -Wno-format -Wno-uninitialized # -pedantic
-ifeq ($(LIBARCH),LIBC)
-       PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
-else
-       # PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o
-       # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK
-       # http://www.gknw.net/development/mk_nlm/gcc_pre.zip
-       PRELUDE = $(NDK_ROOT)/pre/prelude.o
-       CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
-endif
-endif
-
-NDK_ROOT = $(NDKBASE)/ndk
-SDK_CLIB = $(NDK_ROOT)/nwsdk
-SDK_LIBC = $(NDK_ROOT)/libc
-
-ifeq ($(LIBARCH),LIBC)
-       INCLUDES += -I$(SDK_LIBC)/include
-       # INCLUDES += -I$(SDK_LIBC)/include/nks
-       # INCLUDES += -I$(SDK_LIBC)/include/winsock
-       CFLAGS += -D_POSIX_SOURCE
-else
-       INCLUDES += -I$(SDK_CLIB)/include/nlm
-       # INCLUDES += -I$(SDK_CLIB)/include/nlm/obsolete
-       # INCLUDES += -I$(SDK_CLIB)/include
-endif
-ifeq ($(DB),CURLDEBUG)
-INCLUDES += -I../include
-endif
-CFLAGS += -I. $(INCLUDES)
-
-ifeq ($(MTSAFE),YES)
-       XDCOPT = -n
-endif
-ifeq ($(MTSAFE),NO)
-       XDCOPT = -u
-endif
-
-ifeq ($(findstring linux,$(OSTYPE)),linux)
-DL     = '
-#-include $(NDKBASE)/nlmconv/ncpfs.inc
-endif
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-OBJLIB := $(patsubst %.c,$(OBJDIR)/%.o,$(strip $(CSOURCES)))
-OBJEXE = $(OBJLIB) $(OBJDIR)/ares_getopt.o
-
-.PHONY: lib nlm prebuild dist install clean
-
-lib: prebuild $(LTARGET)
-
-nlm: prebuild $(TARGETS)
-
-prebuild: $(OBJDIR) ares_build.h $(OBJDIR)/version.inc ares_config.h
-
-install: $(INSTDIR) all
-       @$(CP) *.nlm $(INSTDIR)
-       @$(CP) ../CHANGES $(INSTDIR)
-       @$(CP) ../COPYING $(INSTDIR)
-       @$(CP) ../README $(INSTDIR)
-       @$(CP) ../RELEASE-NOTES $(INSTDIR)
-
-clean:
-       -$(RM) $(LTARGET) $(TARGETS) ares_config.h
-       -$(RM) -r $(OBJDIR)
-       -$(RM) -r arpa
-
-%.$(LIBEXT): $(OBJLIB)
-       @echo Creating $@
-       @-$(RM) $@
-       @$(AR) $(ARFLAGS) $@ $^
-ifdef RANLIB
-       @$(RANLIB) $@
-endif
-
-%.nlm: $(OBJDIR)/%.def $(OBJDIR)/%.o $(OBJDIR)/%.xdc $(OBJEXE)
-       @echo Linking $@
-       @-$(RM) $@
-       @$(LD) $(LDFLAGS) $<
-
-$(OBJDIR) $(INSTDIR):
-       @$(MKDIR) $@
-
-$(OBJDIR)/%.o: %.c
-#      @echo Compiling $<
-       $(CC) $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/version.inc: ares_version.h $(OBJDIR)
-       @echo Creating $@
-       @$(AWK) -f get_ver.awk $< > $@
-
-$(OBJDIR)/%.xdc: Makefile.netware
-       @echo Creating $@
-       @$(MPKXDC) $(XDCOPT) $@
-
-$(OBJDIR)/%.def: Makefile.netware
-       @echo Creating $@
-       @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@
-       @echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@
-       @echo $(DL)# All your changes will be lost!!$(DL) >> $@
-       @echo $(DL)#$(DL) >> $@
-       @echo $(DL)copyright "$(COPYR)"$(DL) >> $@
-       @echo $(DL)description "$(DESCR)"$(DL) >> $@
-       @echo $(DL)version $(VERSION)$(DL) >> $@
-ifdef NLMTYPE
-       @echo $(DL)type $(NLMTYPE)$(DL) >> $@
-endif
-ifdef STACK
-       @echo $(DL)stack $(STACK)$(DL) >> $@
-endif
-ifdef SCREEN
-       @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@
-else
-       @echo $(DL)screenname "DEFAULT"$(DL) >> $@
-endif
-ifeq ($(DB),DEBUG)
-       @echo $(DL)debug$(DL) >> $@
-endif
-       @echo $(DL)threadname "$^"$(DL) >> $@
-ifdef XDCOPT
-       @echo $(DL)xdcdata $(@:.def=.xdc)$(DL) >> $@
-endif
-ifeq ($(LDRING),0)
-       @echo $(DL)flag_on 16$(DL) >> $@
-endif
-ifeq ($(LDRING),3)
-       @echo $(DL)flag_on 512$(DL) >> $@
-endif
-ifeq ($(LIBARCH),CLIB)
-       @echo $(DL)start _Prelude$(DL) >> $@
-       @echo $(DL)exit _Stop$(DL) >> $@
-       @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@
-       @echo $(DL)module clib$(DL) >> $@
-else
-       @echo $(DL)flag_on 64$(DL) >> $@
-       @echo $(DL)pseudopreemption$(DL) >> $@
-       @echo $(DL)start _LibCPrelude$(DL) >> $@
-       @echo $(DL)exit _LibCPostlude$(DL) >> $@
-       @echo $(DL)check _LibCCheckUnload$(DL) >> $@
-       @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
-       @echo $(DL)module libc$(DL) >> $@
-endif
-ifdef MODULES
-       @echo $(DL)module $(MODULES)$(DL) >> $@
-endif
-ifdef EXPORTS
-       @echo $(DL)export $(EXPORTS)$(DL) >> $@
-endif
-ifdef IMPORTS
-       @echo $(DL)import $(IMPORTS)$(DL) >> $@
-endif
-ifeq ($(LD),nlmconv)
-       @echo $(DL)input $(PRELUDE)$(DL) >> $@
-       @echo $(DL)input $(OBJEXE)$(DL) >> $@
-       @echo $(DL)input $(@:.def=.o)$(DL) >> $@
-       @echo $(DL)output $(notdir $(@:.def=.nlm))$(DL) >> $@
-endif
-
-ares_config.h: Makefile.netware
-       @echo Creating $@
-       @echo $(DL)/* $@ for NetWare target.$(DL) > $@
-       @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@
-       @echo $(DL)** All your changes will be lost!!$(DL) >> $@
-       @echo $(DL)*/$(DL) >> $@
-       @echo $(DL)#ifndef NETWARE$(DL) >> $@
-       @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@
-       @echo $(DL)#endif$(DL) >> $@
-       @echo $(DL)#define VERSION "$(LIBCARES_VERSION_STR)"$(DL) >> $@
-       @echo $(DL)#define PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/"$(DL) >> $@
-ifeq ($(LIBARCH),CLIB)
-       @echo $(DL)#define OS "i586-pc-clib-NetWare"$(DL) >> $@
-       @echo $(DL)#define HAVE_STRICMP 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRNICMP 1$(DL) >> $@
-       @echo $(DL)#define NETDB_USE_INTERNET 1$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_ARG2 char *$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_ARG3 int$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_RETV int$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG2 char$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG3 int$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_RETV int$(DL) >> $@
-       @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_ARG2 char *$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_ARG3 int$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_RETV int$(DL) >> $@
-else
-       @echo $(DL)#define OS "i586-pc-libc-NetWare"$(DL) >> $@
-       @echo $(DL)#define HAVE_DLFCN_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_DLOPEN 1$(DL) >> $@
-       @echo $(DL)#define HAVE_FTRUNCATE 1$(DL) >> $@
-       @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@
-       @echo $(DL)#define HAVE_INTTYPES_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_LONGLONG 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STDINT_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRCASECMP 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRLCAT 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRLCPY 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRTOLL 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SYS_SELECT_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_TERMIOS_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_AF_INET6 1$(DL) >> $@
-       @echo $(DL)#define HAVE_PF_INET6 1$(DL) >> $@
-       @echo $(DL)#define HAVE_FREEADDRINFO 1$(DL) >> $@
-       @echo $(DL)#define HAVE_GETADDRINFO 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRUCT_IN6_ADDR 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRUCT_SOCKADDR_IN6 1$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_ARG2 void *$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_ARG3 size_t$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
-       @echo $(DL)#define RECV_TYPE_RETV ssize_t$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG2 void$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG3 size_t$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG6 size_t$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_RETV ssize_t$(DL) >> $@
-       @echo $(DL)#define RECVFROM_TYPE_ARG2_IS_VOID 1$(DL) >> $@
-       @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_ARG2 void *$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_ARG3 size_t$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@
-       @echo $(DL)#define SEND_TYPE_RETV ssize_t$(DL) >> $@
-       @echo $(DL)#define SIZEOF_STRUCT_IN6_ADDR 16$(DL) >> $@
-endif
-       @echo $(DL)#define HAVE_ARPA_INET_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_ASSERT_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@
-       @echo $(DL)#define HAVE_GETHOSTBYNAME 1$(DL) >> $@
-       @echo $(DL)#define HAVE_GETHOSTNAME 1$(DL) >> $@
-       @echo $(DL)#define HAVE_GETPROTOBYNAME 1$(DL) >> $@
-       @echo $(DL)#define HAVE_GMTIME_R 1$(DL) >> $@
-       @echo $(DL)#define HAVE_INET_ADDR 1$(DL) >> $@
-       @echo $(DL)#define HAVE_IOCTL 1$(DL) >> $@
-       @echo $(DL)#define HAVE_IOCTL_FIONBIO 1$(DL) >> $@
-       @echo $(DL)#define HAVE_LIMITS_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_LL 1$(DL) >> $@
-       @echo $(DL)#define HAVE_LOCALTIME_R 1$(DL) >> $@
-       @echo $(DL)#define HAVE_MALLOC_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_NETINET_IN_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_RECV 1$(DL) >> $@
-       @echo $(DL)#define HAVE_RECVFROM 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SELECT 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SEND 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SETJMP_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SIGNAL 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SIGNAL_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SIG_ATOMIC_T 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SOCKET 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STDLIB_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRDUP 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRFTIME 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRSTR 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRUCT_ADDRINFO 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRUCT_TIMEVAL 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SYS_IOCTL_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SYS_TIME_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_UNAME 1$(DL) >> $@
-       @echo $(DL)#define HAVE_UNISTD_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_UTIME 1$(DL) >> $@
-       @echo $(DL)#define HAVE_UTIME_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_WRITEV 1$(DL) >> $@
-       @echo $(DL)#define RETSIGTYPE void$(DL) >> $@
-       @echo $(DL)#define SIZEOF_INT 4$(DL) >> $@
-       @echo $(DL)#define SIZEOF_STRUCT_IN_ADDR 4$(DL) >> $@
-       @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@
-       @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@
-ifdef NW_WINSOCK
-       @echo $(DL)#define HAVE_CLOSESOCKET 1$(DL) >> $@
-else
-       @echo $(DL)#define HAVE_SYS_TYPES_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SYS_SOCKET_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SYS_SOCKIO_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_NETDB_H 1$(DL) >> $@
-endif
-       @echo $(DL)#ifdef __GNUC__$(DL) >> $@
-       @echo $(DL)#define HAVE_VARIADIC_MACROS_GCC 1$(DL) >> $@
-       @echo $(DL)#else$(DL) >> $@
-       @echo $(DL)#define HAVE_VARIADIC_MACROS_C99 1$(DL) >> $@
-       @echo $(DL)#endif$(DL) >> $@
-
-FORCE: ;
-
-ares_build.h: Makefile.netware FORCE
-       @echo Creating $@
-       @echo $(DL)/* $@ intended for NetWare target.$(DL) > $@
-       @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@
-       @echo $(DL)** All your changes will be lost!!$(DL) >> $@
-       @echo $(DL)*/$(DL) >> $@
-       @echo $(DL)#ifndef __CARES_BUILD_H$(DL) >> $@
-       @echo $(DL)#define __CARES_BUILD_H$(DL) >> $@
-ifeq ($(LIBARCH),CLIB)
-       @echo $(DL)#define CARES_TYPEOF_ARES_SOCKLEN_T int$(DL) >> $@
-       @echo $(DL)#define CARES_SIZEOF_ARES_SOCKLEN_T 4$(DL) >> $@
-else
-       @echo $(DL)#define CARES_TYPEOF_ARES_SOCKLEN_T unsigned int$(DL) >> $@
-       @echo $(DL)#define CARES_SIZEOF_ARES_SOCKLEN_T 4$(DL) >> $@
-endif
-       @echo $(DL)#define CARES_SIZEOF_LONG 4$(DL) >> $@
-       @echo $(DL)typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;$(DL) >> $@
-       @echo $(DL)#endif /* __CARES_BUILD_H */$(DL) >> $@
diff --git a/ares/NEWS b/ares/NEWS
deleted file mode 100644 (file)
index 95a2eee..0000000
--- a/ares/NEWS
+++ /dev/null
@@ -1,21 +0,0 @@
-Major changes since:
-* see the CHANGES file
-
-Major changes in release 1.1.1:
-* ares should now compile as C++ code (no longer uses reserved word
-  "class").
-* Added SRV support to adig test program.
-* Fixed a few error handling bugs in query processing.
-
-Major changes in release 1.1.0:
-* Added ares_free_string() function so that memory can be freed in the
-  same layer as it is allocated, a desirable feature in some
-  environments.
-* A few of the ares_dns.h macros are fixed to use the proper bitwise
-  operator.
-* Fixed a couple of fenceposts fixed in ares_expand_name()'s
-  bounds-checking.
-* In process_timeouts(), extract query->next before calling
-  next_server() and possibly freeing the query structure.
-* Casted arguments to ctype macros casted to unsigned char, since not
-  all char values are valid inputs to those macros according to ANSI.
diff --git a/ares/README b/ares/README
deleted file mode 100644 (file)
index e5b5e28..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-This is c-ares, a forked version of the original ares. The original ares
-README follows below, the c-ares specific details are in README.cares
-
-====================================================================
-
-This is ares, an asynchronous resolver library.  It is intended for
-applications which need to perform DNS queries without blocking, or
-need to perform multiple DNS queries in parallel.  The primary
-examples of such applications are servers which communicate with
-multiple clients and programs with graphical user interfaces.
-
-This library implementation is not especially portable to crufty old
-systems like SunOS 4.  It assumes a compiler which can handle ANSI C
-syntax, a system malloc which properly handles realloc(NULL, foo) and
-free(NULL), and a reasonably up-to-date <arpa/nameser.h>.
-
-I have attempted to preserve the externally visible behavior of the
-BIND resolver in nearly all respects.  The API of the library is, of
-course, very different from the synchronous BIND API; instead of
-invoking a function like res_send() and getting a return value back
-indicating the number of bytes in the response, you invoke a function
-like ares_send() and give it a callback function to invoke when the
-response arrives.  You then have to select() on the file descriptors
-indicated by ares_fds(), with a timeout given by ares_timeout().  You
-call ares_process() when select() returns.
-
-Some features are missing from the current version of ares, relative
-to the BIND resolver:
-
-       * There is no IPV6 support.                [not true for c-ares]
-       * There is no hostname verification.
-       * There is no logging of unexpected events.
-       * There is no debugging-oriented logging.
-       * There is no YP support.
-
-libares requires an ANSI compiler to compile and use.  To build the
-library, just run "./configure" and "make".  To install it, run "make
-install".  Run "./configure --help" to see a list of options you can
-provide to configure to change how the library builds.  libares has no
-data files, so you can move the include file and library around freely
-without leaving behind any dependencies on old paths.  Building the
-library will also build the "adig" program, a little toy for trying
-out the library.  It doesn't get installed.
-
-libares is distributed at athena-dist.mit.edu:pub/ATHENA/ares.  Please
-send bug reports and comments to ghudson@mit.edu.
diff --git a/ares/README.cares b/ares/README.cares
deleted file mode 100644 (file)
index fd37461..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-c-ares
-======
-
-This package is based on ares 1.1.1 (written by Greg Hudson). I decided to
-fork and release a separate project since the ares author didn't want the
-improvements that were vital for our use of it.
-
-This package is dubbed 'c-ares' since I (Daniel Stenberg) wanted this for use
-within the curl project (hence the letter C) and it makes a nice pun. Also,
-c-ares is not API compatible with ares: a new name makes that more obvious to
-the public.
-
-The full source code is available in the 'c-ares' release archives, and in the
-'ares' subdir of the curl CVS source repository.
-
-If you find bugs, correct flaws, have questions or have comments in general in
-regard to c-ares (or by all means the original ares too), get in touch with us
-on the c-ares mailing list: http://cool.haxx.se/mailman/listinfo/c-ares
-
-c-ares is of course distributed under the same MIT-style license as the
-original ares.
-
-You'll find all c-ares details and news here:
-
-        http://c-ares.haxx.se/
-
-
-NOTES FOR C-ARES HACKERS
-
-The following notes apply to c-ares version 1.7.0 and later.
-
-* The distributed ares_build.h file is only intended to be used on systems
-  which can not run the also distributed configure script.
-
-* The distributed ares_build.h file is generated as a copy of ares_build.h.dist
-  when the c-ares source code distribution archive file is originally created.
-
-* If you check out from CVS on a non-configure platform, you must run the
-  appropriate buildconf* script to set up ares_build.h and other local files
-  before being able of compiling the library.
-
-* On systems capable of running the configure script, the configure process
-  will overwrite the distributed ares_build.h file with one that is suitable
-  and specific to the library being configured and built, this new file is
-  generated from the ares_build.h.in template file.
-
-* If you intend to distribute an already compiled c-ares library you _MUST_
-  also distribute along with it the generated ares_build.h which has been
-  used to compile it. Otherwise the library will be of no use for the users of
-  the library that you have built. It is _your_ responsability to provide this
-  file. No one at the c-ares project can know how you have built the library.
-
-* File ares_build.h includes platform and configuration dependent info,
-  and must not be modified by anyone. Configure script generates it for you.
-
-* We cannot assume anything else but very basic compiler features being
-  present. While c-ares requires an ANSI C compiler to build, some of the
-  earlier ANSI compilers clearly can't deal with some preprocessor operators.
-
-* Newlines must remain unix-style for older compilers' sake.
-
-* Comments must be written in the old-style /* unnested C-fashion */
-
diff --git a/ares/README.msvc b/ares/README.msvc
deleted file mode 100644 (file)
index 2c63085..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
- $Id$
-
-
-                          ___       __ _ _ __ ___  ___ 
-                         / __| ___ / _` | '__/ _ \/ __|
-                        | (_  |___| (_| | | |  __/\__ \
-                         \___|     \__,_|_|  \___||___/
-
-
-                How to build c-ares using MSVC or Visual Studio
-               =================================================
-
-
-
-  How to build using MSVC from the command line
-  ---------------------------------------------
-
-  Open a command prompt window and ensure that the environment is properly
-  set up in order to use MSVC or Visual Studio compiler tools.
-
-  Change to c-ares source folder where Makefile.msvc file is located and run:
-
-  > nmake -f Makefile.msvc
-
-  This will build all c-ares libraries as well as three sample programs.
-
-  Once the above command has finished a new folder named MSVCXX will exist
-  below the folder where makefile.msvc is found. The name of the folder
-  depends on the MSVC compiler version being used to build c-ares.
-
-  Below the MSVCXX folder there will exist four folders named 'cares',
-  'ahost', 'acountry', and 'adig'. The 'cares' folder is the one that
-  holds the c-ares libraries you have just generated, the other three
-  hold sample programs that use the libraries.
-
-  The above command builds four versions of the c-ares library, dynamic
-  and static versions and each one in release and debug flavours. Each
-  of these is found in folders named dll-release, dll-debug, lib-release,
-  and lib-debug, which hang from the 'cares' folder mentioned above. Each
-  sample program also has folders with the same names to reflect which
-  library version it is using.
-
-
-  How to build using Visual Studio 6 IDE
-  --------------------------------------
-
-  A VC++ 6.0 reference workspace (vc6aws.dsw) is available within the 'vc'
-  folder to allow proper building of the library and sample programs.
-
-  1) Open the vc6aws.dsw workspace with MSVC6's IDE.
-  2) Select 'Build' from top menu.
-  3) Select 'Batch Build' from dropdown menu.
-  4) Make sure that the sixteen project configurations are 'checked'.
-  5) Click on the 'Build' button.
-  6) Once the sixteen project configurations are built you are done.
-
-  Dynamic and static c-ares libraries are built in debug and release flavours,
-  and can be located each one in its own subdirectory, dll-debug, dll-release,
-  lib-debug and lib-release, all of them below the 'vc\cares' subdirectory.
-
-  In the same way four executable versions of each sample program are built,
-  each using its respective library. The resulting sample executables are
-  located in its own subdirectory, dll-debug, dll-release, lib-debug and
-  lib-release, below the 'vc\acountry', 'vc\adig' and 'vc\ahost'folders.
-
-  These reference VC++ 6.0 configurations are generated using the dynamic CRT.
-
-
-  How to build using Visual Studio 2003 or newer IDE
-  --------------------------------------------------
-
-  First you have to convert the VC++ 6.0 reference workspace and project files
-  to the Visual Studio IDE version you are using, following next steps:
-
-  1) Open vc\vc6aws.dsw with VS20XX.
-  2) Allow VS20XX to update all projects and workspaces.
-  3) Save ALL and close VS20XX.
-  4) Open vc\vc6aws.sln with VS20XX.
-  5) Select batch build, check 'all' projects and click 'build' button.
-
-  Same comments relative to generated files and folders as done above for
-  Visual Studio 6 IDE apply here.
-
-
-  Relationship between c-ares library file names and versions
-  -----------------------------------------------------------
-
-  c-ares static release library version files:
-
-      libcares.lib -> static release library
-
-  c-ares static debug library version files:
-
-      libcaresd.lib -> static debug library
-
-  c-ares dynamic release library version files:
-
-      cares.dll -> dynamic release library
-      cares.lib -> import library for the dynamic release library
-      cares.exp -> export file for the dynamic release library
-
-  c-ares dynamic debug library version files:
-
-      caresd.dll -> dynamic debug library
-      caresd.lib -> import library for the dynamic debug library
-      caresd.exp -> export file for the dynamic debug library
-      caresd.pdb -> debug symbol file for the dynamic debug library
-
-
-  How to use c-ares static libraries
-  ----------------------------------
-
-  When using the c-ares static library in your program, you will have to
-  define preprocessor symbol CARES_STATICLIB while building your program,
-  otherwise you will get errors at linkage stage.
-
-
-Have Fun!
diff --git a/ares/RELEASE-NOTES b/ares/RELEASE-NOTES
deleted file mode 100644 (file)
index 0e1fefb..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-This is what's new and changed in the c-ares 1.7.1 release:
-
-Changed:
-
- o added IPv6 name servers support
-
-Fixed:
-
- o closing of sockets on Windows systems
- o MSVC deprecated compiler options warnings
- o ares_process_fd() didn't check broken connections
-
-Thanks go to these friendly people for their efforts and contributions:
-
- Ingmar Runge, Laszlo Tamas Szabo, Yang Tse, Tommie Gannert, Gregor Jasny,
- Phil Blundell, Cedric Bail, Jakub Hrozek
-
-Have fun!
diff --git a/ares/TODO b/ares/TODO
deleted file mode 100644 (file)
index fa31cea..0000000
--- a/ares/TODO
+++ /dev/null
@@ -1,23 +0,0 @@
-TODO
-====
-
-ares_reinit()
-
-- To allow an app to force a re-read of /etc/resolv.conf etc, pretty much
-  like the res_init() resolver function offers
-
-ares_gethostbyname
-
-- When built to support IPv6, it needs to also support PF_UNSPEC or similar,
-  so that an application can ask for any protocol and then c-ares would return
-  all known resolves and not just explicitly IPv4 _or_ IPv6 resolves.
-
-ares_process
-
-- Upon next ABI breakage ares_process() should be changed to return 'int'
-  and return ARES_ENOTINITIALIZED if ares_library_init() has not been called.
-
-ares_process_fd
-
-- Upon next ABI breakage ares_process_fd() should be changed to return
-  'int' and return ARES_ENOTINITIALIZED if library has not been initialized.
diff --git a/ares/acinclude.m4 b/ares/acinclude.m4
deleted file mode 100644 (file)
index 336dfab..0000000
+++ /dev/null
@@ -1,1925 +0,0 @@
-
-
-dnl CURL_CHECK_DEF (SYMBOL, [INCLUDES], [SILENT])
-dnl -------------------------------------------------
-dnl Use the C preprocessor to find out if the given object-style symbol
-dnl is defined and get its expansion. This macro will not use default
-dnl includes even if no INCLUDES argument is given. This macro will run
-dnl silently when invoked with three arguments. If the expansion would
-dnl result in a set of double-quoted strings the returned expansion will
-dnl actually be a single double-quoted string concatenating all them.
-
-AC_DEFUN([CURL_CHECK_DEF], [
-  AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl
-  AS_VAR_PUSHDEF([ac_Def], [curl_cv_def_$1])dnl
-  if test -z "$SED"; then
-    AC_MSG_ERROR([SED not set. Cannot continue without SED being set.])
-  fi
-  if test -z "$GREP"; then
-    AC_MSG_ERROR([GREP not set. Cannot continue without GREP being set.])
-  fi
-  ifelse($3,,[AC_MSG_CHECKING([for preprocessor definition of $1])])
-  tmp_exp=""
-  AC_PREPROC_IFELSE([
-    AC_LANG_SOURCE(
-ifelse($2,,,[$2])[[
-#ifdef $1
-CURL_DEF_TOKEN $1
-#endif
-    ]])
-  ],[
-    tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
-      "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
-      "$SED" 's/.*CURL_DEF_TOKEN[[ ]]//' 2>/dev/null | \
-      "$SED" 's/[["]][[ ]]*[["]]//g' 2>/dev/null`
-    if test -z "$tmp_exp" || test "$tmp_exp" = "$1"; then
-      tmp_exp=""
-    fi
-  ])
-  if test -z "$tmp_exp"; then
-    AS_VAR_SET(ac_HaveDef, no)
-    ifelse($3,,[AC_MSG_RESULT([no])])
-  else
-    AS_VAR_SET(ac_HaveDef, yes)
-    AS_VAR_SET(ac_Def, $tmp_exp)
-    ifelse($3,,[AC_MSG_RESULT([$tmp_exp])])
-  fi
-  AS_VAR_POPDEF([ac_Def])dnl
-  AS_VAR_POPDEF([ac_HaveDef])dnl
-])
-
-
-dnl CURL_CHECK_DEF_CC (SYMBOL, [INCLUDES], [SILENT])
-dnl -------------------------------------------------
-dnl Use the C compiler to find out only if the given symbol is defined
-dnl or not, this can not find out its expansion. This macro will not use
-dnl default includes even if no INCLUDES argument is given. This macro
-dnl will run silently when invoked with three arguments.
-
-AC_DEFUN([CURL_CHECK_DEF_CC], [
-  AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl
-  ifelse($3,,[AC_MSG_CHECKING([for compiler definition of $1])])
-  AC_COMPILE_IFELSE([
-    AC_LANG_SOURCE(
-ifelse($2,,,[$2])[[
-int main (void)
-{
-#ifdef $1
-  return 0;
-#else
-  force compilation error
-#endif
-}
-    ]])
-  ],[
-    tst_symbol_defined="yes"
-  ],[
-    tst_symbol_defined="no"
-  ])
-  if test "$tst_symbol_defined" = "yes"; then
-    AS_VAR_SET(ac_HaveDef, yes)
-    ifelse($3,,[AC_MSG_RESULT([yes])])
-  else
-    AS_VAR_SET(ac_HaveDef, no)
-    ifelse($3,,[AC_MSG_RESULT([no])])
-  fi
-  AS_VAR_POPDEF([ac_HaveDef])dnl
-])
-
-
-dnl CARES_CHECK_LIB_XNET
-dnl -------------------------------------------------
-dnl Verify if X/Open network library is required.
-
-AC_DEFUN([CARES_CHECK_LIB_XNET], [
-  AC_MSG_CHECKING([if X/Open network library is required])
-  tst_lib_xnet_required="no"
-  AC_COMPILE_IFELSE([
-    AC_LANG_SOURCE([[
-int main (void)
-{
-#if defined(__hpux) && defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 600)
-  return 0;
-#elif defined(__hpux) && defined(_XOPEN_SOURCE_EXTENDED)
-  return 0;
-#else
-  force compilation error
-#endif
-}
-    ]])
-  ],[
-    tst_lib_xnet_required="yes"
-    LIBS="$LIBS -lxnet"
-  ])
-  AC_MSG_RESULT([$tst_lib_xnet_required])
-])
-
-
-dnl CARES_CHECK_AIX_ALL_SOURCE
-dnl -------------------------------------------------
-dnl Provides a replacement of traditional AC_AIX with
-dnl an uniform behaviour across all autoconf versions,
-dnl and with our own placement rules.
-
-AC_DEFUN([CARES_CHECK_AIX_ALL_SOURCE], [
-  AH_VERBATIM([_ALL_SOURCE],
-    [/* Define to 1 if OS is AIX. */
-#ifndef _ALL_SOURCE
-#  undef _ALL_SOURCE
-#endif])
-  AC_BEFORE([$0], [AC_SYS_LARGEFILE])dnl
-  AC_BEFORE([$0], [CARES_CONFIGURE_REENTRANT])dnl
-  AC_MSG_CHECKING([if OS is AIX (to define _ALL_SOURCE)])
-  AC_EGREP_CPP([yes_this_is_aix],[
-#ifdef _AIX
-   yes_this_is_aix
-#endif
-  ],[
-    AC_MSG_RESULT([yes])
-    AC_DEFINE(_ALL_SOURCE)
-  ],[
-    AC_MSG_RESULT([no])
-  ])
-])
-
-
-dnl CURL_CHECK_HEADER_WINDOWS
-dnl -------------------------------------------------
-dnl Check for compilable and valid windows.h header 
-
-AC_DEFUN([CURL_CHECK_HEADER_WINDOWS], [
-  AC_CACHE_CHECK([for windows.h], [ac_cv_header_windows_h], [
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-      ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__)
-        HAVE_WINDOWS_H shall not be defined.
-#else
-        int dummy=2*WINVER;
-#endif
-      ]])
-    ],[
-      ac_cv_header_windows_h="yes"
-    ],[
-      ac_cv_header_windows_h="no"
-    ])
-  ])
-  case "$ac_cv_header_windows_h" in
-    yes)
-      AC_DEFINE_UNQUOTED(HAVE_WINDOWS_H, 1,
-        [Define to 1 if you have the windows.h header file.])
-      AC_DEFINE_UNQUOTED(WIN32_LEAN_AND_MEAN, 1,
-        [Define to avoid automatic inclusion of winsock.h])
-      ;;
-  esac
-])
-
-
-dnl CURL_CHECK_NATIVE_WINDOWS
-dnl -------------------------------------------------
-dnl Check if building a native Windows target
-
-AC_DEFUN([CURL_CHECK_NATIVE_WINDOWS], [
-  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
-  AC_CACHE_CHECK([whether build target is a native Windows one], [ac_cv_native_windows], [
-    if test "$ac_cv_header_windows_h" = "no"; then
-      ac_cv_native_windows="no"
-    else
-      AC_COMPILE_IFELSE([
-        AC_LANG_PROGRAM([[
-        ]],[[
-#if defined(__MINGW32__) || defined(__MINGW32CE__) || \
-   (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64)))
-          int dummy=1;
-#else
-          Not a native Windows build target.
-#endif
-        ]])
-      ],[
-        ac_cv_native_windows="yes"
-      ],[
-        ac_cv_native_windows="no"
-      ])
-    fi
-  ])
-  case "$ac_cv_native_windows" in
-    yes)
-      AC_DEFINE_UNQUOTED(NATIVE_WINDOWS, 1,
-        [Define to 1 if you are building a native Windows target.])
-      ;;
-  esac
-])
-
-
-dnl CURL_CHECK_HEADER_WINSOCK
-dnl -------------------------------------------------
-dnl Check for compilable and valid winsock.h header 
-
-AC_DEFUN([CURL_CHECK_HEADER_WINSOCK], [
-  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
-  AC_CACHE_CHECK([for winsock.h], [ac_cv_header_winsock_h], [
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock.h>
-      ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__)
-        HAVE_WINSOCK_H shall not be defined.
-#else
-        int dummy=WSACleanup();
-#endif
-      ]])
-    ],[
-      ac_cv_header_winsock_h="yes"
-    ],[
-      ac_cv_header_winsock_h="no"
-    ])
-  ])
-  case "$ac_cv_header_winsock_h" in
-    yes)
-      AC_DEFINE_UNQUOTED(HAVE_WINSOCK_H, 1,
-        [Define to 1 if you have the winsock.h header file.])
-      ;;
-  esac
-])
-
-
-dnl CURL_CHECK_HEADER_WINSOCK2
-dnl -------------------------------------------------
-dnl Check for compilable and valid winsock2.h header 
-
-AC_DEFUN([CURL_CHECK_HEADER_WINSOCK2], [
-  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
-  AC_CACHE_CHECK([for winsock2.h], [ac_cv_header_winsock2_h], [
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock2.h>
-      ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
-        HAVE_WINSOCK2_H shall not be defined.
-#else
-        int dummy=2*IPPROTO_ESP;
-#endif
-      ]])
-    ],[
-      ac_cv_header_winsock2_h="yes"
-    ],[
-      ac_cv_header_winsock2_h="no"
-    ])
-  ])
-  case "$ac_cv_header_winsock2_h" in
-    yes)
-      AC_DEFINE_UNQUOTED(HAVE_WINSOCK2_H, 1,
-        [Define to 1 if you have the winsock2.h header file.])
-      ;;
-  esac
-])
-
-
-dnl CURL_CHECK_HEADER_WS2TCPIP
-dnl -------------------------------------------------
-dnl Check for compilable and valid ws2tcpip.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WS2TCPIP], [
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
-  AC_CACHE_CHECK([for ws2tcpip.h], [ac_cv_header_ws2tcpip_h], [
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock2.h>
-#include <ws2tcpip.h>
-      ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
-        HAVE_WS2TCPIP_H shall not be defined.
-#else
-        int dummy=2*IP_PKTINFO;
-#endif
-      ]])
-    ],[
-      ac_cv_header_ws2tcpip_h="yes"
-    ],[
-      ac_cv_header_ws2tcpip_h="no"
-    ])
-  ])
-  case "$ac_cv_header_ws2tcpip_h" in
-    yes)
-      AC_DEFINE_UNQUOTED(HAVE_WS2TCPIP_H, 1,
-        [Define to 1 if you have the ws2tcpip.h header file.])
-      ;;
-  esac
-])
-
-
-dnl CURL_CHECK_HEADER_MALLOC
-dnl -------------------------------------------------
-dnl Check for compilable and valid malloc.h header,
-dnl and check if it is needed even with stdlib.h
-
-AC_DEFUN([CURL_CHECK_HEADER_MALLOC], [
-  AC_CACHE_CHECK([for malloc.h], [ac_cv_header_malloc_h], [
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#include <malloc.h>
-      ]],[[
-        void *p = malloc(10);
-        void *q = calloc(10,10);
-        free(p);
-        free(q);
-      ]])
-    ],[
-      ac_cv_header_malloc_h="yes"
-    ],[
-      ac_cv_header_malloc_h="no"
-    ])
-  ])
-  if test "$ac_cv_header_malloc_h" = "yes"; then
-    AC_DEFINE_UNQUOTED(HAVE_MALLOC_H, 1,
-      [Define to 1 if you have the malloc.h header file.])
-    #
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#include <stdlib.h>
-      ]],[[
-        void *p = malloc(10);
-        void *q = calloc(10,10);
-        free(p);
-        free(q);
-      ]])
-    ],[
-      curl_cv_need_header_malloc_h="no"
-    ],[
-      curl_cv_need_header_malloc_h="yes"
-    ])
-    #
-    case "$curl_cv_need_header_malloc_h" in
-      yes)
-        AC_DEFINE_UNQUOTED(NEED_MALLOC_H, 1,
-          [Define to 1 if you need the malloc.h header file even with stdlib.h])
-        ;;
-    esac
-  fi
-])
-
-
-dnl CURL_CHECK_HEADER_MEMORY
-dnl -------------------------------------------------
-dnl Check for compilable and valid memory.h header,
-dnl and check if it is needed even with stdlib.h for
-dnl memory related functions.
-
-AC_DEFUN([CURL_CHECK_HEADER_MEMORY], [
-  AC_CACHE_CHECK([for memory.h], [ac_cv_header_memory_h], [
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#include <memory.h>
-      ]],[[
-        void *p = malloc(10);
-        void *q = calloc(10,10);
-        free(p);
-        free(q);
-      ]])
-    ],[
-      ac_cv_header_memory_h="yes"
-    ],[
-      ac_cv_header_memory_h="no"
-    ])
-  ])
-  if test "$ac_cv_header_memory_h" = "yes"; then
-    AC_DEFINE_UNQUOTED(HAVE_MEMORY_H, 1,
-      [Define to 1 if you have the memory.h header file.])
-    #
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#include <stdlib.h>
-      ]],[[
-        void *p = malloc(10);
-        void *q = calloc(10,10);
-        free(p);
-        free(q);
-      ]])
-    ],[
-      curl_cv_need_header_memory_h="no"
-    ],[
-      curl_cv_need_header_memory_h="yes"
-    ])
-    #
-    case "$curl_cv_need_header_memory_h" in
-      yes)
-        AC_DEFINE_UNQUOTED(NEED_MEMORY_H, 1,
-          [Define to 1 if you need the memory.h header file even with stdlib.h])
-        ;;
-    esac
-  fi
-])
-
-
-dnl CURL_CHECK_FUNC_GETNAMEINFO
-dnl -------------------------------------------------
-dnl Test if the getnameinfo function is available, 
-dnl and check the types of five of its arguments.
-dnl If the function succeeds HAVE_GETNAMEINFO will be
-dnl defined, defining the types of the arguments in
-dnl GETNAMEINFO_TYPE_ARG1, GETNAMEINFO_TYPE_ARG2,
-dnl GETNAMEINFO_TYPE_ARG46 and GETNAMEINFO_TYPE_ARG7,
-dnl and also defining the type qualifier of first 
-dnl argument in GETNAMEINFO_QUAL_ARG1.
-
-AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [
-  AC_REQUIRE([CURL_CHECK_HEADER_WS2TCPIP])dnl
-  AC_CHECK_HEADERS(sys/types.h sys/socket.h netdb.h)
-  #
-  AC_MSG_CHECKING([for getnameinfo])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([getnameinfo])
-  ],[
-    AC_MSG_RESULT([yes])
-    curl_cv_getnameinfo="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    curl_cv_getnameinfo="no"
-  ])
-  #
-  if test "$curl_cv_getnameinfo" != "yes"; then
-    AC_MSG_CHECKING([deeper for getnameinfo])
-    AC_LINK_IFELSE([
-      AC_LANG_PROGRAM([[
-      ]],[[
-        getnameinfo();
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      curl_cv_getnameinfo="yes"
-    ],[
-      AC_MSG_RESULT([but still no])
-      curl_cv_getnameinfo="no"
-    ])
-  fi
-  #
-  if test "$curl_cv_getnameinfo" != "yes"; then
-    AC_MSG_CHECKING([deeper and deeper for getnameinfo])
-    AC_LINK_IFELSE([
-      AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#endif
-      ]],[[
-        getnameinfo(0, 0, 0, 0, 0, 0, 0);
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      curl_cv_getnameinfo="yes"
-    ],[
-      AC_MSG_RESULT([but still no])
-      curl_cv_getnameinfo="no"
-    ])
-  fi
-  #
-  if test "$curl_cv_getnameinfo" = "yes"; then
-    AC_CACHE_CHECK([types of arguments for getnameinfo],
-      [curl_cv_func_getnameinfo_args], [
-      curl_cv_func_getnameinfo_args="unknown"
-      for gni_arg1 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
-        for gni_arg2 in 'socklen_t' 'size_t' 'int'; do
-          for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
-            for gni_arg7 in 'int' 'unsigned int'; do
-              if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
-                AC_COMPILE_IFELSE([
-                  AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#if (!defined(_WIN32_WINNT)) || (_WIN32_WINNT < 0x0501)
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0501
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h> 
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#define GNICALLCONV WSAAPI
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#define GNICALLCONV
-#endif
-                    extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2,
-                                           char *, $gni_arg46,
-                                           char *, $gni_arg46,
-                                           $gni_arg7);
-                  ]],[[
-                    $gni_arg2 salen=0;
-                    $gni_arg46 hostlen=0;
-                    $gni_arg46 servlen=0;
-                    $gni_arg7 flags=0;
-                    int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags);
-                  ]])
-                ],[
-                  curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7"
-                ])
-              fi
-            done
-          done
-        done
-      done
-    ]) # AC-CACHE-CHECK
-    if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
-      AC_MSG_WARN([Cannot find proper types to use for getnameinfo args])
-      AC_MSG_WARN([HAVE_GETNAMEINFO will not be defined])
-    else
-      gni_prev_IFS=$IFS; IFS=','
-      set dummy `echo "$curl_cv_func_getnameinfo_args" | sed 's/\*/\*/g'`
-      IFS=$gni_prev_IFS
-      shift
-      #
-      gni_qual_type_arg1=$[1]
-      #
-      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG2, $[2],
-        [Define to the type of arg 2 for getnameinfo.])
-      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG46, $[3],
-        [Define to the type of args 4 and 6 for getnameinfo.])
-      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG7, $[4],
-        [Define to the type of arg 7 for getnameinfo.])
-      #
-      prev_sh_opts=$-
-      #
-      case $prev_sh_opts in
-        *f*)
-          ;;
-        *)
-          set -f
-          ;;
-      esac
-      #
-      case "$gni_qual_type_arg1" in
-        const*)
-          gni_qual_arg1=const
-          gni_type_arg1=`echo $gni_qual_type_arg1 | sed 's/^const //'`
-        ;;
-        *)
-          gni_qual_arg1=
-          gni_type_arg1=$gni_qual_type_arg1
-        ;;
-      esac
-      #
-      AC_DEFINE_UNQUOTED(GETNAMEINFO_QUAL_ARG1, $gni_qual_arg1,
-        [Define to the type qualifier of arg 1 for getnameinfo.])
-      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG1, $gni_type_arg1,
-        [Define to the type of arg 1 for getnameinfo.])
-      #
-      case $prev_sh_opts in
-        *f*)
-          ;;
-        *)
-          set +f
-          ;;
-      esac
-      #
-      AC_DEFINE_UNQUOTED(HAVE_GETNAMEINFO, 1,
-        [Define to 1 if you have the getnameinfo function.])
-      ac_cv_func_getnameinfo="yes"
-    fi
-  fi
-])
-
-
-dnl TYPE_SOCKADDR_STORAGE
-dnl -------------------------------------------------
-dnl Check for struct sockaddr_storage. Most IPv6-enabled 
-dnl hosts have it, but AIX 4.3 is one known exception.
-
-AC_DEFUN([TYPE_SOCKADDR_STORAGE],
-[
-   AC_CHECK_TYPE([struct sockaddr_storage],
-        AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1,
-                  [if struct sockaddr_storage is defined]), ,
-   [
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
-   ])
-])
-
-
-dnl CURL_CHECK_NI_WITHSCOPEID
-dnl -------------------------------------------------
-dnl Check for working NI_WITHSCOPEID in getnameinfo()
-
-AC_DEFUN([CURL_CHECK_NI_WITHSCOPEID], [
-  AC_REQUIRE([CURL_CHECK_FUNC_GETNAMEINFO])dnl
-  AC_REQUIRE([TYPE_SOCKADDR_STORAGE])dnl
-  AC_CHECK_HEADERS(stdio.h sys/types.h sys/socket.h \
-                   netdb.h netinet/in.h arpa/inet.h)
-  #
-  AC_CACHE_CHECK([for working NI_WITHSCOPEID], 
-    [ac_cv_working_ni_withscopeid], [
-    AC_RUN_IFELSE([
-      AC_LANG_PROGRAM([[
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STDIO_H
-#include <stdio.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-      ]],[[
-#if defined(NI_WITHSCOPEID) && defined(HAVE_GETNAMEINFO)
-#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
-        struct sockaddr_storage sa;
-#else
-        unsigned char sa[256];
-#endif
-        char hostbuf[NI_MAXHOST];
-        int rc;
-        GETNAMEINFO_TYPE_ARG2 salen = (GETNAMEINFO_TYPE_ARG2)sizeof(sa);
-        GETNAMEINFO_TYPE_ARG46 hostlen = (GETNAMEINFO_TYPE_ARG46)sizeof(hostbuf);
-        GETNAMEINFO_TYPE_ARG7 flags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
-        int fd = socket(AF_INET6, SOCK_STREAM, 0);
-        if(fd < 0) {
-          perror("socket()");
-          return 1; /* Error creating socket */
-        }
-        rc = getsockname(fd, (GETNAMEINFO_TYPE_ARG1)&sa, &salen);
-        if(rc) {
-          perror("getsockname()");
-          return 2; /* Error retrieving socket name */
-        }
-        rc = getnameinfo((GETNAMEINFO_TYPE_ARG1)&sa, salen, hostbuf, hostlen, NULL, 0, flags);
-        if(rc) {
-          printf("rc = %s\n", gai_strerror(rc));
-          return 3; /* Error translating socket address */
-        }
-        return 0; /* Ok, NI_WITHSCOPEID works */
-#else
-        return 4; /* Error, NI_WITHSCOPEID not defined or no getnameinfo() */
-#endif
-      ]]) # AC-LANG-PROGRAM
-    ],[
-      # Exit code == 0. Program worked.
-      ac_cv_working_ni_withscopeid="yes"
-    ],[
-      # Exit code != 0. Program failed.
-      ac_cv_working_ni_withscopeid="no"
-    ],[
-      # Program is not run when cross-compiling. So we assume
-      # NI_WITHSCOPEID will work if we are able to compile it.
-      AC_COMPILE_IFELSE([
-        AC_LANG_PROGRAM([[
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-        ]],[[
-          unsigned int dummy= NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
-        ]])
-      ],[
-        ac_cv_working_ni_withscopeid="yes"
-      ],[
-        ac_cv_working_ni_withscopeid="no"
-      ]) # AC-COMPILE-IFELSE
-    ]) # AC-RUN-IFELSE
-  ]) # AC-CACHE-CHECK
-  case "$ac_cv_working_ni_withscopeid" in
-    yes)
-      AC_DEFINE(HAVE_NI_WITHSCOPEID, 1,
-        [Define to 1 if NI_WITHSCOPEID exists and works.])
-      ;;
-  esac
-])
-
-
-dnl CURL_CHECK_FUNC_RECV
-dnl -------------------------------------------------
-dnl Test if the socket recv() function is available, 
-dnl and check its return type and the types of its 
-dnl arguments. If the function succeeds HAVE_RECV 
-dnl will be defined, defining the types of the arguments 
-dnl in RECV_TYPE_ARG1, RECV_TYPE_ARG2, RECV_TYPE_ARG3 
-dnl and RECV_TYPE_ARG4, defining the type of the function
-dnl return value in RECV_TYPE_RETV.
-
-AC_DEFUN([CURL_CHECK_FUNC_RECV], [
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
-  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
-  #
-  AC_MSG_CHECKING([for recv])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-    ]],[[
-      recv(0, 0, 0, 0);
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    curl_cv_recv="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    curl_cv_recv="no"
-  ])
-  #
-  if test "$curl_cv_recv" = "yes"; then
-    AC_CACHE_CHECK([types of args and return type for recv],
-      [curl_cv_func_recv_args], [
-      curl_cv_func_recv_args="unknown"
-      for recv_retv in 'int' 'ssize_t'; do
-        for recv_arg1 in 'int' 'ssize_t' 'SOCKET'; do
-          for recv_arg2 in 'char *' 'void *'; do
-            for recv_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
-              for recv_arg4 in 'int' 'unsigned int'; do
-                if test "$curl_cv_func_recv_args" = "unknown"; then
-                  AC_COMPILE_IFELSE([
-                    AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define RECVCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define RECVCALLCONV
-#endif
-                      extern $recv_retv RECVCALLCONV
-                      recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4);
-                    ]],[[
-                      $recv_arg1 s=0;
-                      $recv_arg2 buf=0;
-                      $recv_arg3 len=0;
-                      $recv_arg4 flags=0;
-                      $recv_retv res = recv(s, buf, len, flags);
-                    ]])
-                  ],[
-                    curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv"
-                  ])
-                fi
-              done
-            done
-          done
-        done
-      done
-    ]) # AC-CACHE-CHECK
-    if test "$curl_cv_func_recv_args" = "unknown"; then
-      AC_MSG_ERROR([Cannot find proper types to use for recv args])
-    else
-      recv_prev_IFS=$IFS; IFS=','
-      set dummy `echo "$curl_cv_func_recv_args" | sed 's/\*/\*/g'`
-      IFS=$recv_prev_IFS
-      shift
-      #
-      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG1, $[1],
-        [Define to the type of arg 1 for recv.])
-      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG2, $[2],
-        [Define to the type of arg 2 for recv.])
-      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG3, $[3],
-        [Define to the type of arg 3 for recv.])
-      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG4, $[4],
-        [Define to the type of arg 4 for recv.])
-      AC_DEFINE_UNQUOTED(RECV_TYPE_RETV, $[5],
-        [Define to the function return type for recv.])
-      #
-      AC_DEFINE_UNQUOTED(HAVE_RECV, 1,
-        [Define to 1 if you have the recv function.])
-      ac_cv_func_recv="yes"
-    fi
-  else
-    AC_MSG_ERROR([Unable to link function recv])
-  fi
-])
-
-
-dnl CURL_CHECK_FUNC_SEND
-dnl -------------------------------------------------
-dnl Test if the socket send() function is available, 
-dnl and check its return type and the types of its 
-dnl arguments. If the function succeeds HAVE_SEND 
-dnl will be defined, defining the types of the arguments 
-dnl in SEND_TYPE_ARG1, SEND_TYPE_ARG2, SEND_TYPE_ARG3 
-dnl and SEND_TYPE_ARG4, defining the type of the function
-dnl return value in SEND_TYPE_RETV, and also defining the 
-dnl type qualifier of second argument in SEND_QUAL_ARG2.
-
-AC_DEFUN([CURL_CHECK_FUNC_SEND], [
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
-  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
-  #
-  AC_MSG_CHECKING([for send])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-    ]],[[
-      send(0, 0, 0, 0);
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    curl_cv_send="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    curl_cv_send="no"
-  ])
-  #
-  if test "$curl_cv_send" = "yes"; then
-    AC_CACHE_CHECK([types of args and return type for send],
-      [curl_cv_func_send_args], [
-      curl_cv_func_send_args="unknown"
-      for send_retv in 'int' 'ssize_t'; do
-        for send_arg1 in 'int' 'ssize_t' 'SOCKET'; do
-          for send_arg2 in 'char *' 'void *' 'const char *' 'const void *'; do
-            for send_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
-              for send_arg4 in 'int' 'unsigned int'; do
-                if test "$curl_cv_func_send_args" = "unknown"; then
-                  AC_COMPILE_IFELSE([
-                    AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define SENDCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define SENDCALLCONV
-#endif
-                      extern $send_retv SENDCALLCONV
-                      send($send_arg1, $send_arg2, $send_arg3, $send_arg4);
-                    ]],[[
-                      $send_arg1 s=0;
-                      $send_arg3 len=0;
-                      $send_arg4 flags=0;
-                      $send_retv res = send(s, 0, len, flags);
-                    ]])
-                  ],[
-                    curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv"
-                  ])
-                fi
-              done
-            done
-          done
-        done
-      done
-    ]) # AC-CACHE-CHECK
-    if test "$curl_cv_func_send_args" = "unknown"; then
-      AC_MSG_ERROR([Cannot find proper types to use for send args])
-    else
-      send_prev_IFS=$IFS; IFS=','
-      set dummy `echo "$curl_cv_func_send_args" | sed 's/\*/\*/g'`
-      IFS=$send_prev_IFS
-      shift
-      #
-      send_qual_type_arg2=$[2]
-      #
-      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG1, $[1],
-        [Define to the type of arg 1 for send.])
-      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG3, $[3],
-        [Define to the type of arg 3 for send.])
-      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG4, $[4],
-        [Define to the type of arg 4 for send.])
-      AC_DEFINE_UNQUOTED(SEND_TYPE_RETV, $[5],
-        [Define to the function return type for send.])
-      #
-      prev_sh_opts=$-
-      #
-      case $prev_sh_opts in
-        *f*)
-          ;;
-        *)
-          set -f
-          ;;
-      esac
-      #
-      case "$send_qual_type_arg2" in
-        const*)
-          send_qual_arg2=const
-          send_type_arg2=`echo $send_qual_type_arg2 | sed 's/^const //'`
-        ;;
-        *)
-          send_qual_arg2=
-          send_type_arg2=$send_qual_type_arg2
-        ;;
-      esac
-      #
-      AC_DEFINE_UNQUOTED(SEND_QUAL_ARG2, $send_qual_arg2,
-        [Define to the type qualifier of arg 2 for send.])
-      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG2, $send_type_arg2,
-        [Define to the type of arg 2 for send.])
-      #
-      case $prev_sh_opts in
-        *f*)
-          ;;
-        *)
-          set +f
-          ;;
-      esac
-      #
-      AC_DEFINE_UNQUOTED(HAVE_SEND, 1,
-        [Define to 1 if you have the send function.])
-      ac_cv_func_send="yes"
-    fi
-  else
-    AC_MSG_ERROR([Unable to link function send])
-  fi
-])
-
-
-dnl CURL_CHECK_FUNC_RECVFROM
-dnl -------------------------------------------------
-dnl Test if the socket recvfrom() function is available,
-dnl and check its return type and the types of its
-dnl arguments. If the function succeeds HAVE_RECVFROM
-dnl will be defined, defining the types of the arguments
-dnl in RECVFROM_TYPE_ARG1, RECVFROM_TYPE_ARG2, and so on
-dnl to RECVFROM_TYPE_ARG6, defining also the type of the
-dnl function return value in RECVFROM_TYPE_RETV.
-dnl Notice that the types returned for pointer arguments
-dnl will actually be the type pointed by the pointer.
-
-AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
-  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
-  #
-  AC_MSG_CHECKING([for recvfrom])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-    ]],[[
-      recvfrom(0, 0, 0, 0, 0, 0);
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    curl_cv_recvfrom="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    curl_cv_recvfrom="no"
-  ])
-  #
-  if test "$curl_cv_recvfrom" = "yes"; then
-    AC_CACHE_CHECK([types of args and return type for recvfrom],
-      [curl_cv_func_recvfrom_args], [
-      curl_cv_func_recvfrom_args="unknown"
-      for recvfrom_retv in 'int' 'ssize_t'; do
-        for recvfrom_arg1 in 'int' 'ssize_t' 'SOCKET'; do
-          for recvfrom_arg2 in 'char *' 'void *'; do
-            for recvfrom_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
-              for recvfrom_arg4 in 'int' 'unsigned int'; do
-                for recvfrom_arg5 in 'struct sockaddr *' 'void *'; do
-                  for recvfrom_arg6 in 'socklen_t *' 'int *' 'unsigned int *' 'size_t *' 'void *'; do
-                    if test "$curl_cv_func_recvfrom_args" = "unknown"; then
-                      AC_COMPILE_IFELSE([
-                        AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define RECVFROMCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define RECVFROMCALLCONV
-#endif
-                          extern $recvfrom_retv RECVFROMCALLCONV
-                          recvfrom($recvfrom_arg1, $recvfrom_arg2,
-                                   $recvfrom_arg3, $recvfrom_arg4,
-                                   $recvfrom_arg5, $recvfrom_arg6);
-                        ]],[[
-                          $recvfrom_arg1 s=0;
-                          $recvfrom_arg2 buf=0;
-                          $recvfrom_arg3 len=0;
-                          $recvfrom_arg4 flags=0;
-                          $recvfrom_arg5 addr=0;
-                          $recvfrom_arg6 addrlen=0;
-                          $recvfrom_retv res=0;
-                          res = recvfrom(s, buf, len, flags, addr, addrlen);
-                        ]])
-                      ],[
-                        curl_cv_func_recvfrom_args="$recvfrom_arg1,$recvfrom_arg2,$recvfrom_arg3,$recvfrom_arg4,$recvfrom_arg5,$recvfrom_arg6,$recvfrom_retv"
-                      ])
-                    fi
-                  done
-                done
-              done
-            done
-          done
-        done
-      done
-    ]) # AC-CACHE-CHECK
-    # Nearly last minute change for this release starts here
-    AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
-      [Define to 1 if you have the recvfrom function.])
-    ac_cv_func_recvfrom="yes"
-    # Nearly last minute change for this release ends here
-    if test "$curl_cv_func_recvfrom_args" = "unknown"; then
-      AC_MSG_WARN([Cannot find proper types to use for recvfrom args])
-    else
-      recvfrom_prev_IFS=$IFS; IFS=','
-      set dummy `echo "$curl_cv_func_recvfrom_args" | sed 's/\*/\*/g'`
-      IFS=$recvfrom_prev_IFS
-      shift
-      #
-      recvfrom_ptrt_arg2=$[2]
-      recvfrom_ptrt_arg5=$[5]
-      recvfrom_ptrt_arg6=$[6]
-      #
-      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG1, $[1],
-        [Define to the type of arg 1 for recvfrom.])
-      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG3, $[3],
-        [Define to the type of arg 3 for recvfrom.])
-      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG4, $[4],
-        [Define to the type of arg 4 for recvfrom.])
-      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_RETV, $[7],
-        [Define to the function return type for recvfrom.])
-      #
-      prev_sh_opts=$-
-      #
-      case $prev_sh_opts in
-        *f*)
-          ;;
-        *)
-          set -f
-          ;;
-      esac
-      #
-      recvfrom_type_arg2=`echo $recvfrom_ptrt_arg2 | sed 's/ \*//'`
-      recvfrom_type_arg5=`echo $recvfrom_ptrt_arg5 | sed 's/ \*//'`
-      recvfrom_type_arg6=`echo $recvfrom_ptrt_arg6 | sed 's/ \*//'`
-      #
-      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $recvfrom_type_arg2,
-        [Define to the type pointed by arg 2 for recvfrom.])
-      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $recvfrom_type_arg5,
-        [Define to the type pointed by arg 5 for recvfrom.])
-      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $recvfrom_type_arg6,
-        [Define to the type pointed by arg 6 for recvfrom.])
-      #
-      if test "$recvfrom_type_arg2" = "void"; then
-        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2_IS_VOID, 1,
-          [Define to 1 if the type pointed by arg 2 for recvfrom is void.])
-      fi
-      if test "$recvfrom_type_arg5" = "void"; then
-        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5_IS_VOID, 1,
-          [Define to 1 if the type pointed by arg 5 for recvfrom is void.])
-      fi
-      if test "$recvfrom_type_arg6" = "void"; then
-        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6_IS_VOID, 1,
-          [Define to 1 if the type pointed by arg 6 for recvfrom is void.])
-      fi
-      #
-      case $prev_sh_opts in
-        *f*)
-          ;;
-        *)
-          set +f
-          ;;
-      esac
-      #
-      AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
-        [Define to 1 if you have the recvfrom function.])
-      ac_cv_func_recvfrom="yes"
-    fi
-  else
-    AC_MSG_WARN([Unable to link function recvfrom])
-    AC_MSG_WARN([Your system will be vulnerable to some forms of DNS cache poisoning])
-  fi
-])
-
-
-dnl CURL_CHECK_MSG_NOSIGNAL
-dnl -------------------------------------------------
-dnl Check for MSG_NOSIGNAL
-
-AC_DEFUN([CURL_CHECK_MSG_NOSIGNAL], [
-  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
-  AC_CACHE_CHECK([for MSG_NOSIGNAL], [ac_cv_msg_nosignal], [
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-      ]],[[
-        int flag=MSG_NOSIGNAL;
-      ]])
-    ],[
-      ac_cv_msg_nosignal="yes"
-    ],[
-      ac_cv_msg_nosignal="no"
-    ])
-  ])
-  case "$ac_cv_msg_nosignal" in
-    yes)
-      AC_DEFINE_UNQUOTED(HAVE_MSG_NOSIGNAL, 1,
-        [Define to 1 if you have the MSG_NOSIGNAL flag.])
-      ;;
-  esac
-])
-
-
-dnl CURL_CHECK_STRUCT_TIMEVAL
-dnl -------------------------------------------------
-dnl Check for timeval struct
-
-AC_DEFUN([CURL_CHECK_STRUCT_TIMEVAL], [
-  AC_REQUIRE([AC_HEADER_TIME])dnl
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
-  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
-  AC_CHECK_HEADERS(sys/types.h sys/time.h time.h sys/socket.h)
-  AC_CACHE_CHECK([for struct timeval], [ac_cv_struct_timeval], [
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#undef inline 
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-      ]],[[
-        struct timeval ts;
-        ts.tv_sec  = 0;
-        ts.tv_usec = 0;
-      ]])
-    ],[
-      ac_cv_struct_timeval="yes"
-    ],[
-      ac_cv_struct_timeval="no"
-    ])
-  ])
-  case "$ac_cv_struct_timeval" in
-    yes)
-      AC_DEFINE_UNQUOTED(HAVE_STRUCT_TIMEVAL, 1,
-        [Define to 1 if you have the timeval struct.])
-      ;;
-  esac
-])
-
-
-dnl TYPE_SIG_ATOMIC_T
-dnl -------------------------------------------------
-dnl Check if the sig_atomic_t type is available, and
-dnl verify if it is already defined as volatile.
-
-AC_DEFUN([TYPE_SIG_ATOMIC_T], [
-  AC_CHECK_HEADERS(signal.h)
-  AC_CHECK_TYPE([sig_atomic_t],[
-    AC_DEFINE(HAVE_SIG_ATOMIC_T, 1,
-      [Define to 1 if sig_atomic_t is an available typedef.])
-  ], ,[
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-  ])
-  case "$ac_cv_type_sig_atomic_t" in
-    yes)
-      #
-      AC_MSG_CHECKING([if sig_atomic_t is already defined as volatile])
-      AC_LINK_IFELSE([
-        AC_LANG_PROGRAM([[
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-        ]],[[
-          static volatile sig_atomic_t dummy = 0;
-        ]])
-      ],[
-        AC_MSG_RESULT([no])
-        ac_cv_sig_atomic_t_volatile="no"
-      ],[
-        AC_MSG_RESULT([yes])
-        ac_cv_sig_atomic_t_volatile="yes"
-      ])
-      #
-      if test "$ac_cv_sig_atomic_t_volatile" = "yes"; then
-        AC_DEFINE(HAVE_SIG_ATOMIC_T_VOLATILE, 1,
-          [Define to 1 if sig_atomic_t is already defined as volatile.])
-      fi
-      ;;
-  esac
-])
-
-
-dnl TYPE_IN_ADDR_T
-dnl -------------------------------------------------
-dnl Check for in_addr_t: it is used to receive the return code of inet_addr()
-dnl and a few other things.
-
-AC_DEFUN([TYPE_IN_ADDR_T], [
-  AC_CHECK_TYPE([in_addr_t], ,[
-    dnl in_addr_t not available
-    AC_CACHE_CHECK([for in_addr_t equivalent],
-      [curl_cv_in_addr_t_equiv], [
-      curl_cv_in_addr_t_equiv="unknown"
-      for t in "unsigned long" int size_t unsigned long; do
-        if test "$curl_cv_in_addr_t_equiv" = "unknown"; then
-          AC_LINK_IFELSE([
-            AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
-            ]],[[
-              $t data = inet_addr ("1.2.3.4");
-            ]])
-          ],[
-            curl_cv_in_addr_t_equiv="$t"
-          ])
-        fi
-      done
-    ])
-    case "$curl_cv_in_addr_t_equiv" in
-      unknown)
-        AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t])
-        ;;
-      *)
-        AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv,
-          [Type to use in place of in_addr_t when system does not provide it.])
-        ;;
-    esac
-  ],[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
-  ])
-])
-
-
-dnl CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC
-dnl -------------------------------------------------
-dnl Check if monotonic clock_gettime is available.
-
-AC_DEFUN([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC], [
-  AC_REQUIRE([AC_HEADER_TIME])dnl
-  AC_CHECK_HEADERS(sys/types.h sys/time.h time.h)
-  AC_MSG_CHECKING([for monotonic clock_gettime])
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-    ]],[[
-      struct timespec ts;
-      (void)clock_gettime(CLOCK_MONOTONIC, &ts);
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    ac_cv_func_clock_gettime="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    ac_cv_func_clock_gettime="no"
-  ])
-  dnl Definition of HAVE_CLOCK_GETTIME_MONOTONIC is intentionally postponed
-  dnl until library linking and run-time checks for clock_gettime succeed.
-])
-
-
-dnl CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
-dnl -------------------------------------------------
-dnl If monotonic clock_gettime is available then,
-dnl check and prepended to LIBS any needed libraries.
-
-AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [
-  AC_REQUIRE([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC])dnl
-  #
-  if test "$ac_cv_func_clock_gettime" = "yes"; then
-    #
-    AC_MSG_CHECKING([for clock_gettime in libraries])
-    #
-    curl_cv_save_LIBS="$LIBS"
-    curl_cv_gclk_LIBS="unknown"
-    #
-    for x_xlibs in '' '-lrt' '-lposix4' ; do
-      if test "$curl_cv_gclk_LIBS" = "unknown"; then
-        if test -z "$x_xlibs"; then
-          LIBS="$curl_cv_save_LIBS"
-        else
-          LIBS="$x_xlibs $curl_cv_save_LIBS"
-        fi
-        AC_LINK_IFELSE([
-          AC_LANG_PROGRAM([[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-          ]],[[
-            struct timespec ts;
-            (void)clock_gettime(CLOCK_MONOTONIC, &ts);
-          ]])
-        ],[
-          curl_cv_gclk_LIBS="$x_xlibs"
-        ])
-      fi
-    done
-    #
-    LIBS="$curl_cv_save_LIBS"
-    #
-    case X-"$curl_cv_gclk_LIBS" in
-      X-unknown)
-        AC_MSG_RESULT([cannot find clock_gettime])
-        AC_MSG_WARN([HAVE_CLOCK_GETTIME_MONOTONIC will not be defined])
-        ac_cv_func_clock_gettime="no"
-        ;;
-      X-)
-        AC_MSG_RESULT([no additional lib required])
-        ac_cv_func_clock_gettime="yes"
-        ;;
-      *)
-        if test -z "$curl_cv_save_LIBS"; then
-          LIBS="$curl_cv_gclk_LIBS"
-        else
-          LIBS="$curl_cv_gclk_LIBS $curl_cv_save_LIBS"
-        fi
-        AC_MSG_RESULT([$curl_cv_gclk_LIBS])
-        ac_cv_func_clock_gettime="yes"
-        ;;
-    esac
-    #
-    dnl only do runtime verification when not cross-compiling
-    if test "x$cross_compiling" != "xyes" &&
-      test "$ac_cv_func_clock_gettime" = "yes"; then
-      AC_MSG_CHECKING([if monotonic clock_gettime works])
-      AC_RUN_IFELSE([
-        AC_LANG_PROGRAM([[
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-        ]],[[
-          struct timespec ts;
-          if (0 == clock_gettime(CLOCK_MONOTONIC, &ts))
-            exit(0);
-          else
-            exit(1);
-        ]])
-      ],[
-        AC_MSG_RESULT([yes])
-      ],[
-        AC_MSG_RESULT([no])
-        AC_MSG_WARN([HAVE_CLOCK_GETTIME_MONOTONIC will not be defined])
-        ac_cv_func_clock_gettime="no"
-        LIBS="$curl_cv_save_LIBS"
-      ])
-    fi
-    #
-    case "$ac_cv_func_clock_gettime" in
-      yes)
-        AC_DEFINE_UNQUOTED(HAVE_CLOCK_GETTIME_MONOTONIC, 1,
-          [Define to 1 if you have the clock_gettime function and monotonic timer.])
-        ;;
-    esac
-    #
-  fi
-  #
-])
-
-
-dnl CARES_CHECK_LIBS_CONNECT
-dnl -------------------------------------------------
-dnl Verify if network connect function is already available
-dnl using current libraries or if another one is required.
-
-AC_DEFUN([CARES_CHECK_LIBS_CONNECT], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  AC_MSG_CHECKING([for connect in libraries])
-  tst_connect_save_LIBS="$LIBS"
-  tst_connect_need_LIBS="unknown"
-  for tst_lib in '' '-lsocket' ; do
-    if test "$tst_connect_need_LIBS" = "unknown"; then
-      LIBS="$tst_lib $tst_connect_save_LIBS"
-      AC_LINK_IFELSE([
-        AC_LANG_PROGRAM([[
-          $cares_includes_winsock2
-          #ifndef HAVE_WINDOWS_H
-            int connect(int, void*, int);
-          #endif
-        ]],[[
-          if(0 != connect(0, 0, 0))
-            return 1;
-        ]])
-      ],[
-        tst_connect_need_LIBS="$tst_lib"
-      ])
-    fi
-  done
-  LIBS="$tst_connect_save_LIBS"
-  #
-  case X-"$tst_connect_need_LIBS" in
-    X-unknown)
-      AC_MSG_RESULT([cannot find connect])
-      AC_MSG_ERROR([cannot find connect function in libraries.])
-      ;;
-    X-)
-      AC_MSG_RESULT([yes])
-      ;;
-    *)
-      AC_MSG_RESULT([$tst_connect_need_LIBS])
-      LIBS="$tst_connect_need_LIBS $tst_connect_save_LIBS"
-      ;;
-  esac
-])
-
-
-dnl CARES_DEFINE_UNQUOTED (VARIABLE, [VALUE])
-dnl -------------------------------------------------
-dnl Like AC_DEFINE_UNQUOTED this macro will define a C preprocessor
-dnl symbol that can be further used in custom template configuration
-dnl files. This macro, unlike AC_DEFINE_UNQUOTED, does not use a third
-dnl argument for the description. Symbol definitions done with this
-dnl macro are intended to be exclusively used in handcrafted *.h.in
-dnl template files. Contrary to what AC_DEFINE_UNQUOTED does, this one
-dnl prevents autoheader generation and insertion of symbol template
-dnl stub and definition into the first configuration header file. Do
-dnl not use this macro as a replacement for AC_DEFINE_UNQUOTED, each
-dnl one serves different functional needs.
-
-AC_DEFUN([CARES_DEFINE_UNQUOTED], [
-cat >>confdefs.h <<_EOF
-[@%:@define] $1 ifelse($#, 2, [$2], 1)
-_EOF
-])
-
-
-dnl CARES_CONFIGURE_LONG
-dnl -------------------------------------------------
-dnl Find out the size of long as reported by sizeof() and define
-dnl CARES_SIZEOF_LONG as appropriate to be used in template file
-dnl ares_build.h.in to properly configure the library.
-dnl The size of long is a build time characteristic and as such
-dnl must be recorded in ares_build.h
-
-AC_DEFUN([CARES_CONFIGURE_LONG], [
-  if test -z "$ac_cv_sizeof_long" ||
-    test "$ac_cv_sizeof_long" -eq "0"; then
-    AC_MSG_ERROR([cannot find out size of long.])
-  fi
-  CARES_DEFINE_UNQUOTED([CARES_SIZEOF_LONG], [$ac_cv_sizeof_long])
-])
-
-
-dnl CARES_CONFIGURE_ARES_SOCKLEN_T
-dnl -------------------------------------------------
-dnl Find out suitable ares_socklen_t data type definition and size, making
-dnl appropriate definitions for template file ares_build.h.in
-dnl to properly configure and use the library.
-dnl
-dnl The need for the ares_socklen_t definition arises mainly to properly
-dnl interface HP-UX systems which on one hand have a typedef'ed socklen_t
-dnl data type which is 32 or 64-Bit wide depending on the data model being
-dnl used, and that on the other hand is only actually used when interfacing
-dnl the X/Open sockets provided in the xnet library.
-
-AC_DEFUN([CARES_CONFIGURE_ARES_SOCKLEN_T], [
-  AC_REQUIRE([CARES_INCLUDES_WS2TCPIP])dnl
-  AC_REQUIRE([CARES_INCLUDES_SYS_SOCKET])dnl
-  AC_REQUIRE([CARES_PREPROCESS_CALLCONV])dnl
-  #
-  AC_MSG_CHECKING([for ares_socklen_t data type])
-  cares_typeof_ares_socklen_t="unknown"
-  for arg1 in int SOCKET; do
-    for arg2 in 'struct sockaddr' void; do
-      for t in socklen_t int size_t 'unsigned int' long 'unsigned long' void; do
-        if test "$cares_typeof_ares_socklen_t" = "unknown"; then
-          AC_COMPILE_IFELSE([
-            AC_LANG_PROGRAM([[
-              $cares_includes_ws2tcpip
-              $cares_includes_sys_socket
-              $cares_preprocess_callconv
-              extern int FUNCALLCONV getpeername($arg1, $arg2 *, $t *);
-            ]],[[
-              $t *lenptr = 0;
-              if(0 != getpeername(0, 0, lenptr))
-                return 1;
-            ]])
-          ],[
-            cares_typeof_ares_socklen_t="$t"
-          ])
-        fi
-      done
-    done
-  done
-  for t in socklen_t int; do
-    if test "$cares_typeof_ares_socklen_t" = "void"; then
-      AC_COMPILE_IFELSE([
-        AC_LANG_PROGRAM([[
-          $cares_includes_sys_socket
-          typedef $t ares_socklen_t;
-        ]],[[
-          ares_socklen_t dummy;
-        ]])
-      ],[
-        cares_typeof_ares_socklen_t="$t"
-      ])
-    fi
-  done
-  AC_MSG_RESULT([$cares_typeof_ares_socklen_t])
-  if test "$cares_typeof_ares_socklen_t" = "void" ||
-    test "$cares_typeof_ares_socklen_t" = "unknown"; then
-    AC_MSG_ERROR([cannot find data type for ares_socklen_t.])
-  fi
-  #
-  AC_MSG_CHECKING([size of ares_socklen_t])
-  cares_sizeof_ares_socklen_t="unknown"
-  cares_pull_headers_socklen_t="unknown"
-  if test "$ac_cv_header_ws2tcpip_h" = "yes"; then
-    tst_pull_header_checks='none ws2tcpip'
-    tst_size_checks='4'
-  else
-    tst_pull_header_checks='none systypes syssocket'
-    tst_size_checks='4 8 2'
-  fi
-  for tst_size in $tst_size_checks; do
-    for tst_pull_headers in $tst_pull_header_checks; do
-      if test "$cares_sizeof_ares_socklen_t" = "unknown"; then
-        case $tst_pull_headers in
-          ws2tcpip)
-            tmp_includes="$cares_includes_ws2tcpip"
-            ;;
-          systypes)
-            tmp_includes="$cares_includes_sys_types"
-            ;;
-          syssocket)
-            tmp_includes="$cares_includes_sys_socket"
-            ;;
-          *)
-            tmp_includes=""
-            ;;
-        esac
-        AC_COMPILE_IFELSE([
-          AC_LANG_PROGRAM([[
-            $tmp_includes
-            typedef $cares_typeof_ares_socklen_t ares_socklen_t;
-            typedef char dummy_arr[sizeof(ares_socklen_t) == $tst_size ? 1 : -1];
-          ]],[[
-            ares_socklen_t dummy;
-          ]])
-        ],[
-          cares_sizeof_ares_socklen_t="$tst_size"
-          cares_pull_headers_socklen_t="$tst_pull_headers"
-        ])
-      fi
-    done
-  done
-  AC_MSG_RESULT([$cares_sizeof_ares_socklen_t])
-  if test "$cares_sizeof_ares_socklen_t" = "unknown"; then
-    AC_MSG_ERROR([cannot find out size of ares_socklen_t.])
-  fi
-  #
-  case $cares_pull_headers_socklen_t in
-    ws2tcpip)
-      CARES_DEFINE_UNQUOTED([CARES_PULL_WS2TCPIP_H])
-      ;;
-    systypes)
-      CARES_DEFINE_UNQUOTED([CARES_PULL_SYS_TYPES_H])
-      ;;
-    syssocket)
-      CARES_DEFINE_UNQUOTED([CARES_PULL_SYS_TYPES_H])
-      CARES_DEFINE_UNQUOTED([CARES_PULL_SYS_SOCKET_H])
-      ;;
-  esac
-  CARES_DEFINE_UNQUOTED([CARES_TYPEOF_ARES_SOCKLEN_T], [$cares_typeof_ares_socklen_t])
-  CARES_DEFINE_UNQUOTED([CARES_SIZEOF_ARES_SOCKLEN_T], [$cares_sizeof_ares_socklen_t])
-])
-
-
-dnl This macro determines if the specified struct exists in the specified file
-dnl Syntax:
-dnl CARES_CHECK_STRUCT(headers, struct name, if found, [if not found])
-
-AC_DEFUN([CARES_CHECK_STRUCT], [
-  AC_MSG_CHECKING([for struct $2])
-  AC_TRY_COMPILE([$1], 
-    [
-      struct $2 struct_instance;
-    ], ac_struct="yes", ac_found="no")
-  if test "$ac_struct" = "yes" ; then
-    AC_MSG_RESULT(yes)
-    $3
-  else
-    AC_MSG_RESULT(no)
-    $4
-  fi
-])
-
-dnl This macro determines if the specified constant exists in the specified file
-dnl Syntax:
-dnl CARES_CHECK_CONSTANT(headers, constant name, if found, [if not found])
-
-AC_DEFUN([CARES_CHECK_CONSTANT], [
-  AC_MSG_CHECKING([for $2])
-  AC_EGREP_CPP(VARIABLEWASDEFINED,
-   [
-      $1
-
-      #ifdef $2
-        VARIABLEWASDEFINED
-      #else
-        NJET
-      #endif
-    ], ac_constant="yes", ac_constant="no"
-  )
-  if test "$ac_constant" = "yes" ; then
-    AC_MSG_RESULT(yes)
-    $3
-  else
-    AC_MSG_RESULT(no)
-    $4
-  fi
-])
-
diff --git a/ares/acountry.c b/ares/acountry.c
deleted file mode 100644 (file)
index c30e6b7..0000000
+++ /dev/null
@@ -1,628 +0,0 @@
-/*
- * $Id$
- *
- * IP-address/hostname to country converter.
- *
- * Problem; you want to know where IP a.b.c.d is located.
- *
- * Use ares_gethostbyname ("d.c.b.a.zz.countries.nerd.dk")
- * and get the CNAME (host->h_name). Result will be:
- *   CNAME = zz<CC>.countries.nerd.dk with address 127.0.x.y (ver 1) or
- *   CNAME = <a.b.c.d>.zz.countries.nerd.dk with address 127.0.x.y (ver 2)
- *
- * The 2 letter country code is in <CC> and the ISO-3166 country
- * number is in x.y (number = x*256 + y). Version 2 of the protocol is missing
- * the <CC> number.
- *
- * Ref: http://countries.nerd.dk/more.html
- *
- * Written by G. Vanem <gvanem@broadpark.no> 2006, 2007
- *
- * NB! This program may not be big-endian aware.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <ctype.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#if defined(WIN32) && !defined(WATT32)
-  #include <winsock.h>
-#else
-  #include <sys/socket.h>
-  #include <arpa/inet.h>
-  #include <netinet/in.h>
-  #include <netdb.h>
-#endif
-
-#include "ares.h"
-#include "ares_getopt.h"
-#include "inet_net_pton.h"
-#include "inet_ntop.h"
-
-#ifndef HAVE_STRDUP
-#  include "ares_strdup.h"
-#  define strdup(ptr) ares_strdup(ptr)
-#endif
-
-#ifndef HAVE_STRCASECMP
-#  include "ares_strcasecmp.h"
-#  define strcasecmp(p1,p2) ares_strcasecmp(p1,p2)
-#endif
-
-#ifndef HAVE_STRNCASECMP
-#  include "ares_strcasecmp.h"
-#  define strncasecmp(p1,p2,n) ares_strncasecmp(p1,p2,n)
-#endif
-
-#ifndef INADDR_NONE
-#define INADDR_NONE 0xffffffff
-#endif
-
-static const char *usage      = "acountry [-vh?] {host|addr} ...\n";
-static const char  nerd_fmt[] = "%u.%u.%u.%u.zz.countries.nerd.dk";
-static const char *nerd_ver1  = nerd_fmt + 14;
-static const char *nerd_ver2  = nerd_fmt + 11;
-static int         verbose    = 0;
-
-#define TRACE(fmt) do {               \
-                     if (verbose > 0) \
-                       printf fmt ;   \
-                   } while (0)
-
-static void wait_ares(ares_channel channel);
-static void callback(void *arg, int status, int timeouts, struct hostent *host);
-static void callback2(void *arg, int status, int timeouts, struct hostent *host);
-static void find_country_from_cname(const char *cname, struct in_addr addr);
-
-static void Abort(const char *fmt, ...)
-{
-  va_list args;
-  va_start(args, fmt);
-  vfprintf(stderr, fmt, args);
-  va_end(args);
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  ares_channel channel;
-  int    ch, status;
-
-#if defined(WIN32) && !defined(WATT32)
-  WORD wVersionRequested = MAKEWORD(USE_WINSOCK,USE_WINSOCK);
-  WSADATA wsaData;
-  WSAStartup(wVersionRequested, &wsaData);
-#endif
-
-  status = ares_library_init(ARES_LIB_INIT_ALL);
-  if (status != ARES_SUCCESS)
-    {
-      fprintf(stderr, "ares_library_init: %s\n", ares_strerror(status));
-      return 1;
-    }
-
-  while ((ch = ares_getopt(argc, argv, "dvh?")) != -1)
-    switch (ch)
-      {
-      case 'd':
-#ifdef WATT32
-        dbug_init();
-#endif
-        break;
-      case 'v':
-        verbose++;
-        break;
-      case 'h':
-      case '?':
-      default:
-        Abort(usage);
-      }
-
-  argc -= optind;
-  argv += optind;
-  if (argc < 1)
-     Abort(usage);
-
-  status = ares_init(&channel);
-  if (status != ARES_SUCCESS)
-    {
-      fprintf(stderr, "ares_init: %s\n", ares_strerror(status));
-      return 1;
-    }
-
-  /* Initiate the queries, one per command-line argument. */
-  for ( ; *argv; argv++)
-    {
-      struct in_addr addr;
-      char buf[100];
-
-      /* If this fails, assume '*argv' is a host-name that
-       * must be resolved first
-       */
-      if (ares_inet_pton(AF_INET, *argv, &addr) != 1)
-        {
-          ares_gethostbyname(channel, *argv, AF_INET, callback2, &addr);
-          wait_ares(channel);
-          if (addr.s_addr == INADDR_NONE)
-            {
-              printf("Failed to lookup %s\n", *argv);
-              continue;
-            }
-        }
-
-      sprintf(buf, nerd_fmt,
-              (unsigned int)(addr.s_addr >> 24),
-              (unsigned int)((addr.s_addr >> 16) & 255),
-              (unsigned int)((addr.s_addr >> 8) & 255),
-              (unsigned int)(addr.s_addr & 255));
-      TRACE(("Looking up %s...", buf));
-      fflush(stdout);
-      ares_gethostbyname(channel, buf, AF_INET, callback, buf);
-    }
-
-  wait_ares(channel);
-  ares_destroy(channel);
-
-  ares_library_cleanup();
-
-#if defined(WIN32) && !defined(WATT32)
-  WSACleanup();
-#endif
-
-  return 0;
-}
-
-/*
- * Wait for the queries to complete.
- */
-static void wait_ares(ares_channel channel)
-{
-  for (;;)
-    {
-      struct timeval *tvp, tv;
-      fd_set read_fds, write_fds;
-      int nfds;
-
-      FD_ZERO(&read_fds);
-      FD_ZERO(&write_fds);
-      nfds = ares_fds(channel, &read_fds, &write_fds);
-      if (nfds == 0)
-        break;
-      tvp = ares_timeout(channel, NULL, &tv);
-      select(nfds, &read_fds, &write_fds, NULL, tvp);
-      ares_process(channel, &read_fds, &write_fds);
-    }
-}
-
-/*
- * This is the callback used when we have the IP-address of interest.
- * Extract the CNAME and figure out the country-code from it.
- */
-static void callback(void *arg, int status, int timeouts, struct hostent *host)
-{
-  const char *name = (const char*)arg;
-  const char *cname;
-  char buf[20];
-
-  (void)timeouts;
-
-  if (!host || status != ARES_SUCCESS)
-    {
-      printf("Failed to lookup %s: %s\n", name, ares_strerror(status));
-      return;
-    }
-
-  TRACE(("\nFound address %s, name %s\n",
-         ares_inet_ntop(AF_INET,(const char*)host->h_addr,buf,sizeof(buf)),
-         host->h_name));
-
-  cname = host->h_name;  /* CNAME gets put here */
-  if (!cname)
-    printf("Failed to get CNAME for %s\n", name);
-  else
-    find_country_from_cname(cname, *(struct in_addr*)host->h_addr);
-}
-
-/*
- * This is the callback used to obtain the IP-address of the host of interest.
- */
-static void callback2(void *arg, int status, int timeouts, struct hostent *host)
-{
-  struct in_addr *addr = (struct in_addr*) arg;
-
-  (void)timeouts;
-  if (!host || status != ARES_SUCCESS)
-    memset(addr, INADDR_NONE, sizeof(*addr));
-  else
-    memcpy(addr, host->h_addr, sizeof(*addr));
-}
-
-struct search_list {
-       int         country_number; /* ISO-3166 country number */
-       char        short_name[3];  /* A2 short country code */
-       const char *long_name;      /* normal country name */
-     };
-
-static const struct search_list *list_lookup(int number, const struct search_list *list, int num)
-{
-  while (num > 0 && list->long_name)
-    {
-      if (list->country_number == number)
-        return (list);
-      num--;
-      list++;
-    }
-  return (NULL);
-}
-
-/*
- * Ref: ftp://ftp.ripe.net/iso3166-countrycodes.txt
- */
-static const struct search_list country_list[] = {
-       {   4, "af", "Afghanistan"                          },
-       { 248, "ax", "Ã…land Island"                         },
-       {   8, "al", "Albania"                              },
-       {  12, "dz", "Algeria"                              },
-       {  16, "as", "American Samoa"                       },
-       {  20, "ad", "Andorra"                              },
-       {  24, "ao", "Angola"                               },
-       { 660, "ai", "Anguilla"                             },
-       {  10, "aq", "Antarctica"                           },
-       {  28, "ag", "Antigua & Barbuda"                    },
-       {  32, "ar", "Argentina"                            },
-       {  51, "am", "Armenia"                              },
-       { 533, "aw", "Aruba"                                },
-       {  36, "au", "Australia"                            },
-       {  40, "at", "Austria"                              },
-       {  31, "az", "Azerbaijan"                           },
-       {  44, "bs", "Bahamas"                              },
-       {  48, "bh", "Bahrain"                              },
-       {  50, "bd", "Bangladesh"                           },
-       {  52, "bb", "Barbados"                             },
-       { 112, "by", "Belarus"                              },
-       {  56, "be", "Belgium"                              },
-       {  84, "bz", "Belize"                               },
-       { 204, "bj", "Benin"                                },
-       {  60, "bm", "Bermuda"                              },
-       {  64, "bt", "Bhutan"                               },
-       {  68, "bo", "Bolivia"                              },
-       {  70, "ba", "Bosnia & Herzegowina"                 },
-       {  72, "bw", "Botswana"                             },
-       {  74, "bv", "Bouvet Island"                        },
-       {  76, "br", "Brazil"                               },
-       {  86, "io", "British Indian Ocean Territory"       },
-       {  96, "bn", "Brunei Darussalam"                    },
-       { 100, "bg", "Bulgaria"                             },
-       { 854, "bf", "Burkina Faso"                         },
-       { 108, "bi", "Burundi"                              },
-       { 116, "kh", "Cambodia"                             },
-       { 120, "cm", "Cameroon"                             },
-       { 124, "ca", "Canada"                               },
-       { 132, "cv", "Cape Verde"                           },
-       { 136, "ky", "Cayman Islands"                       },
-       { 140, "cf", "Central African Republic"             },
-       { 148, "td", "Chad"                                 },
-       { 152, "cl", "Chile"                                },
-       { 156, "cn", "China"                                },
-       { 162, "cx", "Christmas Island"                     },
-       { 166, "cc", "Cocos Islands"                        },
-       { 170, "co", "Colombia"                             },
-       { 174, "km", "Comoros"                              },
-       { 178, "cg", "Congo"                                },
-       { 180, "cd", "Congo"                                },
-       { 184, "ck", "Cook Islands"                         },
-       { 188, "cr", "Costa Rica"                           },
-       { 384, "ci", "Cote d'Ivoire"                        },
-       { 191, "hr", "Croatia"                              },
-       { 192, "cu", "Cuba"                                 },
-       { 196, "cy", "Cyprus"                               },
-       { 203, "cz", "Czech Republic"                       },
-       { 208, "dk", "Denmark"                              },
-       { 262, "dj", "Djibouti"                             },
-       { 212, "dm", "Dominica"                             },
-       { 214, "do", "Dominican Republic"                   },
-       { 218, "ec", "Ecuador"                              },
-       { 818, "eg", "Egypt"                                },
-       { 222, "sv", "El Salvador"                          },
-       { 226, "gq", "Equatorial Guinea"                    },
-       { 232, "er", "Eritrea"                              },
-       { 233, "ee", "Estonia"                              },
-       { 231, "et", "Ethiopia"                             },
-       { 238, "fk", "Falkland Islands"                     },
-       { 234, "fo", "Faroe Islands"                        },
-       { 242, "fj", "Fiji"                                 },
-       { 246, "fi", "Finland"                              },
-       { 250, "fr", "France"                               },
-       { 249, "fx", "France, Metropolitan"                 },
-       { 254, "gf", "French Guiana"                        },
-       { 258, "pf", "French Polynesia"                     },
-       { 260, "tf", "French Southern Territories"          },
-       { 266, "ga", "Gabon"                                },
-       { 270, "gm", "Gambia"                               },
-       { 268, "ge", "Georgia"                              },
-       { 276, "de", "Germany"                              },
-       { 288, "gh", "Ghana"                                },
-       { 292, "gi", "Gibraltar"                            },
-       { 300, "gr", "Greece"                               },
-       { 304, "gl", "Greenland"                            },
-       { 308, "gd", "Grenada"                              },
-       { 312, "gp", "Guadeloupe"                           },
-       { 316, "gu", "Guam"                                 },
-       { 320, "gt", "Guatemala"                            },
-       { 324, "gn", "Guinea"                               },
-       { 624, "gw", "Guinea-Bissau"                        },
-       { 328, "gy", "Guyana"                               },
-       { 332, "ht", "Haiti"                                },
-       { 334, "hm", "Heard & Mc Donald Islands"            },
-       { 336, "va", "Vatican City"                         },
-       { 340, "hn", "Honduras"                             },
-       { 344, "hk", "Hong kong"                            },
-       { 348, "hu", "Hungary"                              },
-       { 352, "is", "Iceland"                              },
-       { 356, "in", "India"                                },
-       { 360, "id", "Indonesia"                            },
-       { 364, "ir", "Iran"                                 },
-       { 368, "iq", "Iraq"                                 },
-       { 372, "ie", "Ireland"                              },
-       { 376, "il", "Israel"                               },
-       { 380, "it", "Italy"                                },
-       { 388, "jm", "Jamaica"                              },
-       { 392, "jp", "Japan"                                },
-       { 400, "jo", "Jordan"                               },
-       { 398, "kz", "Kazakhstan"                           },
-       { 404, "ke", "Kenya"                                },
-       { 296, "ki", "Kiribati"                             },
-       { 408, "kp", "Korea (north)"                        },
-       { 410, "kr", "Korea (south)"                        },
-       { 414, "kw", "Kuwait"                               },
-       { 417, "kg", "Kyrgyzstan"                           },
-       { 418, "la", "Laos"                                 },
-       { 428, "lv", "Latvia"                               },
-       { 422, "lb", "Lebanon"                              },
-       { 426, "ls", "Lesotho"                              },
-       { 430, "lr", "Liberia"                              },
-       { 434, "ly", "Libya"                                },
-       { 438, "li", "Liechtenstein"                        },
-       { 440, "lt", "Lithuania"                            },
-       { 442, "lu", "Luxembourg"                           },
-       { 446, "mo", "Macao"                                },
-       { 807, "mk", "Macedonia"                            },
-       { 450, "mg", "Madagascar"                           },
-       { 454, "mw", "Malawi"                               },
-       { 458, "my", "Malaysia"                             },
-       { 462, "mv", "Maldives"                             },
-       { 466, "ml", "Mali"                                 },
-       { 470, "mt", "Malta"                                },
-       { 584, "mh", "Marshall Islands"                     },
-       { 474, "mq", "Martinique"                           },
-       { 478, "mr", "Mauritania"                           },
-       { 480, "mu", "Mauritius"                            },
-       { 175, "yt", "Mayotte"                              },
-       { 484, "mx", "Mexico"                               },
-       { 583, "fm", "Micronesia"                           },
-       { 498, "md", "Moldova"                              },
-       { 492, "mc", "Monaco"                               },
-       { 496, "mn", "Mongolia"                             },
-       { 500, "ms", "Montserrat"                           },
-       { 504, "ma", "Morocco"                              },
-       { 508, "mz", "Mozambique"                           },
-       { 104, "mm", "Myanmar"                              },
-       { 516, "na", "Namibia"                              },
-       { 520, "nr", "Nauru"                                },
-       { 524, "np", "Nepal"                                },
-       { 528, "nl", "Netherlands"                          },
-       { 530, "an", "Netherlands Antilles"                 },
-       { 540, "nc", "New Caledonia"                        },
-       { 554, "nz", "New Zealand"                          },
-       { 558, "ni", "Nicaragua"                            },
-       { 562, "ne", "Niger"                                },
-       { 566, "ng", "Nigeria"                              },
-       { 570, "nu", "Niue"                                 },
-       { 574, "nf", "Norfolk Island"                       },
-       { 580, "mp", "Northern Mariana Islands"             },
-       { 578, "no", "Norway"                               },
-       { 512, "om", "Oman"                                 },
-       { 586, "pk", "Pakistan"                             },
-       { 585, "pw", "Palau"                                },
-       { 275, "ps", "Palestinian Territory"                },
-       { 591, "pa", "Panama"                               },
-       { 598, "pg", "Papua New Guinea"                     },
-       { 600, "py", "Paraguay"                             },
-       { 604, "pe", "Peru"                                 },
-       { 608, "ph", "Philippines"                          },
-       { 612, "pn", "Pitcairn"                             },
-       { 616, "pl", "Poland"                               },
-       { 620, "pt", "Portugal"                             },
-       { 630, "pr", "Puerto Rico"                          },
-       { 634, "qa", "Qatar"                                },
-       { 638, "re", "Reunion"                              },
-       { 642, "ro", "Romania"                              },
-       { 643, "ru", "Russia"                               },
-       { 646, "rw", "Rwanda"                               },
-       { 659, "kn", "Saint Kitts & Nevis"                  },
-       { 662, "lc", "Saint Lucia"                          },
-       { 670, "vc", "Saint Vincent"                        },
-       { 882, "ws", "Samoa"                                },
-       { 674, "sm", "San Marino"                           },
-       { 678, "st", "Sao Tome & Principe"                  },
-       { 682, "sa", "Saudi Arabia"                         },
-       { 686, "sn", "Senegal"                              },
-       { 891, "cs", "Serbia and Montenegro"                },
-       { 690, "sc", "Seychelles"                           },
-       { 694, "sl", "Sierra Leone"                         },
-       { 702, "sg", "Singapore"                            },
-       { 703, "sk", "Slovakia"                             },
-       { 705, "si", "Slovenia"                             },
-       {  90, "sb", "Solomon Islands"                      },
-       { 706, "so", "Somalia"                              },
-       { 710, "za", "South Africa"                         },
-       { 239, "gs", "South Georgia"                        },
-       { 724, "es", "Spain"                                },
-       { 144, "lk", "Sri Lanka"                            },
-       { 654, "sh", "St. Helena"                           },
-       { 666, "pm", "St. Pierre & Miquelon"                },
-       { 736, "sd", "Sudan"                                },
-       { 740, "sr", "Suriname"                             },
-       { 744, "sj", "Svalbard & Jan Mayen Islands"         },
-       { 748, "sz", "Swaziland"                            },
-       { 752, "se", "Sweden"                               },
-       { 756, "ch", "Switzerland"                          },
-       { 760, "sy", "Syrian Arab Republic"                 },
-       { 626, "tl", "Timor-Leste"                          },
-       { 158, "tw", "Taiwan"                               },
-       { 762, "tj", "Tajikistan"                           },
-       { 834, "tz", "Tanzania"                             },
-       { 764, "th", "Thailand"                             },
-       { 768, "tg", "Togo"                                 },
-       { 772, "tk", "Tokelau"                              },
-       { 776, "to", "Tonga"                                },
-       { 780, "tt", "Trinidad & Tobago"                    },
-       { 788, "tn", "Tunisia"                              },
-       { 792, "tr", "Turkey"                               },
-       { 795, "tm", "Turkmenistan"                         },
-       { 796, "tc", "Turks & Caicos Islands"               },
-       { 798, "tv", "Tuvalu"                               },
-       { 800, "ug", "Uganda"                               },
-       { 804, "ua", "Ukraine"                              },
-       { 784, "ae", "United Arab Emirates"                 },
-       { 826, "gb", "United Kingdom"                       },
-       { 840, "us", "United States"                        },
-       { 581, "um", "United States Minor Outlying Islands" },
-       { 858, "uy", "Uruguay"                              },
-       { 860, "uz", "Uzbekistan"                           },
-       { 548, "vu", "Vanuatu"                              },
-       { 862, "ve", "Venezuela"                            },
-       { 704, "vn", "Vietnam"                              },
-       {  92, "vg", "Virgin Islands (British)"             },
-       { 850, "vi", "Virgin Islands (US)"                  },
-       { 876, "wf", "Wallis & Futuna Islands"              },
-       { 732, "eh", "Western Sahara"                       },
-       { 887, "ye", "Yemen"                                },
-       { 894, "zm", "Zambia"                               },
-       { 716, "zw", "Zimbabwe"                             }
-     };
-
-/*
- * Check if start of 'str' is simply an IPv4 address.
- */
-#define BYTE_OK(x) ((x) >= 0 && (x) <= 255)
-
-static int is_addr(char *str, char **end)
-{
-  int a0, a1, a2, a3, num, rc = 0, length = 0;
-
-  num = sscanf(str,"%3d.%3d.%3d.%3d%n",&a0,&a1,&a2,&a3,&length);
-  if( (num == 4) &&
-      BYTE_OK(a0) && BYTE_OK(a1) && BYTE_OK(a2) && BYTE_OK(a3) &&
-      length >= (3+4))
-    {
-      rc = 1;
-      *end = str + length;
-    }
-  return rc;
-}
-
-/*
- * Find the country-code and name from the CNAME. E.g.:
- *   version 1: CNAME = zzno.countries.nerd.dk with address 127.0.2.66
- *              yields ccode_A" = "no" and cnumber 578 (2.66).
- *   version 2: CNAME = <a.b.c.d>.zz.countries.nerd.dk with address 127.0.2.66
- *              yields cnumber 578 (2.66). ccode_A is "";
- */
-static void find_country_from_cname(const char *cname, struct in_addr addr)
-{
-  const struct search_list *country;
-  char  ccode_A2[3], *ccopy, *dot_4;
-  int   cnumber, z0, z1, ver_1, ver_2;
-  unsigned long ip;
-
-  ip = ntohl(addr.s_addr);
-  z0 = tolower(cname[0]);
-  z1 = tolower(cname[1]);
-  ccopy = strdup(cname);
-  dot_4 = NULL;
-
-  ver_1 = (z0 == 'z' && z1 == 'z' && !strcasecmp(cname+4,nerd_ver1));
-  ver_2 = (is_addr(ccopy,&dot_4) && !strcasecmp(dot_4,nerd_ver2));
-
-  if (ver_1)
-    {
-      const char *dot = strchr(cname, '.');
-      if ((z0 != 'z' && z1 != 'z') || dot != cname+4)
-        {
-          printf("Unexpected CNAME %s (ver_1)\n", cname);
-          return;
-        }
-    }
-  else if (ver_2)
-    {
-      z0 = tolower(dot_4[1]);
-      z1 = tolower(dot_4[2]);
-      if (z0 != 'z' && z1 != 'z')
-        {
-          printf("Unexpected CNAME %s (ver_2)\n", cname);
-          return;
-        }
-    }
-  else
-    {
-      printf("Unexpected CNAME %s (ver?)\n", cname);
-      return;
-    }
-
-  if (ver_1)
-    {
-      ccode_A2[0] = (char)tolower(cname[2]);
-      ccode_A2[1] = (char)tolower(cname[3]);
-      ccode_A2[2] = '\0';
-    }
-  else
-    ccode_A2[0] = '\0';
-
-  cnumber = ip & 0xFFFF;
-
-  TRACE(("Found country-code `%s', number %d\n",
-         ver_1 ? ccode_A2 : "<n/a>", cnumber));
-
-  country = list_lookup(cnumber, country_list,
-                        sizeof(country_list) / sizeof(country_list[0]));
-  if (!country)
-    printf("Name for country-number %d not found.\n", cnumber);
-  else
-    {
-      if (ver_1)
-        {
-          if ((country->short_name[0] != ccode_A2[0]) ||
-              (country->short_name[1] != ccode_A2[1]) ||
-              (country->short_name[2] != ccode_A2[2]))
-            printf("short-name mismatch; %s vs %s\n",
-                   country->short_name, ccode_A2);
-        }
-      printf("%s (%s), number %d.\n",
-             country->long_name, country->short_name, cnumber);
-    }
-  free(ccopy);
-}
-
diff --git a/ares/adig.c b/ares/adig.c
deleted file mode 100644 (file)
index 4e33f6c..0000000
+++ /dev/null
@@ -1,820 +0,0 @@
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * $Id$
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#  include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-#endif
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-
-#include "ares.h"
-#include "ares_dns.h"
-#include "inet_ntop.h"
-#include "inet_net_pton.h"
-#include "ares_getopt.h"
-
-#ifndef HAVE_STRDUP
-#  include "ares_strdup.h"
-#  define strdup(ptr) ares_strdup(ptr)
-#endif
-
-#ifndef HAVE_STRCASECMP
-#  include "ares_strcasecmp.h"
-#  define strcasecmp(p1,p2) ares_strcasecmp(p1,p2)
-#endif
-
-#ifndef HAVE_STRNCASECMP
-#  include "ares_strcasecmp.h"
-#  define strncasecmp(p1,p2,n) ares_strncasecmp(p1,p2,n)
-#endif
-
-#ifdef WATT32
-#undef WIN32  /* Redefined in MingW headers */
-#endif
-
-/* Mac OS X portability check */
-#ifndef T_SRV
-#define T_SRV 33 /* server selection */
-#endif
-
-/* AIX portability check */
-#ifndef T_NAPTR
-#define T_NAPTR 35 /* naming authority pointer */
-#endif
-
-struct nv {
-  const char *name;
-  int value;
-};
-
-static const struct nv flags[] = {
-  { "usevc",            ARES_FLAG_USEVC },
-  { "primary",          ARES_FLAG_PRIMARY },
-  { "igntc",            ARES_FLAG_IGNTC },
-  { "norecurse",        ARES_FLAG_NORECURSE },
-  { "stayopen",         ARES_FLAG_STAYOPEN },
-  { "noaliases",        ARES_FLAG_NOALIASES }
-};
-static const int nflags = sizeof(flags) / sizeof(flags[0]);
-
-static const struct nv classes[] = {
-  { "IN",       C_IN },
-  { "CHAOS",    C_CHAOS },
-  { "HS",       C_HS },
-  { "ANY",      C_ANY }
-};
-static const int nclasses = sizeof(classes) / sizeof(classes[0]);
-
-static const struct nv types[] = {
-  { "A",        T_A },
-  { "NS",       T_NS },
-  { "MD",       T_MD },
-  { "MF",       T_MF },
-  { "CNAME",    T_CNAME },
-  { "SOA",      T_SOA },
-  { "MB",       T_MB },
-  { "MG",       T_MG },
-  { "MR",       T_MR },
-  { "NULL",     T_NULL },
-  { "WKS",      T_WKS },
-  { "PTR",      T_PTR },
-  { "HINFO",    T_HINFO },
-  { "MINFO",    T_MINFO },
-  { "MX",       T_MX },
-  { "TXT",      T_TXT },
-  { "RP",       T_RP },
-  { "AFSDB",    T_AFSDB },
-  { "X25",      T_X25 },
-  { "ISDN",     T_ISDN },
-  { "RT",       T_RT },
-  { "NSAP",     T_NSAP },
-  { "NSAP_PTR", T_NSAP_PTR },
-  { "SIG",      T_SIG },
-  { "KEY",      T_KEY },
-  { "PX",       T_PX },
-  { "GPOS",     T_GPOS },
-  { "AAAA",     T_AAAA },
-  { "LOC",      T_LOC },
-  { "SRV",      T_SRV },
-  { "AXFR",     T_AXFR },
-  { "MAILB",    T_MAILB },
-  { "MAILA",    T_MAILA },
-  { "NAPTR",    T_NAPTR },
-  { "ANY",      T_ANY }
-};
-static const int ntypes = sizeof(types) / sizeof(types[0]);
-
-static const char *opcodes[] = {
-  "QUERY", "IQUERY", "STATUS", "(reserved)", "NOTIFY",
-  "(unknown)", "(unknown)", "(unknown)", "(unknown)",
-  "UPDATEA", "UPDATED", "UPDATEDA", "UPDATEM", "UPDATEMA",
-  "ZONEINIT", "ZONEREF"
-};
-
-static const char *rcodes[] = {
-  "NOERROR", "FORMERR", "SERVFAIL", "NXDOMAIN", "NOTIMP", "REFUSED",
-  "(unknown)", "(unknown)", "(unknown)", "(unknown)", "(unknown)",
-  "(unknown)", "(unknown)", "(unknown)", "(unknown)", "NOCHANGE"
-};
-
-static void callback(void *arg, int status, int timeouts,
-                     unsigned char *abuf, int alen);
-static const unsigned char *display_question(const unsigned char *aptr,
-                                             const unsigned char *abuf,
-                                             int alen);
-static const unsigned char *display_rr(const unsigned char *aptr,
-                                       const unsigned char *abuf, int alen);
-static const char *type_name(int type);
-static const char *class_name(int dnsclass);
-static void usage(void);
-static void destroy_addr_list(struct ares_addr_node *head);
-static void append_addr_list(struct ares_addr_node **head,
-                             struct ares_addr_node *node);
-
-int main(int argc, char **argv)
-{
-  ares_channel channel;
-  int c, i, optmask = ARES_OPT_FLAGS, dnsclass = C_IN, type = T_A;
-  int status, nfds, count;
-  struct ares_options options;
-  struct hostent *hostent;
-  fd_set read_fds, write_fds;
-  struct timeval *tvp, tv;
-  struct ares_addr_node *srvr, *servers = NULL;
-
-#ifdef USE_WINSOCK
-  WORD wVersionRequested = MAKEWORD(USE_WINSOCK,USE_WINSOCK);
-  WSADATA wsaData;
-  WSAStartup(wVersionRequested, &wsaData);
-#endif
-
-  status = ares_library_init(ARES_LIB_INIT_ALL);
-  if (status != ARES_SUCCESS)
-    {
-      fprintf(stderr, "ares_library_init: %s\n", ares_strerror(status));
-      return 1;
-    }
-
-  options.flags = ARES_FLAG_NOCHECKRESP;
-  options.servers = NULL;
-  options.nservers = 0;
-  while ((c = ares_getopt(argc, argv, "df:s:c:t:T:U:")) != -1)
-    {
-      switch (c)
-        {
-        case 'd':
-#ifdef WATT32
-          dbug_init();
-#endif
-          break;
-
-        case 'f':
-          /* Add a flag. */
-          for (i = 0; i < nflags; i++)
-            {
-              if (strcmp(flags[i].name, optarg) == 0)
-                break;
-            }
-          if (i < nflags)
-            options.flags |= flags[i].value;
-          else
-            usage();
-          break;
-
-        case 's':
-          /* User specified name servers override default ones. */
-          srvr = malloc(sizeof(struct ares_addr_node));
-          if (!srvr)
-            {
-              fprintf(stderr, "Out of memory!\n");
-              destroy_addr_list(servers);
-              return 1;
-            }
-          append_addr_list(&servers, srvr);
-          if (ares_inet_pton(AF_INET, optarg, &srvr->addr.addr4) > 0)
-            srvr->family = AF_INET;
-          else if (ares_inet_pton(AF_INET6, optarg, &srvr->addr.addr6) > 0)
-            srvr->family = AF_INET6;
-          else
-            {
-              hostent = gethostbyname(optarg);
-              if (!hostent)
-                {
-                  fprintf(stderr, "adig: server %s not found.\n", optarg);
-                  destroy_addr_list(servers);
-                  return 1;
-                }
-              switch (hostent->h_addrtype)
-                {
-                  case AF_INET:
-                    srvr->family = AF_INET;
-                    memcpy(&srvr->addr.addr4, hostent->h_addr,
-                           sizeof(srvr->addr.addr4));
-                    break;
-                  case AF_INET6:
-                    srvr->family = AF_INET6;
-                    memcpy(&srvr->addr.addr6, hostent->h_addr,
-                           sizeof(srvr->addr.addr6));
-                    break;
-                  default:
-                    fprintf(stderr,
-                      "adig: server %s unsupported address family.\n", optarg);
-                    destroy_addr_list(servers);
-                    return 1;
-                }
-            }
-          /* Notice that calling ares_init_options() without servers in the
-           * options struct and with ARES_OPT_SERVERS set simultaneously in
-           * the options mask, results in an initialization with no servers.
-           * When alternative name servers have been specified these are set
-           * later calling ares_set_servers() overriding any existing server
-           * configuration. To prevent initial configuration with default
-           * servers that will be discarded later ARES_OPT_SERVERS is set.
-           * If this flag is not set here the result shall be the same but
-           * ares_init_options() will do needless work. */
-          optmask |= ARES_OPT_SERVERS;
-          break;
-
-        case 'c':
-          /* Set the query class. */
-          for (i = 0; i < nclasses; i++)
-            {
-              if (strcasecmp(classes[i].name, optarg) == 0)
-                break;
-            }
-          if (i < nclasses)
-            dnsclass = classes[i].value;
-          else
-            usage();
-          break;
-
-        case 't':
-          /* Set the query type. */
-          for (i = 0; i < ntypes; i++)
-            {
-              if (strcasecmp(types[i].name, optarg) == 0)
-                break;
-            }
-          if (i < ntypes)
-            type = types[i].value;
-          else
-            usage();
-          break;
-
-        case 'T':
-          /* Set the TCP port number. */
-          if (!ISDIGIT(*optarg))
-            usage();
-          options.tcp_port = (unsigned short)strtol(optarg, NULL, 0);
-          optmask |= ARES_OPT_TCP_PORT;
-          break;
-
-        case 'U':
-          /* Set the UDP port number. */
-          if (!ISDIGIT(*optarg))
-            usage();
-          options.udp_port = (unsigned short)strtol(optarg, NULL, 0);
-          optmask |= ARES_OPT_UDP_PORT;
-          break;
-        }
-    }
-  argc -= optind;
-  argv += optind;
-  if (argc == 0)
-    usage();
-
-  status = ares_init_options(&channel, &options, optmask);
-
-  if (status != ARES_SUCCESS)
-    {
-      fprintf(stderr, "ares_init_options: %s\n",
-              ares_strerror(status));
-      return 1;
-    }
-
-  if(servers)
-    {
-      status = ares_set_servers(channel, servers);
-      destroy_addr_list(servers);
-      if (status != ARES_SUCCESS)
-        {
-          fprintf(stderr, "ares_init_options: %s\n",
-                  ares_strerror(status));
-          return 1;
-        }
-    }
-
-  /* Initiate the queries, one per command-line argument.  If there is
-   * only one query to do, supply NULL as the callback argument;
-   * otherwise, supply the query name as an argument so we can
-   * distinguish responses for the user when printing them out.
-   */
-  if (argc == 1)
-    ares_query(channel, *argv, dnsclass, type, callback, (char *) NULL);
-  else
-    {
-      for (; *argv; argv++)
-        ares_query(channel, *argv, dnsclass, type, callback, *argv);
-    }
-
-  /* Wait for all queries to complete. */
-  for (;;)
-    {
-      FD_ZERO(&read_fds);
-      FD_ZERO(&write_fds);
-      nfds = ares_fds(channel, &read_fds, &write_fds);
-      if (nfds == 0)
-        break;
-      tvp = ares_timeout(channel, NULL, &tv);
-      count = select(nfds, &read_fds, &write_fds, NULL, tvp);
-      if (count < 0 && SOCKERRNO != EINVAL)
-        {
-          perror("select");
-          return 1;
-        }
-      ares_process(channel, &read_fds, &write_fds);
-    }
-
-  ares_destroy(channel);
-
-  ares_library_cleanup();
-
-#ifdef USE_WINSOCK
-  WSACleanup();
-#endif
-
-  return 0;
-}
-
-static void callback(void *arg, int status, int timeouts,
-                     unsigned char *abuf, int alen)
-{
-  char *name = (char *) arg;
-  int id, qr, opcode, aa, tc, rd, ra, rcode;
-  unsigned int qdcount, ancount, nscount, arcount, i;
-  const unsigned char *aptr;
-
-  (void) timeouts;
-
-  /* Display the query name if given. */
-  if (name)
-    printf("Answer for query %s:\n", name);
-
-  /* Display an error message if there was an error, but only stop if
-   * we actually didn't get an answer buffer.
-   */
-  if (status != ARES_SUCCESS)
-    {
-      printf("%s\n", ares_strerror(status));
-      if (!abuf)
-        return;
-    }
-
-  /* Won't happen, but check anyway, for safety. */
-  if (alen < HFIXEDSZ)
-    return;
-
-  /* Parse the answer header. */
-  id = DNS_HEADER_QID(abuf);
-  qr = DNS_HEADER_QR(abuf);
-  opcode = DNS_HEADER_OPCODE(abuf);
-  aa = DNS_HEADER_AA(abuf);
-  tc = DNS_HEADER_TC(abuf);
-  rd = DNS_HEADER_RD(abuf);
-  ra = DNS_HEADER_RA(abuf);
-  rcode = DNS_HEADER_RCODE(abuf);
-  qdcount = DNS_HEADER_QDCOUNT(abuf);
-  ancount = DNS_HEADER_ANCOUNT(abuf);
-  nscount = DNS_HEADER_NSCOUNT(abuf);
-  arcount = DNS_HEADER_ARCOUNT(abuf);
-
-  /* Display the answer header. */
-  printf("id: %d\n", id);
-  printf("flags: %s%s%s%s%s\n",
-         qr ? "qr " : "",
-         aa ? "aa " : "",
-         tc ? "tc " : "",
-         rd ? "rd " : "",
-         ra ? "ra " : "");
-  printf("opcode: %s\n", opcodes[opcode]);
-  printf("rcode: %s\n", rcodes[rcode]);
-
-  /* Display the questions. */
-  printf("Questions:\n");
-  aptr = abuf + HFIXEDSZ;
-  for (i = 0; i < qdcount; i++)
-    {
-      aptr = display_question(aptr, abuf, alen);
-      if (aptr == NULL)
-        return;
-    }
-
-  /* Display the answers. */
-  printf("Answers:\n");
-  for (i = 0; i < ancount; i++)
-    {
-      aptr = display_rr(aptr, abuf, alen);
-      if (aptr == NULL)
-        return;
-    }
-
-  /* Display the NS records. */
-  printf("NS records:\n");
-  for (i = 0; i < nscount; i++)
-    {
-      aptr = display_rr(aptr, abuf, alen);
-      if (aptr == NULL)
-        return;
-    }
-
-  /* Display the additional records. */
-  printf("Additional records:\n");
-  for (i = 0; i < arcount; i++)
-    {
-      aptr = display_rr(aptr, abuf, alen);
-      if (aptr == NULL)
-        return;
-    }
-}
-
-static const unsigned char *display_question(const unsigned char *aptr,
-                                             const unsigned char *abuf,
-                                             int alen)
-{
-  char *name;
-  int type, dnsclass, status;
-  long len;
-
-  /* Parse the question name. */
-  status = ares_expand_name(aptr, abuf, alen, &name, &len);
-  if (status != ARES_SUCCESS)
-    return NULL;
-  aptr += len;
-
-  /* Make sure there's enough data after the name for the fixed part
-   * of the question.
-   */
-  if (aptr + QFIXEDSZ > abuf + alen)
-    {
-      ares_free_string(name);
-      return NULL;
-    }
-
-  /* Parse the question type and class. */
-  type = DNS_QUESTION_TYPE(aptr);
-  dnsclass = DNS_QUESTION_CLASS(aptr);
-  aptr += QFIXEDSZ;
-
-  /* Display the question, in a format sort of similar to how we will
-   * display RRs.
-   */
-  printf("\t%-15s.\t", name);
-  if (dnsclass != C_IN)
-    printf("\t%s", class_name(dnsclass));
-  printf("\t%s\n", type_name(type));
-  ares_free_string(name);
-  return aptr;
-}
-
-static const unsigned char *display_rr(const unsigned char *aptr,
-                                       const unsigned char *abuf, int alen)
-{
-  const unsigned char *p;
-  int type, dnsclass, ttl, dlen, status;
-  long len;
-  char addr[46];
-  union {
-    unsigned char * as_uchar;
-             char * as_char;
-  } name;
-
-  /* Parse the RR name. */
-  status = ares_expand_name(aptr, abuf, alen, &name.as_char, &len);
-  if (status != ARES_SUCCESS)
-    return NULL;
-  aptr += len;
-
-  /* Make sure there is enough data after the RR name for the fixed
-   * part of the RR.
-   */
-  if (aptr + RRFIXEDSZ > abuf + alen)
-    {
-      ares_free_string(name.as_char);
-      return NULL;
-    }
-
-  /* Parse the fixed part of the RR, and advance to the RR data
-   * field. */
-  type = DNS_RR_TYPE(aptr);
-  dnsclass = DNS_RR_CLASS(aptr);
-  ttl = DNS_RR_TTL(aptr);
-  dlen = DNS_RR_LEN(aptr);
-  aptr += RRFIXEDSZ;
-  if (aptr + dlen > abuf + alen)
-    {
-      ares_free_string(name.as_char);
-      return NULL;
-    }
-
-  /* Display the RR name, class, and type. */
-  printf("\t%-15s.\t%d", name.as_char, ttl);
-  if (dnsclass != C_IN)
-    printf("\t%s", class_name(dnsclass));
-  printf("\t%s", type_name(type));
-  ares_free_string(name.as_char);
-
-  /* Display the RR data.  Don't touch aptr. */
-  switch (type)
-    {
-    case T_CNAME:
-    case T_MB:
-    case T_MD:
-    case T_MF:
-    case T_MG:
-    case T_MR:
-    case T_NS:
-    case T_PTR:
-      /* For these types, the RR data is just a domain name. */
-      status = ares_expand_name(aptr, abuf, alen, &name.as_char, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t%s.", name.as_char);
-      ares_free_string(name.as_char);
-      break;
-
-    case T_HINFO:
-      /* The RR data is two length-counted character strings. */
-      p = aptr;
-      len = *p;
-      if (p + len + 1 > aptr + dlen)
-        return NULL;
-      status = ares_expand_string(p, abuf, alen, &name.as_uchar, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t%s", name.as_char);
-      ares_free_string(name.as_char);
-      p += len;
-      len = *p;
-      if (p + len + 1 > aptr + dlen)
-        return NULL;
-      status = ares_expand_string(p, abuf, alen, &name.as_uchar, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t%s", name.as_char);
-      ares_free_string(name.as_char);
-      break;
-
-    case T_MINFO:
-      /* The RR data is two domain names. */
-      p = aptr;
-      status = ares_expand_name(p, abuf, alen, &name.as_char, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t%s.", name.as_char);
-      ares_free_string(name.as_char);
-      p += len;
-      status = ares_expand_name(p, abuf, alen, &name.as_char, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t%s.", name.as_char);
-      ares_free_string(name.as_char);
-      break;
-
-    case T_MX:
-      /* The RR data is two bytes giving a preference ordering, and
-       * then a domain name.
-       */
-      if (dlen < 2)
-        return NULL;
-      printf("\t%d", DNS__16BIT(aptr));
-      status = ares_expand_name(aptr + 2, abuf, alen, &name.as_char, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t%s.", name.as_char);
-      ares_free_string(name.as_char);
-      break;
-
-    case T_SOA:
-      /* The RR data is two domain names and then five four-byte
-       * numbers giving the serial number and some timeouts.
-       */
-      p = aptr;
-      status = ares_expand_name(p, abuf, alen, &name.as_char, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t%s.\n", name.as_char);
-      ares_free_string(name.as_char);
-      p += len;
-      status = ares_expand_name(p, abuf, alen, &name.as_char, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t\t\t\t\t\t%s.\n", name.as_char);
-      ares_free_string(name.as_char);
-      p += len;
-      if (p + 20 > aptr + dlen)
-        return NULL;
-      printf("\t\t\t\t\t\t( %lu %lu %lu %lu %lu )",
-             (unsigned long)DNS__32BIT(p), (unsigned long)DNS__32BIT(p+4),
-             (unsigned long)DNS__32BIT(p+8), (unsigned long)DNS__32BIT(p+12),
-             (unsigned long)DNS__32BIT(p+16));
-      break;
-
-    case T_TXT:
-      /* The RR data is one or more length-counted character
-       * strings. */
-      p = aptr;
-      while (p < aptr + dlen)
-        {
-          len = *p;
-          if (p + len + 1 > aptr + dlen)
-            return NULL;
-          status = ares_expand_string(p, abuf, alen, &name.as_uchar, &len);
-          if (status != ARES_SUCCESS)
-            return NULL;
-          printf("\t%s", name.as_char);
-          ares_free_string(name.as_char);
-          p += len;
-        }
-      break;
-
-    case T_A:
-      /* The RR data is a four-byte Internet address. */
-      if (dlen != 4)
-        return NULL;
-      printf("\t%s", ares_inet_ntop(AF_INET,aptr,addr,sizeof(addr)));
-      break;
-
-    case T_AAAA:
-      /* The RR data is a 16-byte IPv6 address. */
-      if (dlen != 16)
-        return NULL;
-      printf("\t%s", ares_inet_ntop(AF_INET6,aptr,addr,sizeof(addr)));
-      break;
-
-    case T_WKS:
-      /* Not implemented yet */
-      break;
-
-    case T_SRV:
-      /* The RR data is three two-byte numbers representing the
-       * priority, weight, and port, followed by a domain name.
-       */
-
-      printf("\t%d", DNS__16BIT(aptr));
-      printf(" %d", DNS__16BIT(aptr + 2));
-      printf(" %d", DNS__16BIT(aptr + 4));
-
-      status = ares_expand_name(aptr + 6, abuf, alen, &name.as_char, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t%s.", name.as_char);
-      ares_free_string(name.as_char);
-      break;
-
-    case T_NAPTR:
-
-      printf("\t%d", DNS__16BIT(aptr)); /* order */
-      printf(" %d\n", DNS__16BIT(aptr + 2)); /* preference */
-
-      p = aptr + 4;
-      status = ares_expand_string(p, abuf, alen, &name.as_uchar, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t\t\t\t\t\t%s\n", name.as_char);
-      ares_free_string(name.as_char);
-      p += len;
-
-      status = ares_expand_string(p, abuf, alen, &name.as_uchar, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t\t\t\t\t\t%s\n", name.as_char);
-      ares_free_string(name.as_char);
-      p += len;
-
-      status = ares_expand_string(p, abuf, alen, &name.as_uchar, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t\t\t\t\t\t%s\n", name.as_char);
-      ares_free_string(name.as_char);
-      p += len;
-
-      status = ares_expand_string(p, abuf, alen, &name.as_uchar, &len);
-      if (status != ARES_SUCCESS)
-        return NULL;
-      printf("\t\t\t\t\t\t%s", name.as_char);
-      ares_free_string(name.as_char);
-      break;
-
-
-    default:
-      printf("\t[Unknown RR; cannot parse]");
-      break;
-    }
-  printf("\n");
-
-  return aptr + dlen;
-}
-
-static const char *type_name(int type)
-{
-  int i;
-
-  for (i = 0; i < ntypes; i++)
-    {
-      if (types[i].value == type)
-        return types[i].name;
-    }
-  return "(unknown)";
-}
-
-static const char *class_name(int dnsclass)
-{
-  int i;
-
-  for (i = 0; i < nclasses; i++)
-    {
-      if (classes[i].value == dnsclass)
-        return classes[i].name;
-    }
-  return "(unknown)";
-}
-
-static void usage(void)
-{
-  fprintf(stderr, "usage: adig [-f flag] [-s server] [-c class] "
-          "[-t type] [-p port] name ...\n");
-  exit(1);
-}
-
-static void destroy_addr_list(struct ares_addr_node *head)
-{
-  while(head)
-    {
-      struct ares_addr_node *detached = head;
-      head = head->next;
-      free(detached);
-    }
-}
-
-static void append_addr_list(struct ares_addr_node **head,
-                             struct ares_addr_node *node)
-{
-  struct ares_addr_node *last;
-  node->next = NULL;
-  if(*head)
-    {
-      last = *head;
-      while(last->next)
-        last = last->next;
-      last->next = node;
-    }
-  else
-    *head = node;
-}
diff --git a/ares/ahost.c b/ares/ahost.c
deleted file mode 100644 (file)
index f499306..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * $Id$
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#if !defined(WIN32) || defined(WATT32)
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#endif
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "ares.h"
-#include "ares_dns.h"
-#include "inet_ntop.h"
-#include "inet_net_pton.h"
-#include "ares_getopt.h"
-#include "ares_ipv6.h"
-
-#ifndef HAVE_STRDUP
-#  include "ares_strdup.h"
-#  define strdup(ptr) ares_strdup(ptr)
-#endif
-
-#ifndef HAVE_STRCASECMP
-#  include "ares_strcasecmp.h"
-#  define strcasecmp(p1,p2) ares_strcasecmp(p1,p2)
-#endif
-
-#ifndef HAVE_STRNCASECMP
-#  include "ares_strcasecmp.h"
-#  define strncasecmp(p1,p2,n) ares_strncasecmp(p1,p2,n)
-#endif
-
-static void callback(void *arg, int status, int timeouts, struct hostent *host);
-static void usage(void);
-
-int main(int argc, char **argv)
-{
-  ares_channel channel;
-  int status, nfds, c, addr_family = AF_INET;
-  fd_set read_fds, write_fds;
-  struct timeval *tvp, tv;
-  struct in_addr addr4;
-  struct ares_in6_addr addr6;
-
-#ifdef USE_WINSOCK
-  WORD wVersionRequested = MAKEWORD(USE_WINSOCK,USE_WINSOCK);
-  WSADATA wsaData;
-  WSAStartup(wVersionRequested, &wsaData);
-#endif
-
-  status = ares_library_init(ARES_LIB_INIT_ALL);
-  if (status != ARES_SUCCESS)
-    {
-      fprintf(stderr, "ares_library_init: %s\n", ares_strerror(status));
-      return 1;
-    }
-
-  while ((c = ares_getopt(argc,argv,"dt:h")) != -1)
-    {
-      switch (c)
-        {
-        case 'd':
-#ifdef WATT32
-          dbug_init();
-#endif
-          break;
-        case 't':
-          if (!strcasecmp(optarg,"a"))
-            addr_family = AF_INET;
-          else if (!strcasecmp(optarg,"aaaa"))
-            addr_family = AF_INET6;
-          else
-            usage();
-          break;
-        case 'h':
-        default:
-          usage();
-          break;
-        }
-    }
-
-  argc -= optind;
-  argv += optind;
-  if (argc < 1)
-    usage();
-
-  status = ares_init(&channel);
-  if (status != ARES_SUCCESS)
-    {
-      fprintf(stderr, "ares_init: %s\n", ares_strerror(status));
-      return 1;
-    }
-
-  /* Initiate the queries, one per command-line argument. */
-  for ( ; *argv; argv++)
-    {
-      if (ares_inet_pton(AF_INET, *argv, &addr4) == 1)
-        {
-          ares_gethostbyaddr(channel, &addr4, sizeof(addr4), AF_INET, callback,
-                             *argv);
-        }
-      else if (ares_inet_pton(AF_INET6, *argv, &addr6) == 1)
-        {
-          ares_gethostbyaddr(channel, &addr6, sizeof(addr6), AF_INET6, callback,
-                             *argv);
-        }
-      else
-        {
-          ares_gethostbyname(channel, *argv, addr_family, callback, *argv);
-        }
-    }
-
-  /* Wait for all queries to complete. */
-  for (;;)
-    {
-      FD_ZERO(&read_fds);
-      FD_ZERO(&write_fds);
-      nfds = ares_fds(channel, &read_fds, &write_fds);
-      if (nfds == 0)
-        break;
-      tvp = ares_timeout(channel, NULL, &tv);
-      select(nfds, &read_fds, &write_fds, NULL, tvp);
-      ares_process(channel, &read_fds, &write_fds);
-    }
-
-  ares_destroy(channel);
-
-  ares_library_cleanup();
-
-#ifdef USE_WINSOCK
-  WSACleanup();
-#endif
-
-  return 0;
-}
-
-static void callback(void *arg, int status, int timeouts, struct hostent *host)
-{
-  char **p;
-
-  (void)timeouts;
-
-  if (status != ARES_SUCCESS)
-    {
-      fprintf(stderr, "%s: %s\n", (char *) arg, ares_strerror(status));
-      return;
-    }
-
-  for (p = host->h_addr_list; *p; p++)
-    {
-      char addr_buf[46] = "??";
-
-      ares_inet_ntop(host->h_addrtype, *p, addr_buf, sizeof(addr_buf));
-      printf("%-32s\t%s", host->h_name, addr_buf);
-#if 0
-      if (host->h_aliases[0])
-        {
-           int i;
-
-           printf (", Aliases: ");
-           for (i = 0; host->h_aliases[i]; i++)
-               printf("%s ", host->h_aliases[i]);
-        }
-#endif
-      puts("");
-    }
-}
-
-static void usage(void)
-{
-  fprintf(stderr, "usage: ahost [-t {a|aaaa}] {host|addr} ...\n");
-  exit(1);
-}
diff --git a/ares/ares.h b/ares/ares.h
deleted file mode 100644 (file)
index 6d658ad..0000000
+++ /dev/null
@@ -1,509 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998, 2009 by the Massachusetts Institute of Technology.
- * Copyright (C) 2007-2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#ifndef ARES__H
-#define ARES__H
-
-#include "ares_version.h"  /* c-ares version defines   */
-#include "ares_build.h"    /* c-ares build definitions */
-#include "ares_rules.h"    /* c-ares rules enforcement */
-
-/*
- * Define WIN32 when build target is Win32 API
- */
-
-#if (defined(_WIN32) || defined(__WIN32__)) && \
-   !defined(WIN32) && !defined(__SYMBIAN32__)
-#  define WIN32
-#endif
-
-#include <sys/types.h>
-
-/* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish
-   libc5-based Linux systems. Only include it on system that are known to
-   require it! */
-#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
-    defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY)
-#include <sys/select.h>
-#endif
-#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
-#include <sys/bsdskt.h>
-#endif
-
-#if defined(WATT32)
-#  include <netinet/in.h>
-#  include <sys/socket.h>
-#  include <tcp.h>
-#elif defined(WIN32)
-#  ifndef WIN32_LEAN_AND_MEAN
-#    define WIN32_LEAN_AND_MEAN
-#  endif
-#  include <windows.h>
-#  include <winsock2.h>
-#  include <ws2tcpip.h>
-#else
-#  include <sys/socket.h>
-#  include <netinet/in.h>
-#endif
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-/*
-** c-ares external API function linkage decorations.
-*/
-
-#if !defined(CARES_STATICLIB) && \
-   (defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__))
-   /* __declspec function decoration for Win32 and Symbian DLL's */
-#  if defined(CARES_BUILDING_LIBRARY)
-#    define CARES_EXTERN  __declspec(dllexport)
-#  else
-#    define CARES_EXTERN  __declspec(dllimport)
-#  endif
-#else
-   /* visibility function decoration for other cases */
-#  if !defined(CARES_SYMBOL_HIDING) || \
-     defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__)
-#    define CARES_EXTERN
-#  else
-#    define CARES_EXTERN CARES_SYMBOL_SCOPE_EXTERN
-#  endif
-#endif
-
-
-#define ARES_SUCCESS            0
-
-/* Server error codes (ARES_ENODATA indicates no relevant answer) */
-#define ARES_ENODATA            1
-#define ARES_EFORMERR           2
-#define ARES_ESERVFAIL          3
-#define ARES_ENOTFOUND          4
-#define ARES_ENOTIMP            5
-#define ARES_EREFUSED           6
-
-/* Locally generated error codes */
-#define ARES_EBADQUERY          7
-#define ARES_EBADNAME           8
-#define ARES_EBADFAMILY         9
-#define ARES_EBADRESP           10
-#define ARES_ECONNREFUSED       11
-#define ARES_ETIMEOUT           12
-#define ARES_EOF                13
-#define ARES_EFILE              14
-#define ARES_ENOMEM             15
-#define ARES_EDESTRUCTION       16
-#define ARES_EBADSTR            17
-
-/* ares_getnameinfo error codes */
-#define ARES_EBADFLAGS          18
-
-/* ares_getaddrinfo error codes */
-#define ARES_ENONAME            19
-#define ARES_EBADHINTS          20
-
-/* Uninitialized library error code */
-#define ARES_ENOTINITIALIZED    21          /* introduced in 1.7.0 */
-
-/* ares_library_init error codes */
-#define ARES_ELOADIPHLPAPI           22     /* introduced in 1.7.0 */
-#define ARES_EADDRGETNETWORKPARAMS   23     /* introduced in 1.7.0 */
-
-/* More error codes */
-#define ARES_ECANCELLED         24          /* introduced in 1.7.0 */
-
-/* Flag values */
-#define ARES_FLAG_USEVC         (1 << 0)
-#define ARES_FLAG_PRIMARY       (1 << 1)
-#define ARES_FLAG_IGNTC         (1 << 2)
-#define ARES_FLAG_NORECURSE     (1 << 3)
-#define ARES_FLAG_STAYOPEN      (1 << 4)
-#define ARES_FLAG_NOSEARCH      (1 << 5)
-#define ARES_FLAG_NOALIASES     (1 << 6)
-#define ARES_FLAG_NOCHECKRESP   (1 << 7)
-
-/* Option mask values */
-#define ARES_OPT_FLAGS          (1 << 0)
-#define ARES_OPT_TIMEOUT        (1 << 1)
-#define ARES_OPT_TRIES          (1 << 2)
-#define ARES_OPT_NDOTS          (1 << 3)
-#define ARES_OPT_UDP_PORT       (1 << 4)
-#define ARES_OPT_TCP_PORT       (1 << 5)
-#define ARES_OPT_SERVERS        (1 << 6)
-#define ARES_OPT_DOMAINS        (1 << 7)
-#define ARES_OPT_LOOKUPS        (1 << 8)
-#define ARES_OPT_SOCK_STATE_CB  (1 << 9)
-#define ARES_OPT_SORTLIST       (1 << 10)
-#define ARES_OPT_SOCK_SNDBUF    (1 << 11)
-#define ARES_OPT_SOCK_RCVBUF    (1 << 12)
-#define ARES_OPT_TIMEOUTMS      (1 << 13)
-#define ARES_OPT_ROTATE         (1 << 14)
-
-/* Nameinfo flag values */
-#define ARES_NI_NOFQDN                  (1 << 0)
-#define ARES_NI_NUMERICHOST             (1 << 1)
-#define ARES_NI_NAMEREQD                (1 << 2)
-#define ARES_NI_NUMERICSERV             (1 << 3)
-#define ARES_NI_DGRAM                   (1 << 4)
-#define ARES_NI_TCP                     0
-#define ARES_NI_UDP                     ARES_NI_DGRAM
-#define ARES_NI_SCTP                    (1 << 5)
-#define ARES_NI_DCCP                    (1 << 6)
-#define ARES_NI_NUMERICSCOPE            (1 << 7)
-#define ARES_NI_LOOKUPHOST              (1 << 8)
-#define ARES_NI_LOOKUPSERVICE           (1 << 9)
-/* Reserved for future use */
-#define ARES_NI_IDN                     (1 << 10)
-#define ARES_NI_IDN_ALLOW_UNASSIGNED    (1 << 11)
-#define ARES_NI_IDN_USE_STD3_ASCII_RULES (1 << 12)
-
-/* Addrinfo flag values */
-#define ARES_AI_CANONNAME               (1 << 0)
-#define ARES_AI_NUMERICHOST             (1 << 1)
-#define ARES_AI_PASSIVE                 (1 << 2)
-#define ARES_AI_NUMERICSERV             (1 << 3)
-#define ARES_AI_V4MAPPED                (1 << 4)
-#define ARES_AI_ALL                     (1 << 5)
-#define ARES_AI_ADDRCONFIG              (1 << 6)
-/* Reserved for future use */
-#define ARES_AI_IDN                     (1 << 10)
-#define ARES_AI_IDN_ALLOW_UNASSIGNED    (1 << 11)
-#define ARES_AI_IDN_USE_STD3_ASCII_RULES (1 << 12)
-#define ARES_AI_CANONIDN                (1 << 13)
-
-#define ARES_AI_MASK (ARES_AI_CANONNAME|ARES_AI_NUMERICHOST|ARES_AI_PASSIVE| \
-                      ARES_AI_NUMERICSERV|ARES_AI_V4MAPPED|ARES_AI_ALL| \
-                      ARES_AI_ADDRCONFIG)
-#define ARES_GETSOCK_MAXNUM 16 /* ares_getsock() can return info about this
-                                  many sockets */
-#define ARES_GETSOCK_READABLE(bits,num) (bits & (1<< (num)))
-#define ARES_GETSOCK_WRITABLE(bits,num) (bits & (1 << ((num) + \
-                                         ARES_GETSOCK_MAXNUM)))
-
-/* c-ares library initialization flag values */
-#define ARES_LIB_INIT_NONE   (0)
-#define ARES_LIB_INIT_WIN32  (1 << 0)
-#define ARES_LIB_INIT_ALL    (ARES_LIB_INIT_WIN32)
-
-
-/*
- * Typedef our socket type
- */
-
-#ifndef ares_socket_typedef
-#ifdef WIN32
-typedef SOCKET ares_socket_t;
-#define ARES_SOCKET_BAD INVALID_SOCKET
-#else
-typedef int ares_socket_t;
-#define ARES_SOCKET_BAD -1
-#endif
-#define ares_socket_typedef
-#endif /* ares_socket_typedef */
-
-typedef void (*ares_sock_state_cb)(void *data,
-                                   ares_socket_t socket_fd,
-                                   int readable,
-                                   int writable);
-
-struct apattern;
-
-/* NOTE about the ares_options struct to users and developers.
-
-   This struct will remain looking like this. It will not be extended nor
-   shrunk in future releases, but all new options will be set by ares_set_*()
-   options instead of with the ares_init_options() function.
-
-   Eventually (in a galaxy far far away), all options will be settable by
-   ares_set_*() options and the ares_init_options() function will become
-   deprecated.
-
-   When new options are added to c-ares, they are not added to this
-   struct. And they are not "saved" with the ares_save_options() function but
-   instead we encourage the use of the ares_dup() function. Needless to say,
-   if you add config options to c-ares you need to make sure ares_dup()
-   duplicates this new option.
-
- */
-struct ares_options {
-  int flags;
-  int timeout; /* in seconds or milliseconds, depending on options */
-  int tries;
-  int ndots;
-  unsigned short udp_port;
-  unsigned short tcp_port;
-  int socket_send_buffer_size;
-  int socket_receive_buffer_size;
-  struct in_addr *servers;
-  int nservers;
-  char **domains;
-  int ndomains;
-  char *lookups;
-  ares_sock_state_cb sock_state_cb;
-  void *sock_state_cb_data;
-  struct apattern *sortlist;
-  int nsort;
-};
-
-struct hostent;
-struct timeval;
-struct sockaddr;
-struct ares_channeldata;
-
-typedef struct ares_channeldata *ares_channel;
-
-typedef void (*ares_callback)(void *arg,
-                              int status,
-                              int timeouts,
-                              unsigned char *abuf,
-                              int alen);
-
-typedef void (*ares_host_callback)(void *arg,
-                                   int status,
-                                   int timeouts,
-                                   struct hostent *hostent);
-
-typedef void (*ares_nameinfo_callback)(void *arg,
-                                       int status,
-                                       int timeouts,
-                                       char *node,
-                                       char *service);
-
-typedef int  (*ares_sock_create_callback)(ares_socket_t socket_fd,
-                                          int type,
-                                          void *data);
-
-CARES_EXTERN int ares_library_init(int flags);
-
-CARES_EXTERN void ares_library_cleanup(void);
-
-CARES_EXTERN const char *ares_version(int *version);
-
-CARES_EXTERN int ares_init(ares_channel *channelptr);
-
-CARES_EXTERN int ares_init_options(ares_channel *channelptr,
-                                   struct ares_options *options,
-                                   int optmask);
-
-CARES_EXTERN int ares_save_options(ares_channel channel,
-                                   struct ares_options *options,
-                                   int *optmask);
-
-CARES_EXTERN void ares_destroy_options(struct ares_options *options);
-
-CARES_EXTERN int ares_dup(ares_channel *dest,
-                          ares_channel src);
-
-CARES_EXTERN void ares_destroy(ares_channel channel);
-
-CARES_EXTERN void ares_cancel(ares_channel channel);
-
-CARES_EXTERN void ares_set_socket_callback(ares_channel channel,
-                                           ares_sock_create_callback callback,
-                                           void *user_data);
-
-CARES_EXTERN void ares_send(ares_channel channel,
-                            const unsigned char *qbuf,
-                            int qlen,
-                            ares_callback callback,
-                            void *arg);
-
-CARES_EXTERN void ares_query(ares_channel channel,
-                             const char *name,
-                             int dnsclass,
-                             int type,
-                             ares_callback callback,
-                             void *arg);
-
-CARES_EXTERN void ares_search(ares_channel channel,
-                              const char *name,
-                              int dnsclass,
-                              int type,
-                              ares_callback callback,
-                              void *arg);
-
-CARES_EXTERN void ares_gethostbyname(ares_channel channel,
-                                     const char *name,
-                                     int family,
-                                     ares_host_callback callback,
-                                     void *arg);
-
-CARES_EXTERN int ares_gethostbyname_file(ares_channel channel,
-                                         const char *name,
-                                         int family,
-                                         struct hostent **host);
-
-CARES_EXTERN void ares_gethostbyaddr(ares_channel channel,
-                                     const void *addr,
-                                     int addrlen,
-                                     int family,
-                                     ares_host_callback callback,
-                                     void *arg);
-
-CARES_EXTERN void ares_getnameinfo(ares_channel channel,
-                                   const struct sockaddr *sa,
-                                   ares_socklen_t salen,
-                                   int flags,
-                                   ares_nameinfo_callback callback,
-                                   void *arg);
-
-CARES_EXTERN int ares_fds(ares_channel channel,
-                          fd_set *read_fds,
-                          fd_set *write_fds);
-
-CARES_EXTERN int ares_getsock(ares_channel channel,
-                              ares_socket_t *socks,
-                              int numsocks);
-
-CARES_EXTERN struct timeval *ares_timeout(ares_channel channel,
-                                          struct timeval *maxtv,
-                                          struct timeval *tv);
-
-CARES_EXTERN void ares_process(ares_channel channel,
-                               fd_set *read_fds,
-                               fd_set *write_fds);
-
-CARES_EXTERN void ares_process_fd(ares_channel channel,
-                                  ares_socket_t read_fd,
-                                  ares_socket_t write_fd);
-
-CARES_EXTERN int ares_mkquery(const char *name,
-                              int dnsclass,
-                              int type,
-                              unsigned short id,
-                              int rd,
-                              unsigned char **buf,
-                              int *buflen);
-
-CARES_EXTERN int ares_expand_name(const unsigned char *encoded,
-                                  const unsigned char *abuf,
-                                  int alen,
-                                  char **s,
-                                  long *enclen);
-
-CARES_EXTERN int ares_expand_string(const unsigned char *encoded,
-                                    const unsigned char *abuf,
-                                    int alen,
-                                    unsigned char **s,
-                                    long *enclen);
-
-/*
- * NOTE: before c-ares 1.7.0 we would most often use the system in6_addr
- * struct below when ares itself was built, but many apps would use this
- * private version since the header checked a HAVE_* define for it. Starting
- * with 1.7.0 we always declare and use our own to stop relying on the
- * system's one.
- */
-struct ares_in6_addr {
-  union {
-    unsigned char _S6_u8[16];
-  } _S6_un;
-};
-
-struct ares_addrttl {
-  struct in_addr ipaddr;
-  int            ttl;
-};
-
-struct ares_addr6ttl {
-  struct ares_in6_addr ip6addr;
-  int             ttl;
-};
-
-struct ares_srv_reply {
-  struct ares_srv_reply  *next;
-  char                   *host;
-  unsigned short          priority;
-  unsigned short          weight;
-  unsigned short          port;
-};
-
-struct ares_txt_reply {
-  struct ares_txt_reply  *next;
-  unsigned char          *txt;
-  size_t                  length;  /* length excludes null termination */
-};
-
-/*
-** Parse the buffer, starting at *abuf and of length alen bytes, previously
-** obtained from an ares_search call.  Put the results in *host, if nonnull.
-** Also, if addrttls is nonnull, put up to *naddrttls IPv4 addresses along with
-** their TTLs in that array, and set *naddrttls to the number of addresses
-** so written.
-*/
-
-CARES_EXTERN int ares_parse_a_reply(const unsigned char *abuf,
-                                    int alen,
-                                    struct hostent **host,
-                                    struct ares_addrttl *addrttls,
-                                    int *naddrttls);
-
-CARES_EXTERN int ares_parse_aaaa_reply(const unsigned char *abuf,
-                                       int alen,
-                                       struct hostent **host,
-                                       struct ares_addr6ttl *addrttls,
-                                       int *naddrttls);
-
-CARES_EXTERN int ares_parse_ptr_reply(const unsigned char *abuf,
-                                      int alen,
-                                      const void *addr,
-                                      int addrlen,
-                                      int family,
-                                      struct hostent **host);
-
-CARES_EXTERN int ares_parse_ns_reply(const unsigned char *abuf,
-                                     int alen,
-                                     struct hostent **host);
-
-CARES_EXTERN int ares_parse_srv_reply(const unsigned char* abuf,
-                                      int alen,
-                                      struct ares_srv_reply** srv_out);
-
-CARES_EXTERN int ares_parse_txt_reply(const unsigned char* abuf,
-                                      int alen,
-                                      struct ares_txt_reply** txt_out);
-
-CARES_EXTERN void ares_free_string(void *str);
-
-CARES_EXTERN void ares_free_hostent(struct hostent *host);
-
-CARES_EXTERN void ares_free_data(void *dataptr);
-
-CARES_EXTERN const char *ares_strerror(int code);
-
-struct ares_addr_node {
-  struct ares_addr_node *next;
-  int family;
-  union {
-    struct in_addr       addr4;
-    struct ares_in6_addr addr6;
-  } addr;
-};
-
-CARES_EXTERN int ares_set_servers(ares_channel channel,
-                                  struct ares_addr_node *servers);
-
-CARES_EXTERN int ares_get_servers(ares_channel channel,
-                                  struct ares_addr_node **servers);
-
-#ifdef  __cplusplus
-}
-#endif
-
-#endif /* ARES__H */
diff --git a/ares/ares__close_sockets.c b/ares/ares__close_sockets.c
deleted file mode 100644 (file)
index d2476fd..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "ares.h"
-#include "ares_private.h"
-
-void ares__close_sockets(ares_channel channel, struct server_state *server)
-{
-  struct send_request *sendreq;
-
-  /* Free all pending output buffers. */
-  while (server->qhead)
-    {
-      /* Advance server->qhead; pull out query as we go. */
-      sendreq = server->qhead;
-      server->qhead = sendreq->next;
-      if (sendreq->data_storage != NULL)
-        free(sendreq->data_storage);
-      free(sendreq);
-    }
-  server->qtail = NULL;
-
-  /* Reset any existing input buffer. */
-  if (server->tcp_buffer)
-    free(server->tcp_buffer);
-  server->tcp_buffer = NULL;
-  server->tcp_lenbuf_pos = 0;
-
-  /* Reset brokenness */
-  server->is_broken = 0;
-
-  /* Close the TCP and UDP sockets. */
-  if (server->tcp_socket != ARES_SOCKET_BAD)
-    {
-      SOCK_STATE_CALLBACK(channel, server->tcp_socket, 0, 0);
-      sclose(server->tcp_socket);
-      server->tcp_socket = ARES_SOCKET_BAD;
-      server->tcp_connection_generation = ++channel->tcp_connection_generation;
-    }
-  if (server->udp_socket != ARES_SOCKET_BAD)
-    {
-      SOCK_STATE_CALLBACK(channel, server->udp_socket, 0, 0);
-      sclose(server->udp_socket);
-      server->udp_socket = ARES_SOCKET_BAD;
-    }
-}
diff --git a/ares/ares__get_hostent.c b/ares/ares__get_hostent.c
deleted file mode 100644 (file)
index caa7f79..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998, 2010 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-
-#include "ares.h"
-#include "inet_net_pton.h"
-#include "ares_private.h"
-
-int ares__get_hostent(FILE *fp, int family, struct hostent **host)
-{
-  char *line = NULL, *p, *q, **alias;
-  char *txtaddr, *txthost, *txtalias;
-  int status;
-  size_t addrlen, linesize, naliases;
-  struct ares_addr addr;
-  struct hostent *hostent = NULL;
-
-  *host = NULL; /* Assume failure */
-
-  /* Validate family */
-  switch (family) {
-    case AF_INET:
-    case AF_INET6:
-    case AF_UNSPEC:
-      break;
-    default:
-      return ARES_EBADFAMILY;
-  }
-
-  while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
-    {
-
-      /* Trim line comment. */
-      p = line;
-      while (*p && (*p != '#'))
-        p++;
-      *p = '\0';
-
-      /* Trim trailing whitespace. */
-      q = p - 1;
-      while ((q >= line) && ISSPACE(*q))
-        q--;
-      *++q = '\0';
-
-      /* Skip leading whitespace. */
-      p = line;
-      while (*p && ISSPACE(*p))
-        p++;
-      if (!*p)
-        /* Ignore line if empty. */
-        continue;
-
-      /* Pointer to start of IPv4 or IPv6 address part. */
-      txtaddr = p;
-
-      /* Advance past address part. */
-      while (*p && !ISSPACE(*p))
-        p++;
-      if (!*p)
-        /* Ignore line if reached end of line. */
-        continue;
-
-      /* Null terminate address part. */
-      *p = '\0';
-
-      /* Advance to host name */
-      p++;
-      while (*p && ISSPACE(*p))
-        p++;
-      if (!*p)
-        /* Ignore line if reached end of line. */
-        continue;
-
-      /* Pointer to start of host name. */
-      txthost = p;
-
-      /* Advance past host name. */
-      while (*p && !ISSPACE(*p))
-        p++;
-
-      /* Pointer to start of first alias. */
-      txtalias = NULL;
-      if (*p)
-        {
-          q = p + 1;
-          while (*q && ISSPACE(*q))
-            q++;
-          if (*q)
-            txtalias = q;
-        }
-
-      /* Null terminate host name. */
-      *p = '\0';
-
-      /* find out number of aliases. */
-      naliases = 0;
-      if (txtalias)
-        {
-          p = txtalias;
-          while (*p)
-            {
-              while (*p && !ISSPACE(*p))
-                p++;
-              while (*p && ISSPACE(*p))
-                p++;
-              naliases++;
-            }
-        }
-
-      /* Convert address string to network address for the requested family. */
-      addrlen = 0;
-      addr.family = AF_UNSPEC;
-      addr.addrV4.s_addr = INADDR_NONE;
-      if ((family == AF_INET) || (family == AF_UNSPEC))
-        {
-          addr.addrV4.s_addr = inet_addr(txtaddr);
-          if (addr.addrV4.s_addr != INADDR_NONE)
-            {
-              /* Actual network address family and length. */
-              addr.family = AF_INET;
-              addrlen = sizeof(addr.addrV4);
-            }
-        }
-      if ((family == AF_INET6) || ((family == AF_UNSPEC) && (!addrlen)))
-        {
-          if (ares_inet_pton(AF_INET6, txtaddr, &addr.addrV6) > 0)
-            {
-              /* Actual network address family and length. */
-              addr.family = AF_INET6;
-              addrlen = sizeof(addr.addrV6);
-            }
-        }
-      if (!addrlen)
-        /* Ignore line if invalid address string for the requested family. */
-        continue;
-
-      /*
-      ** Actual address family possible values are AF_INET and AF_INET6 only.
-      */
-
-      /* Allocate memory for the hostent structure. */
-      hostent = malloc(sizeof(struct hostent));
-      if (!hostent)
-        break;
-
-      /* Initialize fields for out of memory condition. */
-      hostent->h_aliases = NULL;
-      hostent->h_addr_list = NULL;
-
-      /* Copy official host name. */
-      hostent->h_name = strdup(txthost);
-      if (!hostent->h_name)
-        break;
-
-      /* Copy network address. */
-      hostent->h_addr_list = malloc(2 * sizeof(char *));
-      if (!hostent->h_addr_list)
-        break;
-      hostent->h_addr_list[1] = NULL;
-      hostent->h_addr_list[0] = malloc(addrlen);
-      if (!hostent->h_addr_list[0])
-        break;
-      if (addr.family == AF_INET)
-        memcpy(hostent->h_addr_list[0], &addr.addrV4, sizeof(addr.addrV4));
-      else
-        memcpy(hostent->h_addr_list[0], &addr.addrV6, sizeof(addr.addrV6));
-
-      /* Copy aliases. */
-      hostent->h_aliases = malloc((naliases + 1) * sizeof(char *));
-      if (!hostent->h_aliases)
-        break;
-      alias = hostent->h_aliases;
-      while (naliases)
-        *(alias + naliases--) = NULL;
-      *alias = NULL;
-      while (txtalias)
-        {
-          p = txtalias;
-          while (*p && !ISSPACE(*p))
-            p++;
-          q = p;
-          while (*q && ISSPACE(*q))
-            q++;
-          *p = '\0';
-          if ((*alias = strdup(txtalias)) == NULL)
-            break;
-          alias++;
-          txtalias = *q ? q : NULL;
-        }
-      if (txtalias)
-        /* Alias memory allocation failure. */
-        break;
-
-      /* Copy actual network address family and length. */
-      hostent->h_addrtype = addr.family;
-      hostent->h_length = (int)addrlen;
-
-      /* Free line buffer. */
-      free(line);
-
-      /* Return hostent successfully */
-      *host = hostent;
-      return ARES_SUCCESS;
-
-    }
-
-  /* If allocated, free line buffer. */
-  if (line)
-    free(line);
-
-  if (status == ARES_SUCCESS)
-    {
-      /* Memory allocation failure; clean up. */
-      if (hostent)
-        {
-          if (hostent->h_name)
-            free((char *) hostent->h_name);
-          if (hostent->h_aliases)
-            {
-              for (alias = hostent->h_aliases; *alias; alias++)
-                free(*alias);
-              free(hostent->h_aliases);
-            }
-          if (hostent->h_addr_list)
-            {
-              if (hostent->h_addr_list[0])
-                free(hostent->h_addr_list[0]);
-              free(hostent->h_addr_list);
-            }
-          free(hostent);
-        }
-      return ARES_ENOMEM;
-    }
-
-  return status;
-}
diff --git a/ares/ares__read_line.c b/ares/ares__read_line.c
deleted file mode 100644 (file)
index 2e94945..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "ares.h"
-#include "ares_nowarn.h"
-#include "ares_private.h"
-
-/* This is an internal function.  Its contract is to read a line from
- * a file into a dynamically allocated buffer, zeroing the trailing
- * newline if there is one.  The calling routine may call
- * ares__read_line multiple times with the same buf and bufsize
- * pointers; *buf will be reallocated and *bufsize adjusted as
- * appropriate.  The initial value of *buf should be NULL.  After the
- * calling routine is done reading lines, it should free *buf.
- */
-int ares__read_line(FILE *fp, char **buf, size_t *bufsize)
-{
-  char *newbuf;
-  size_t offset = 0;
-  size_t len;
-
-  if (*buf == NULL)
-    {
-      *buf = malloc(128);
-      if (!*buf)
-        return ARES_ENOMEM;
-      *bufsize = 128;
-    }
-
-  for (;;)
-    {
-      int bytestoread = aresx_uztosi(*bufsize - offset);
-
-      if (!fgets(*buf + offset, bytestoread, fp))
-        return (offset != 0) ? 0 : (ferror(fp)) ? ARES_EFILE : ARES_EOF;
-      len = offset + strlen(*buf + offset);
-      if ((*buf)[len - 1] == '\n')
-        {
-          (*buf)[len - 1] = 0;
-          break;
-        }
-      offset = len;
-      if(len < *bufsize - 1)
-        continue;
-
-      /* Allocate more space. */
-      newbuf = realloc(*buf, *bufsize * 2);
-      if (!newbuf)
-        return ARES_ENOMEM;
-      *buf = newbuf;
-      *bufsize *= 2;
-    }
-  return ARES_SUCCESS;
-}
diff --git a/ares/ares__timeval.c b/ares/ares__timeval.c
deleted file mode 100644 (file)
index 8cf37e9..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/* $Id$ */
-
-/* Copyright (C) 2008 by Daniel Stenberg et al
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include "ares.h"
-#include "ares_private.h"
-
-#if defined(WIN32) && !defined(MSDOS)
-
-struct timeval ares__tvnow(void)
-{
-  /*
-  ** GetTickCount() is available on _all_ Windows versions from W95 up
-  ** to nowadays. Returns milliseconds elapsed since last system boot,
-  ** increases monotonically and wraps once 49.7 days have elapsed.
-  */
-  struct timeval now;
-  DWORD milliseconds = GetTickCount();
-  now.tv_sec = milliseconds / 1000;
-  now.tv_usec = (milliseconds % 1000) * 1000;
-  return now;
-}
-
-#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC)
-
-struct timeval ares__tvnow(void)
-{
-  /*
-  ** clock_gettime() is granted to be increased monotonically when the
-  ** monotonic clock is queried. Time starting point is unspecified, it
-  ** could be the system start-up time, the Epoch, or something else,
-  ** in any case the time starting point does not change once that the
-  ** system has started up.
-  */
-  struct timeval now;
-  struct timespec tsnow;
-  if(0 == clock_gettime(CLOCK_MONOTONIC, &tsnow)) {
-    now.tv_sec = tsnow.tv_sec;
-    now.tv_usec = tsnow.tv_nsec / 1000;
-  }
-  /*
-  ** Even when the configure process has truly detected monotonic clock
-  ** availability, it might happen that it is not actually available at
-  ** run-time. When this occurs simply fallback to other time source.
-  */
-#ifdef HAVE_GETTIMEOFDAY
-  else
-    (void)gettimeofday(&now, NULL);
-#else
-  else {
-    now.tv_sec = (long)time(NULL);
-    now.tv_usec = 0;
-  }
-#endif
-  return now;
-}
-
-#elif defined(HAVE_GETTIMEOFDAY)
-
-struct timeval ares__tvnow(void)
-{
-  /*
-  ** gettimeofday() is not granted to be increased monotonically, due to
-  ** clock drifting and external source time synchronization it can jump
-  ** forward or backward in time.
-  */
-  struct timeval now;
-  (void)gettimeofday(&now, NULL);
-  return now;
-}
-
-#else
-
-struct timeval ares__tvnow(void)
-{
-  /*
-  ** time() returns the value of time in seconds since the Epoch.
-  */
-  struct timeval now;
-  now.tv_sec = (long)time(NULL);
-  now.tv_usec = 0;
-  return now;
-}
-
-#endif
-
-#if 0 /* Not used */
-/*
- * Make sure that the first argument is the more recent time, as otherwise
- * we'll get a weird negative time-diff back...
- *
- * Returns: the time difference in number of milliseconds.
- */
-long ares__tvdiff(struct timeval newer, struct timeval older)
-{
-  return (newer.tv_sec-older.tv_sec)*1000+
-    (newer.tv_usec-older.tv_usec)/1000;
-}
-#endif
-
diff --git a/ares/ares_build.h.dist b/ares/ares_build.h.dist
deleted file mode 100644 (file)
index a55191c..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-#ifndef __CARES_BUILD_H
-#define __CARES_BUILD_H
-
-/* $Id$ */
-
-/* Copyright (C) 2009 by Daniel Stenberg et al
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-/* ================================================================ */
-/*               NOTES FOR CONFIGURE CAPABLE SYSTEMS                */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * See file ares_build.h.in, run configure, and forget that this file
- * exists it is only used for non-configure systems.
- * But you can keep reading if you want ;-)
- *
- */
-
-/* ================================================================ */
-/*                 NOTES FOR NON-CONFIGURE SYSTEMS                  */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * Nothing in this file is intended to be modified or adjusted by the
- * c-ares library user nor by the c-ares library builder.
- *
- * If you think that something actually needs to be changed, adjusted
- * or fixed in this file, then, report it on the c-ares development
- * mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
- *
- * Try to keep one section per platform, compiler and architecture,
- * otherwise, if an existing section is reused for a different one and
- * later on the original is adjusted, probably the piggybacking one can
- * be adversely changed.
- *
- * In order to differentiate between platforms/compilers/architectures
- * use only compiler built in predefined preprocessor symbols.
- *
- * This header file shall only export symbols which are 'cares' or 'CARES'
- * prefixed, otherwise public name space would be polluted.
- *
- * NOTE 2:
- * -------
- *
- * Right now you might be staring at file ares_build.h.dist or ares_build.h,
- * this is due to the following reason: file ares_build.h.dist is renamed
- * to ares_build.h when the c-ares source code distribution archive file is
- * created.
- *
- * File ares_build.h.dist is not included in the distribution archive.
- * File ares_build.h is not present in the CVS tree.
- *
- * The distributed ares_build.h file is only intended to be used on systems
- * which can not run the also distributed configure script.
- *
- * On systems capable of running the configure script, the configure process
- * will overwrite the distributed ares_build.h file with one that is suitable
- * and specific to the library being configured and built, which is generated
- * from the ares_build.h.in template file.
- *
- * If you check out from CVS on a non-configure platform, you must run the
- * appropriate buildconf* script to set up ares_build.h and other local files.
- *
- */
-
-/* ================================================================ */
-/*  DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE  */
-/* ================================================================ */
-
-#ifdef CARES_SIZEOF_LONG
-#  error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
-   Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
-#endif
-
-#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
-#  error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
-   Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
-#endif
-
-#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
-#  error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
-   Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
-#endif
-
-/* ================================================================ */
-/*    EXTERNAL INTERFACE SETTINGS FOR NON-CONFIGURE SYSTEMS ONLY    */
-/* ================================================================ */
-
-#if defined(__DJGPP__) || defined(__GO32__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__SALFORDC__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__BORLANDC__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__TURBOC__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__WATCOMC__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__POCC__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__LCC__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__SYMBIAN32__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T unsigned int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__MWERKS__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(_WIN32_WCE)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__MINGW32__)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__VMS)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T unsigned int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-#elif defined(__OS400__)
-#  if defined(__ILEC400__)
-#    define CARES_SIZEOF_LONG           4
-#    define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
-#    define CARES_SIZEOF_ARES_SOCKLEN_T 4
-#    define CARES_PULL_SYS_TYPES_H      1
-#    define CARES_PULL_SYS_SOCKET_H     1
-#  endif
-
-#elif defined(__MVS__)
-#  if defined(__IBMC__) || defined(__IBMCPP__)
-#    if defined(_ILP32)
-#      define CARES_SIZEOF_LONG           4
-#    elif defined(_LP64)
-#      define CARES_SIZEOF_LONG           8
-#    endif
-#    define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
-#    define CARES_SIZEOF_ARES_SOCKLEN_T 4
-#    define CARES_PULL_SYS_TYPES_H      1
-#    define CARES_PULL_SYS_SOCKET_H     1
-#  endif
-
-#elif defined(__370__)
-#  if defined(__IBMC__) || defined(__IBMCPP__)
-#    if defined(_ILP32)
-#      define CARES_SIZEOF_LONG           4
-#    elif defined(_LP64)
-#      define CARES_SIZEOF_LONG           8
-#    endif
-#    define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
-#    define CARES_SIZEOF_ARES_SOCKLEN_T 4
-#    define CARES_PULL_SYS_TYPES_H      1
-#    define CARES_PULL_SYS_SOCKET_H     1
-#  endif
-
-#elif defined(TPF)
-#  define CARES_SIZEOF_LONG           8
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-/* ===================================== */
-/*    KEEP MSVC THE PENULTIMATE ENTRY    */
-/* ===================================== */
-
-#elif defined(_MSC_VER)
-#  define CARES_SIZEOF_LONG           4
-#  define CARES_TYPEOF_ARES_SOCKLEN_T int
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-
-/* ===================================== */
-/*    KEEP GENERIC GCC THE LAST ENTRY    */
-/* ===================================== */
-
-#elif defined(__GNUC__)
-#  if defined(__i386__) || defined(__ppc__)
-#    define CARES_SIZEOF_LONG           4
-#  elif defined(__x86_64__) || defined(__ppc64__)
-#    define CARES_SIZEOF_LONG           8
-#  endif
-#  define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
-#  define CARES_SIZEOF_ARES_SOCKLEN_T 4
-#  define CARES_PULL_SYS_TYPES_H      1
-#  define CARES_PULL_SYS_SOCKET_H     1
-
-#else
-#  error "Unknown non-configure build target!"
-   Error Compilation_aborted_Unknown_non_configure_build_target
-#endif
-
-/* CARES_PULL_SYS_TYPES_H is defined above when inclusion of header file  */
-/* sys/types.h is required here to properly make type definitions below.  */
-#ifdef CARES_PULL_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-
-/* CARES_PULL_SYS_SOCKET_H is defined above when inclusion of header file  */
-/* sys/socket.h is required here to properly make type definitions below.  */
-#ifdef CARES_PULL_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-
-/* Data type definition of ares_socklen_t. */
-
-#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
-  typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
-#endif
-
-#endif /* __CARES_BUILD_H */
diff --git a/ares/ares_build.h.in b/ares/ares_build.h.in
deleted file mode 100644 (file)
index 6d2f87c..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-#ifndef __CARES_BUILD_H
-#define __CARES_BUILD_H
-
-/* $Id$ */
-
-/* Copyright (C) 2009 by Daniel Stenberg et al
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-/* ================================================================ */
-/*               NOTES FOR CONFIGURE CAPABLE SYSTEMS                */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * Nothing in this file is intended to be modified or adjusted by the
- * c-ares library user nor by the c-ares library builder.
- *
- * If you think that something actually needs to be changed, adjusted
- * or fixed in this file, then, report it on the c-ares development
- * mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
- *
- * This header file shall only export symbols which are 'cares' or 'CARES'
- * prefixed, otherwise public name space would be polluted.
- *
- * NOTE 2:
- * -------
- *
- * Right now you might be staring at file ares_build.h.in or ares_build.h,
- * this is due to the following reason:
- *
- * On systems capable of running the configure script, the configure process
- * will overwrite the distributed ares_build.h file with one that is suitable
- * and specific to the library being configured and built, which is generated
- * from the ares_build.h.in template file.
- *
- */
-
-/* ================================================================ */
-/*  DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE  */
-/* ================================================================ */
-
-#ifdef CARES_SIZEOF_LONG
-#  error "CARES_SIZEOF_LONG shall not be defined except in ares_build.h"
-   Error Compilation_aborted_CARES_SIZEOF_LONG_already_defined
-#endif
-
-#ifdef CARES_TYPEOF_ARES_SOCKLEN_T
-#  error "CARES_TYPEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
-   Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_already_defined
-#endif
-
-#ifdef CARES_SIZEOF_ARES_SOCKLEN_T
-#  error "CARES_SIZEOF_ARES_SOCKLEN_T shall not be defined except in ares_build.h"
-   Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_already_defined
-#endif
-
-/* ================================================================ */
-/*  EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY  */
-/* ================================================================ */
-
-/* Configure process defines this to 1 when it finds out that system  */
-/* header file ws2tcpip.h must be included by the external interface. */
-#undef CARES_PULL_WS2TCPIP_H
-#ifdef CARES_PULL_WS2TCPIP_H
-#  ifndef WIN32_LEAN_AND_MEAN
-#    define WIN32_LEAN_AND_MEAN
-#  endif
-#  include <windows.h>
-#  include <winsock2.h>
-#  include <ws2tcpip.h>
-#endif
-
-/* Configure process defines this to 1 when it finds out that system   */
-/* header file sys/types.h must be included by the external interface. */
-#undef CARES_PULL_SYS_TYPES_H
-#ifdef CARES_PULL_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-
-/* Configure process defines this to 1 when it finds out that system    */
-/* header file sys/socket.h must be included by the external interface. */
-#undef CARES_PULL_SYS_SOCKET_H
-#ifdef CARES_PULL_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-
-/* The size of `long', as computed by sizeof. */
-#undef CARES_SIZEOF_LONG
-
-/* Integral data type used for ares_socklen_t. */
-#undef CARES_TYPEOF_ARES_SOCKLEN_T
-
-/* The size of `ares_socklen_t', as computed by sizeof. */
-#undef CARES_SIZEOF_ARES_SOCKLEN_T
-
-/* Data type definition of ares_socklen_t. */
-typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
-
-#endif /* __CARES_BUILD_H */
diff --git a/ares/ares_cancel.3 b/ares/ares_cancel.3
deleted file mode 100644 (file)
index 3c6153a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_CANCEL 3 "31 March 2004"
-.SH NAME
-ares_cancel \- Cancel a resolve
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_cancel(ares_channel \fIchannel\fP)
-.fi
-.SH DESCRIPTION
-The \fBares_cancel\fP function cancels all lookups/requests made on the the
-name service channel identified by \fIchannel\fP.  \fBares_cancel\fP invokes
-the callbacks for each pending query on the channel, passing a status of
-.BR ARES_ECANCELLED .
-These calls give the callbacks a chance to clean up any state which
-might have been stored in their arguments.
-.SH SEE ALSO
-.BR ares_init (3)
-.BR ares_destroy (3)
-.SH NOTES
-This function was added in c-ares 1.2.0
-
-c-ares 1.6.0 and earlier pass a status of
-.BR ARES_ETIMEOUT
-instead of
-.BR ARES_ECANCELLED .
-.SH AUTHOR
-Dirk Manske
diff --git a/ares/ares_cancel.c b/ares/ares_cancel.c
deleted file mode 100644 (file)
index a730a65..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* $Id$ */
-
-/* Copyright (C) 2004 by Daniel Stenberg et al
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include <assert.h>
-#include <stdlib.h>
-#include "ares.h"
-#include "ares_private.h"
-
-/*
- * ares_cancel() cancels all ongoing requests/resolves that might be going on
- * on the given channel. It does NOT kill the channel, use ares_destroy() for
- * that.
- */
-void ares_cancel(ares_channel channel)
-{
-  struct query *query;
-  struct list_node* list_head;
-  struct list_node* list_node;
-  int i;
-
-  list_head = &(channel->all_queries);
-  for (list_node = list_head->next; list_node != list_head; )
-  {
-    query = list_node->data;
-    list_node = list_node->next;  /* since we're deleting the query */
-    query->callback(query->arg, ARES_ECANCELLED, 0, NULL, 0);
-    ares__free_query(query);
-  }
-#ifndef NDEBUG
-  /* Freeing the query should remove it from all the lists in which it sits,
-   * so all query lists should be empty now.
-   */
-  assert(ares__is_list_empty(&(channel->all_queries)));
-  for (i = 0; i < ARES_QID_TABLE_SIZE; i++)
-    {
-      assert(ares__is_list_empty(&(channel->queries_by_qid[i])));
-    }
-  for (i = 0; i < ARES_TIMEOUT_TABLE_SIZE; i++)
-    {
-      assert(ares__is_list_empty(&(channel->queries_by_timeout[i])));
-    }
-#endif
-  if (!(channel->flags & ARES_FLAG_STAYOPEN))
-  {
-    if (channel->servers)
-    {
-      for (i = 0; i < channel->nservers; i++)
-        ares__close_sockets(channel, &channel->servers[i]);
-    }
-  }
-}
diff --git a/ares/ares_data.c b/ares/ares_data.c
deleted file mode 100644 (file)
index 3a4c00c..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/* $Id$ */
-
-/* Copyright (C) 2009-2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-
-#include "ares_setup.h"
-
-#include <stddef.h>
-
-#include "ares.h"
-#include "ares_data.h"
-#include "ares_private.h"
-
-
-/*
-** ares_free_data() - c-ares external API function.
-**
-** This function must be used by the application to free data memory that
-** has been internally allocated by some c-ares function and for which a
-** pointer has already been returned to the calling application. The list
-** of c-ares functions returning pointers that must be free'ed using this
-** function is:
-**
-**   ares_get_servers()
-**   ares_parse_srv_reply()
-**   ares_parse_txt_reply()
-*/
-
-void ares_free_data(void *dataptr)
-{
-  struct ares_data *ptr;
-
-  if (!dataptr)
-    return;
-
-#ifdef __INTEL_COMPILER
-#  pragma warning(push)
-#  pragma warning(disable:1684)
-   /* 1684: conversion from pointer to same-sized integral type */
-#endif
-
-  ptr = (void *)((char *)dataptr - offsetof(struct ares_data, data));
-
-#ifdef __INTEL_COMPILER
-#  pragma warning(pop)
-#endif
-
-  if (ptr->mark != ARES_DATATYPE_MARK)
-    return;
-
-  switch (ptr->type)
-    {
-      case ARES_DATATYPE_SRV_REPLY:
-
-        if (ptr->data.srv_reply.next)
-          ares_free_data(ptr->data.srv_reply.next);
-        if (ptr->data.srv_reply.host)
-          free(ptr->data.srv_reply.host);
-        break;
-
-      case ARES_DATATYPE_TXT_REPLY:
-
-        if (ptr->data.txt_reply.next)
-          ares_free_data(ptr->data.txt_reply.next);
-        if (ptr->data.txt_reply.txt)
-          free(ptr->data.txt_reply.txt);
-        break;
-
-      case ARES_DATATYPE_ADDR_NODE:
-
-        if (ptr->data.addr_node.next)
-          ares_free_data(ptr->data.addr_node.next);
-        break;
-
-      default:
-        return;
-    }
-
-  free(ptr);
-}
-
-
-/*
-** ares_malloc_data() - c-ares internal helper function.
-**
-** This function allocates memory for a c-ares private ares_data struct
-** for the specified ares_datatype, initializes c-ares private fields
-** and zero initializes those which later might be used from the public
-** API. It returns an interior pointer which can be passed by c-ares
-** functions to the calling application, and that must be free'ed using
-** c-ares external API function ares_free_data().
-*/
-
-void *ares_malloc_data(ares_datatype type)
-{
-  struct ares_data *ptr;
-
-  ptr = malloc(sizeof(struct ares_data));
-  if (!ptr)
-    return NULL;
-
-  switch (type)
-    {
-      case ARES_DATATYPE_SRV_REPLY:
-        ptr->data.srv_reply.next = NULL;
-        ptr->data.srv_reply.host = NULL;
-        ptr->data.srv_reply.priority = 0;
-        ptr->data.srv_reply.weight = 0;
-        ptr->data.srv_reply.port = 0;
-        break;
-
-      case ARES_DATATYPE_TXT_REPLY:
-        ptr->data.txt_reply.next = NULL;
-        ptr->data.txt_reply.txt = NULL;
-        ptr->data.txt_reply.length  = 0;
-        break;
-
-      case ARES_DATATYPE_ADDR_NODE:
-        ptr->data.addr_node.next = NULL;
-        ptr->data.addr_node.family = 0;
-        memset(&ptr->data.addr_node.addrV6, 0,
-          sizeof(ptr->data.addr_node.addrV6));
-
-      default:
-        free(ptr);
-        return NULL;
-    }
-
-  ptr->mark = ARES_DATATYPE_MARK;
-  ptr->type = type;
-
-  return &ptr->data;
-}
-
-
-/*
-** ares_get_datatype() - c-ares internal helper function.
-**
-** This function returns the ares_datatype of the data stored in a
-** private ares_data struct when given the public API pointer.
-*/
-
-ares_datatype ares_get_datatype(void * dataptr)
-{
-  struct ares_data *ptr;
-
-#ifdef __INTEL_COMPILER
-#  pragma warning(push)
-#  pragma warning(disable:1684)
-   /* 1684: conversion from pointer to same-sized integral type */
-#endif
-
-  ptr = (void *)((char *)dataptr - offsetof(struct ares_data, data));
-
-#ifdef __INTEL_COMPILER
-#  pragma warning(pop)
-#endif
-
-  if (ptr->mark == ARES_DATATYPE_MARK)
-    return ptr->type;
-
-  return ARES_DATATYPE_UNKNOWN;
-}
diff --git a/ares/ares_data.h b/ares/ares_data.h
deleted file mode 100644 (file)
index 02ff1bc..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* $Id$ */
-
-/* Copyright (C) 2009-2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-typedef enum {
-  ARES_DATATYPE_UNKNOWN = 1,  /* unknown data type     - introduced in 1.7.0 */
-  ARES_DATATYPE_SRV_REPLY,    /* struct ares_srv_reply - introduced in 1.7.0 */
-  ARES_DATATYPE_TXT_REPLY,    /* struct ares_txt_reply - introduced in 1.7.0 */
-  ARES_DATATYPE_ADDR_NODE,    /* struct ares_addr_node - introduced in 1.7.1 */
-#if 0
-  ARES_DATATYPE_ADDR6TTL,     /* struct ares_addrttl   */
-  ARES_DATATYPE_ADDRTTL,      /* struct ares_addr6ttl  */
-  ARES_DATATYPE_HOSTENT,      /* struct hostent        */
-  ARES_DATATYPE_OPTIONS,      /* struct ares_options   */
-#endif
-  ARES_DATATYPE_LAST          /* not used              - introduced in 1.7.0 */
-} ares_datatype;
-
-#define ARES_DATATYPE_MARK 0xbead
-
-/*
- * ares_data struct definition is internal to c-ares and shall not
- * be exposed by the public API in order to allow future changes
- * and extensions to it without breaking ABI.  This will be used
- * internally by c-ares as the container of multiple types of data
- * dynamically allocated for which a reference will be returned
- * to the calling application.
- *
- * c-ares API functions returning a pointer to c-ares internally
- * allocated data will actually be returning an interior pointer
- * into this ares_data struct.
- *
- * All this is 'invisible' to the calling application, the only
- * requirement is that this kind of data must be free'ed by the
- * calling application using ares_free_data() with the pointer
- * it has received from a previous c-ares function call.
- */
-
-struct ares_data {
-  ares_datatype type;  /* Actual data type identifier. */
-  unsigned int  mark;  /* Private ares_data signature. */
-  union {
-    struct ares_txt_reply txt_reply;
-    struct ares_srv_reply srv_reply;
-    struct ares_addr_node addr_node;
-  } data;
-};
-
-void *ares_malloc_data(ares_datatype type);
-
-ares_datatype ares_get_datatype(void * dataptr);
diff --git a/ares/ares_destroy.3 b/ares/ares_destroy.3
deleted file mode 100644 (file)
index a6ea84f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_DESTROY 3 "7 December 2004"
-.SH NAME
-ares_destroy \- Destroy a resolver channel
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_destroy(ares_channel \fIchannel\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_destroy
-function destroys the name service channel identified by
-.IR channel ,
-freeing all memory and closing all sockets used by the channel.
-.B ares_destroy
-invokes the callbacks for each pending query on the channel, passing a
-status of
-.BR ARES_EDESTRUCTION .
-These calls give the callbacks a chance to clean up any state which
-might have been stored in their arguments.
-.SH SEE ALSO
-.BR ares_init (3),
-.BR ares_cancel (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_destroy.c b/ares/ares_destroy.c
deleted file mode 100644 (file)
index d921666..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2004-2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include <assert.h>
-#include <stdlib.h>
-#include "ares.h"
-#include "ares_private.h"
-
-void ares_destroy_options(struct ares_options *options)
-{
-  int i;
-
-  if(options->servers)
-    free(options->servers);
-  for (i = 0; i < options->ndomains; i++)
-    free(options->domains[i]);
-  free(options->domains);
-  if(options->sortlist)
-    free(options->sortlist);
-  free(options->lookups);
-}
-
-void ares_destroy(ares_channel channel)
-{
-  int i;
-  struct query *query;
-  struct list_node* list_head;
-  struct list_node* list_node;
-  
-  if (!channel)
-    return;
-
-  list_head = &(channel->all_queries);
-  for (list_node = list_head->next; list_node != list_head; )
-    {
-      query = list_node->data;
-      list_node = list_node->next;  /* since we're deleting the query */
-      query->callback(query->arg, ARES_EDESTRUCTION, 0, NULL, 0);
-      ares__free_query(query);
-    }
-#ifndef NDEBUG
-  /* Freeing the query should remove it from all the lists in which it sits,
-   * so all query lists should be empty now.
-   */
-  assert(ares__is_list_empty(&(channel->all_queries)));
-  for (i = 0; i < ARES_QID_TABLE_SIZE; i++)
-    {
-      assert(ares__is_list_empty(&(channel->queries_by_qid[i])));
-    }
-  for (i = 0; i < ARES_TIMEOUT_TABLE_SIZE; i++)
-    {
-      assert(ares__is_list_empty(&(channel->queries_by_timeout[i])));
-    }
-#endif
-
-  ares__destroy_servers_state(channel);
-
-  if (channel->domains) {
-    for (i = 0; i < channel->ndomains; i++)
-      free(channel->domains[i]);
-    free(channel->domains);
-  }
-
-  if(channel->sortlist)
-    free(channel->sortlist);
-
-  if (channel->lookups)
-    free(channel->lookups);
-
-  free(channel);
-}
-
-void ares__destroy_servers_state(ares_channel channel)
-{
-  struct server_state *server;
-  int i;
-
-  if (channel->servers)
-    {
-      for (i = 0; i < channel->nservers; i++)
-        {
-          server = &channel->servers[i];
-          ares__close_sockets(channel, server);
-          assert(ares__is_list_empty(&server->queries_to_server));
-        }
-      free(channel->servers);
-      channel->servers = NULL;
-    }
-  channel->nservers = -1;
-}
diff --git a/ares/ares_destroy_options.3 b/ares/ares_destroy_options.3
deleted file mode 100644 (file)
index 15c5f42..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_DESTROY_OPTIONS 3 "1 June 2007"
-.SH NAME
-ares_destroy_options \- Destroy options initialized with ares_save_options
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_destroy_options(struct ares_options *\fIoptions\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_destroy_options
-function destroys the options struct identified by
-.IR options ,
-freeing all memory allocated by ares_save_options.
-
-.SH SEE ALSO
-.BR ares_save_options (3),
-.BR ares_init_options (3)
-.SH AUTHOR
-Brad House
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_dns.h b/ares/ares_dns.h
deleted file mode 100644 (file)
index 2187da6..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#ifndef ARES__DNS_H
-#define ARES__DNS_H
-
-#define DNS__16BIT(p)                   (((p)[0] << 8) | (p)[1])
-#define DNS__32BIT(p)                   (((p)[0] << 24) | ((p)[1] << 16) | \
-                                         ((p)[2] << 8) | (p)[3])
-
-#define DNS__SET16BIT(p, v)  (((p)[0] = (unsigned char)(((v) >> 8) & 0xff)), \
-                              ((p)[1] = (unsigned char)((v) & 0xff)))
-#define DNS__SET32BIT(p, v)  (((p)[0] = (unsigned char)(((v) >> 24) & 0xff)), \
-                              ((p)[1] = (unsigned char)(((v) >> 16) & 0xff)), \
-                              ((p)[2] = (unsigned char)(((v) >> 8) & 0xff)), \
-                              ((p)[3] = (unsigned char)((v) & 0xff)))
-
-#if 0
-/* we cannot use this approach on systems where we can't access 16/32 bit
-   data on un-aligned addresses */
-#define DNS__16BIT(p)                   ntohs(*(unsigned short*)(p))
-#define DNS__32BIT(p)                   ntohl(*(unsigned long*)(p))
-#define DNS__SET16BIT(p, v)             *(unsigned short*)(p) = htons(v)
-#define DNS__SET32BIT(p, v)             *(unsigned long*)(p) = htonl(v)
-#endif
-
-/* Macros for parsing a DNS header */
-#define DNS_HEADER_QID(h)               DNS__16BIT(h)
-#define DNS_HEADER_QR(h)                (((h)[2] >> 7) & 0x1)
-#define DNS_HEADER_OPCODE(h)            (((h)[2] >> 3) & 0xf)
-#define DNS_HEADER_AA(h)                (((h)[2] >> 2) & 0x1)
-#define DNS_HEADER_TC(h)                (((h)[2] >> 1) & 0x1)
-#define DNS_HEADER_RD(h)                ((h)[2] & 0x1)
-#define DNS_HEADER_RA(h)                (((h)[3] >> 7) & 0x1)
-#define DNS_HEADER_Z(h)                 (((h)[3] >> 4) & 0x7)
-#define DNS_HEADER_RCODE(h)             ((h)[3] & 0xf)
-#define DNS_HEADER_QDCOUNT(h)           DNS__16BIT((h) + 4)
-#define DNS_HEADER_ANCOUNT(h)           DNS__16BIT((h) + 6)
-#define DNS_HEADER_NSCOUNT(h)           DNS__16BIT((h) + 8)
-#define DNS_HEADER_ARCOUNT(h)           DNS__16BIT((h) + 10)
-
-/* Macros for constructing a DNS header */
-#define DNS_HEADER_SET_QID(h, v)      DNS__SET16BIT(h, v)
-#define DNS_HEADER_SET_QR(h, v)       ((h)[2] |= (unsigned char)(((v) & 0x1) << 7))
-#define DNS_HEADER_SET_OPCODE(h, v)   ((h)[2] |= (unsigned char)(((v) & 0xf) << 3))
-#define DNS_HEADER_SET_AA(h, v)       ((h)[2] |= (unsigned char)(((v) & 0x1) << 2))
-#define DNS_HEADER_SET_TC(h, v)       ((h)[2] |= (unsigned char)(((v) & 0x1) << 1))
-#define DNS_HEADER_SET_RD(h, v)       ((h)[2] |= (unsigned char)((v) & 0x1))
-#define DNS_HEADER_SET_RA(h, v)       ((h)[3] |= (unsigned char)(((v) & 0x1) << 7))
-#define DNS_HEADER_SET_Z(h, v)        ((h)[3] |= (unsigned char)(((v) & 0x7) << 4))
-#define DNS_HEADER_SET_RCODE(h, v)    ((h)[3] |= (unsigned char)((v) & 0xf))
-#define DNS_HEADER_SET_QDCOUNT(h, v)  DNS__SET16BIT((h) + 4, v)
-#define DNS_HEADER_SET_ANCOUNT(h, v)  DNS__SET16BIT((h) + 6, v)
-#define DNS_HEADER_SET_NSCOUNT(h, v)  DNS__SET16BIT((h) + 8, v)
-#define DNS_HEADER_SET_ARCOUNT(h, v)  DNS__SET16BIT((h) + 10, v)
-
-/* Macros for parsing the fixed part of a DNS question */
-#define DNS_QUESTION_TYPE(q)            DNS__16BIT(q)
-#define DNS_QUESTION_CLASS(q)           DNS__16BIT((q) + 2)
-
-/* Macros for constructing the fixed part of a DNS question */
-#define DNS_QUESTION_SET_TYPE(q, v)     DNS__SET16BIT(q, v)
-#define DNS_QUESTION_SET_CLASS(q, v)    DNS__SET16BIT((q) + 2, v)
-
-/* Macros for parsing the fixed part of a DNS resource record */
-#define DNS_RR_TYPE(r)                  DNS__16BIT(r)
-#define DNS_RR_CLASS(r)                 DNS__16BIT((r) + 2)
-#define DNS_RR_TTL(r)                   DNS__32BIT((r) + 4)
-#define DNS_RR_LEN(r)                   DNS__16BIT((r) + 8)
-
-/* Macros for constructing the fixed part of a DNS resource record */
-#define DNS_RR_SET_TYPE(r)              DNS__SET16BIT(r, v)
-#define DNS_RR_SET_CLASS(r)             DNS__SET16BIT((r) + 2, v)
-#define DNS_RR_SET_TTL(r)               DNS__SET32BIT((r) + 4, v)
-#define DNS_RR_SET_LEN(r)               DNS__SET16BIT((r) + 8, v)
-
-#endif /* ARES__DNS_H */
diff --git a/ares/ares_dup.3 b/ares/ares_dup.3
deleted file mode 100644 (file)
index 1b109bc..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright (C) 2004-2009 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_DUP 3 "26 May 2009"
-.SH NAME
-ares_dup \- Duplicate a resolver channel
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_dup(ares_channel *\fIdest\fP, ares_channel \fIsource\fP)
-.fi
-.SH DESCRIPTION
-The \fBares_dup(3)\fP function duplicates an existing communications channel
-for name service lookups.  If it returns successfully, \fBares_dup(3)\fP will
-set the variable pointed to by \fIdest\fP to a handle used to identify the
-name service channel.  The caller should invoke \fIares_destroy(3)\fP on the
-handle when the channel is no longer needed.
-
-The \fBares_dup_options\fP function also initializes a name service channel,
-with additional options set exactly as the \fIsource\fP channel has them
-configured.
-.SH SEE ALSO
-.BR ares_destroy(3),
-.BR ares_init(3),
-.BR ares_library_init(3)
-.SH AVAILABILITY
-ares_dup(3) was added in c-ares 1.6.0
-.SH AUTHOR
-Daniel Stenberg
-
diff --git a/ares/ares_expand_name.3 b/ares/ares_expand_name.3
deleted file mode 100644 (file)
index e960bd6..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_EXPAND_NAME 3 "20 Nov 2009"
-.SH NAME
-ares_expand_name \- Expand a DNS-encoded domain name
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_expand_name(const unsigned char *\fIencoded\fP,
-.B      const unsigned char *\fIabuf\fP, int \fIalen\fP, char **\fIs\fP,
-.B     long *\fIenclen\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_expand_name
-function converts a DNS-encoded domain name to a dot-separated C
-string.  The argument
-.I encoded
-gives the beginning of the encoded domain name, and the arguments
-.I abuf
-and
-.I alen
-give the containing message buffer (necessary for the processing of
-indirection pointers within the encoded domain name).  The result is
-placed in a NUL-terminated allocated buffer, a pointer to which is
-stored in the variable pointed to by
-.IR s .
-The length of the encoded name is stored in the variable pointed to by
-.I enclen
-so that the caller can advance past the encoded domain name to read
-further data in the message.
-.SH RETURN VALUES
-.B ares_expand_name
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-Expansion of the encoded name succeeded.
-.TP 15
-.B ARES_EBADNAME
-The encoded domain name was malformed and could not be expanded.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH SEE ALSO
-.BR ares_mkquery (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_expand_name.c b/ares/ares_expand_name.c
deleted file mode 100644 (file)
index fd3220d..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <stdlib.h>
-#include "ares.h"
-#include "ares_private.h" /* for the memdebug */
-
-static int name_length(const unsigned char *encoded, const unsigned char *abuf,
-                       int alen);
-
-/* Expand an RFC1035-encoded domain name given by encoded.  The
- * containing message is given by abuf and alen.  The result given by
- * *s, which is set to a NUL-terminated allocated buffer.  *enclen is
- * set to the length of the encoded name (not the length of the
- * expanded name; the goal is to tell the caller how many bytes to
- * move forward to get past the encoded name).
- *
- * In the simple case, an encoded name is a series of labels, each
- * composed of a one-byte length (limited to values between 0 and 63
- * inclusive) followed by the label contents.  The name is terminated
- * by a zero-length label.
- *
- * In the more complicated case, a label may be terminated by an
- * indirection pointer, specified by two bytes with the high bits of
- * the first byte (corresponding to INDIR_MASK) set to 11.  With the
- * two high bits of the first byte stripped off, the indirection
- * pointer gives an offset from the beginning of the containing
- * message with more labels to decode.  Indirection can happen an
- * arbitrary number of times, so we have to detect loops.
- *
- * Since the expanded name uses '.' as a label separator, we use
- * backslashes to escape periods or backslashes in the expanded name.
- */
-
-int ares_expand_name(const unsigned char *encoded, const unsigned char *abuf,
-                     int alen, char **s, long *enclen)
-{
-  int len, indir = 0;
-  char *q;
-  const unsigned char *p;
-  union {
-    ssize_t sig;
-     size_t uns;
-  } nlen;
-
-  nlen.sig = name_length(encoded, abuf, alen);
-  if (nlen.sig < 0)
-    return ARES_EBADNAME;
-
-  *s = malloc(nlen.uns + 1);
-  if (!*s)
-    return ARES_ENOMEM;
-  q = *s;
-
-  if (nlen.uns == 0) {
-    /* RFC2181 says this should be ".": the root of the DNS tree.
-     * Since this function strips trailing dots though, it becomes ""
-     */
-    q[0] = '\0';
-    *enclen = 1;  /* the caller should move one byte to get past this */
-    return ARES_SUCCESS;
-  }
-
-  /* No error-checking necessary; it was all done by name_length(). */
-  p = encoded;
-  while (*p)
-    {
-      if ((*p & INDIR_MASK) == INDIR_MASK)
-        {
-          if (!indir)
-            {
-              *enclen = p + 2 - encoded;
-              indir = 1;
-            }
-          p = abuf + ((*p & ~INDIR_MASK) << 8 | *(p + 1));
-        }
-      else
-        {
-          len = *p;
-          p++;
-          while (len--)
-            {
-              if (*p == '.' || *p == '\\')
-                *q++ = '\\';
-              *q++ = *p;
-              p++;
-            }
-          *q++ = '.';
-        }
-    }
-  if (!indir)
-    *enclen = p + 1 - encoded;
-
-  /* Nuke the trailing period if we wrote one. */
-  if (q > *s)
-    *(q - 1) = 0;
-  else
-    *q = 0; /* zero terminate */
-
-  return ARES_SUCCESS;
-}
-
-/* Return the length of the expansion of an encoded domain name, or
- * -1 if the encoding is invalid.
- */
-static int name_length(const unsigned char *encoded, const unsigned char *abuf,
-                       int alen)
-{
-  int n = 0, offset, indir = 0;
-
-  /* Allow the caller to pass us abuf + alen and have us check for it. */
-  if (encoded == abuf + alen)
-    return -1;
-
-  while (*encoded)
-    {
-      if ((*encoded & INDIR_MASK) == INDIR_MASK)
-        {
-          /* Check the offset and go there. */
-          if (encoded + 1 >= abuf + alen)
-            return -1;
-          offset = (*encoded & ~INDIR_MASK) << 8 | *(encoded + 1);
-          if (offset >= alen)
-            return -1;
-          encoded = abuf + offset;
-
-          /* If we've seen more indirects than the message length,
-           * then there's a loop.
-           */
-          if (++indir > alen)
-            return -1;
-        }
-      else
-        {
-          offset = *encoded;
-          if (encoded + offset + 1 >= abuf + alen)
-            return -1;
-          encoded++;
-          while (offset--)
-            {
-              n += (*encoded == '.' || *encoded == '\\') ? 2 : 1;
-              encoded++;
-            }
-          n++;
-        }
-    }
-
-  /* If there were any labels at all, then the number of dots is one
-   * less than the number of labels, so subtract one.
-   */
-  return (n) ? n - 1 : n;
-}
-
-/* Like ares_expand_name but returns EBADRESP in case of invalid input. */
-int ares__expand_name_for_response(const unsigned char *encoded,
-                                   const unsigned char *abuf, int alen,
-                                   char **s, long *enclen)
-{
-  int status = ares_expand_name(encoded, abuf, alen, s, enclen);
-  if (status == ARES_EBADNAME)
-    status = ARES_EBADRESP;
-  return status;
-}
diff --git a/ares/ares_expand_string.3 b/ares/ares_expand_string.3
deleted file mode 100644 (file)
index 9e6eb5e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_EXPAND_NAME 3 "20 Nov 2009"
-.SH NAME
-ares_expand_string \- Expand a length encoded string
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_expand_string(const unsigned char *\fIencoded\fP,
-.B      const unsigned char *\fIabuf\fP, int \fIalen\fP, unsigned char **\fIs\fP,
-.B     long *\fIenclen\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_expand_string
-function converts a length encoded string to a NUL-terminated C
-string.  The argument
-.I encoded
-gives the beginning of the encoded string, and the arguments
-.I abuf
-and
-.I alen
-give the containing message buffer (necessary for the processing of
-indirection pointers within the encoded domain name).  The result is
-placed in a NUL-terminated allocated buffer, a pointer to which is
-stored in the variable pointed to by
-.IR s .
-The length of the encoded string is stored in the variable pointed to by
-.I enclen
-so that the caller can advance past the encoded string to read
-further data in the message.
-.SH RETURN VALUES
-.B ares_expand_string
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-Expansion of the encoded string succeeded.
-.TP 15
-.B ARES_EBADSTR
-The encoded string was malformed and could not be expanded.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH SEE ALSO
-.BR ares_free_string (3)
-.SH AUTHOR
-Dominick Meglio
diff --git a/ares/ares_expand_string.c b/ares/ares_expand_string.c
deleted file mode 100644 (file)
index 3b7b341..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include "ares.h"
-#include "ares_private.h" /* for the memdebug */
-
-/* Simply decodes a length-encoded character string. The first byte of the
- * input is the length of the string to be returned and the bytes thereafter
- * are the characters of the string. The returned result will be NULL
- * terminated.
- */
-int ares_expand_string(const unsigned char *encoded,
-                       const unsigned char *abuf,
-                       int alen,
-                       unsigned char **s,
-                       long *enclen)
-{
-  unsigned char *q;
-  union {
-    ssize_t sig;
-     size_t uns;
-  } elen;
-
-  if (encoded == abuf+alen)
-    return ARES_EBADSTR;
-
-  elen.uns = *encoded;
-  if (encoded+elen.sig+1 > abuf+alen)
-    return ARES_EBADSTR;
-
-  encoded++;
-
-  *s = malloc(elen.uns+1);
-  if (*s == NULL)
-    return ARES_ENOMEM;
-  q = *s;
-  strncpy((char *)q, (char *)encoded, elen.uns);
-  q[elen.uns] = '\0';
-
-  *s = q;
-
-  *enclen = (long)(elen.sig+1);
-
-  return ARES_SUCCESS;
-}
-
diff --git a/ares/ares_fds.3 b/ares/ares_fds.3
deleted file mode 100644 (file)
index 64d91d2..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_FDS 3 "23 July 1998"
-.SH NAME
-ares_fds \- Get file descriptors to select on for name service
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_fds(ares_channel \fIchannel\fP, fd_set *\fIread_fds\fP,
-.B     fd_set *\fIwrite_fds\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_fds
-function retrieves the set of file descriptors which the calling
-application should select on for reading and writing for the
-processing of name service queries pending on the name service channel
-identified by
-.IR channel .
-File descriptors will be set in the file descriptor sets pointed to by
-.I read_fds
-and
-.I write_fds
-as appropriate.  File descriptors already set in
-.I read_fds
-and
-.I write_fds
-will remain set; initialization of the file descriptor sets
-(using
-.BR FD_ZERO )
-is the responsibility of the caller.
-.SH RETURN VALUES
-.B ares_fds
-returns one greater than the number of the highest socket set in either
-.I read_fds
-or
-.IR write_fds .
-If no queries are active,
-.B ares_fds
-will return 0.
-.SH SEE ALSO
-.BR ares_timeout (3),
-.BR ares_process (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_fds.c b/ares/ares_fds.c
deleted file mode 100644 (file)
index bbf5c45..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#include "ares.h"
-#include "ares_private.h"
-
-int ares_fds(ares_channel channel, fd_set *read_fds, fd_set *write_fds)
-{
-  struct server_state *server;
-  ares_socket_t nfds;
-  int i;
-
-  /* Are there any active queries? */
-  int active_queries = !ares__is_list_empty(&(channel->all_queries));
-
-  nfds = 0;
-  for (i = 0; i < channel->nservers; i++)
-    {
-      server = &channel->servers[i];
-      /* We only need to register interest in UDP sockets if we have
-       * outstanding queries.
-       */
-      if (active_queries && server->udp_socket != ARES_SOCKET_BAD)
-        {
-          FD_SET(server->udp_socket, read_fds);
-          if (server->udp_socket >= nfds)
-            nfds = server->udp_socket + 1;
-        }
-      /* We always register for TCP events, because we want to know
-       * when the other side closes the connection, so we don't waste
-       * time trying to use a broken connection.
-       */
-      if (server->tcp_socket != ARES_SOCKET_BAD)
-       {
-         FD_SET(server->tcp_socket, read_fds);
-         if (server->qhead)
-           FD_SET(server->tcp_socket, write_fds);
-         if (server->tcp_socket >= nfds)
-           nfds = server->tcp_socket + 1;
-       }
-    }
-  return (int)nfds;
-}
diff --git a/ares/ares_free_data.3 b/ares/ares_free_data.3
deleted file mode 100644 (file)
index 2cb1f14..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\" Copyright (C) 2004-2010 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_FREE_DATA 3 "5 March 2010"
-.SH NAME
-ares_free_data \- Free data allocated by several c-ares functions
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_free_data(void *\fIdataptr\fP)
-.PP
-.B cc file.c -lcares
-.fi
-.SH DESCRIPTION
-.PP
-The
-.B ares_free_data(3)
-function frees one or more data structures allocated and returned
-by several c-ares functions. Specifically the data returned by the
-following list of functions must be deallocated using this function.
-.TP 5
-.B ares_get_servers(3)
-When used to free the data returned by ares_get_servers(3) this
-will free the whole linked list of ares_addr_node structures returned
-by ares_get_servers(3).
-.TP
-.B ares_parse_srv_reply(3)
-When used to free the data returned by ares_parse_srv_reply(3) this
-will free the whole linked list of ares_srv_reply structures returned
-by ares_parse_srv_reply(3), along with any additional storage
-associated with those structures.
-.TP
-.B ares_parse_txt_reply(3)
-When used to free the data returned by ares_parse_txt_reply(3) this
-will free the whole linked list of ares_txt_reply structures returned
-by ares_parse_txt_reply(3), along with any additional storage
-associated with those structures.
-.SH RETURN VALUE
-The ares_free_data() function does not return a value.
-.SH AVAILABILITY
-This function was first introduced in c-ares version 1.7.0.
-.SH SEE ALSO
-.BR ares_get_servers(3),
-.BR ares_parse_srv_reply(3),
-.BR ares_parse_txt_reply(3)
-.SH AUTHOR
-Yang Tse
-.PP
-Copyright 1998 by the Massachusetts Institute of Technology.
-.br
-Copyright (C) 2004-2010 by Daniel Stenberg.
diff --git a/ares/ares_free_hostent.3 b/ares/ares_free_hostent.3
deleted file mode 100644 (file)
index 5b42f39..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_FREE_HOSTENT 3 "23 July 1998"
-.SH NAME
-ares_free_hostent \- Free host structure allocated by ares functions
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_free_hostent(struct hostent *\fIhost\fP)
-.fi
-.SH DESCRIPTION
-The
-.I ares_free_hostent
-function frees a
-.B struct hostent
-allocated by one of the functions \fIares_parse_a_reply(3)\fP,
-\fIares_parse_aaaa_reply(3)\fP, or \fIares_parse_ptr_reply(3)\fP.
-.SH NOTES
-It is not necessary (and is not correct) to free the host structure passed to
-the callback functions for \fIares_gethostbyname(3)\fP or
-\fIares_gethostbyaddr(3)\fP. c-ares will automatically free such host
-structures when the callback returns.
-.SH SEE ALSO
-.BR ares_parse_a_reply (3),
-.BR ares_parse_aaaa_reply (3),
-.BR ares_parse_ptr_reply (3),
-.BR ares_parse_ns_reply (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_free_hostent.c b/ares/ares_free_hostent.c
deleted file mode 100644 (file)
index f07fd7c..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include <stdlib.h>
-
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#include "ares.h"
-#include "ares_private.h" /* for memdebug */
-
-void ares_free_hostent(struct hostent *host)
-{
-  char **p;
-
-  free((char *)(host->h_name));
-  for (p = host->h_aliases; *p; p++)
-    free(*p);
-  free(host->h_aliases);
-  free(host->h_addr_list[0]); /* no matter if there is one or many entries,
-                                 there is only one malloc for all of them */
-  free(host->h_addr_list);
-  free(host);
-}
diff --git a/ares/ares_free_string.3 b/ares/ares_free_string.3
deleted file mode 100644 (file)
index c60b92a..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 2000 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_FREE_STRING 3 "4 February 2004"
-.SH NAME
-ares_free_string \- Free strings allocated by ares functions
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_free_string(void *\fIstr\fP)
-.fi
-.SH DESCRIPTION
-The
-.I ares_free_string
-function frees a string allocated by an ares function.
-.SH SEE ALSO
-.BR ares_mkquery (3)
-.BR ares_expand_string (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 2000 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_free_string.c b/ares/ares_free_string.c
deleted file mode 100644 (file)
index dc27f5b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/* $Id$ */
-
-/* Copyright 2000 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include <stdlib.h>
-#include "ares.h"
-#include "ares_private.h"
-
-void ares_free_string(void *str)
-{
-  free(str);
-}
diff --git a/ares/ares_get_servers.3 b/ares/ares_get_servers.3
deleted file mode 100644 (file)
index 78fa7bc..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\" Copyright (C) 2008-2010 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_GET_SERVERS 3 "5 March 2010"
-.SH NAME
-ares_get_servers \- Retrieve name servers from an initialized ares_channel
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_get_servers(ares_channel \fIchannel\fP, struct ares_addr_node **\fIservers\fP)
-.fi
-.SH DESCRIPTION
-The \fBares_get_servers(3)\fP function retrieves name servers configuration
-from the
-channel data identified by
-.IR channel ,
-as a linked list of ares_addr_node structs storing a pointer to the first
-node at the address specified by
-.IR servers .
-
-Function caller may traverse the returned name server linked list, or may use
-it directly as suitable input for the \fBares_set_servers(3)\fP function, but
-shall not shrink or extend the list on its own.
-
-Each node of the name server linked list is stored in memory dynamically
-allocated and managed by c-ares. It is the caller's responsibility to free
-the resulting linked list, using \fBares_free_data(3)\fP , once the caller
-does not need it any longer.
-
-This function is capable of handling IPv4 and IPv6 name server
-addresses simultaneously, rendering \fBares_save_options(3)\fP with
-optmask \fBARES_OPT_SERVERS\fP functionally obsolete except for
-IPv4-only name server usage.
-
-.SH RETURN VALUES
-.B ares_get_servers(3)
-may return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The name servers configuration was successfuly retrieved
-.TP 15
-.B ARES_ENOMEM
-The memory was exhausted
-.TP 15
-.B ARES_ENODATA
-The channel data identified by 
-.IR channel
-was invalid.
-.SH SEE ALSO
-.BR ares_set_servers (3),
-.BR ares_init_options (3),
-.BR ares_save_options(3)
-.SH AVAILABILITY
-ares_get_servers(3) was added in c-ares 1.7.1
-.SH AUTHOR
-Implementation of this function and associated library internals are based
-on code, comments and feedback provided November and December of 2008 by
-Daniel Stenberg, Gregor Jasny, Phil Blundell and Yang Tse, December 2009
-by Cedric Bail, February 2010 by Jakub Hrozek. On March 2010 Yang Tse
-shuffled all the bits and this function popped out.
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
-.br
-Copyright (C) 2008-2010 by Daniel Stenberg
diff --git a/ares/ares_gethostbyaddr.3 b/ares/ares_gethostbyaddr.3
deleted file mode 100644 (file)
index 3782d4a..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_GETHOSTBYADDR 3 "24 July 1998"
-.SH NAME
-ares_gethostbyaddr \- Initiate a host query by address
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B typedef void (*ares_host_callback)(void *\fIarg\fP, int \fIstatus\fP,
-.B     int \fItimeouts\fP, struct hostent *\fIhostent\fP)
-.PP
-.B void ares_gethostbyaddr(ares_channel \fIchannel\fP, const void *\fIaddr\fP,
-.B     int \fIaddrlen\fP, int \fIfamily\fP, ares_host_callback \fIcallback\fP,
-.B     void *\fIarg\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_gethostbyaddr
-function initiates a host query by address on the name service channel
-identified by
-.IR channel .
-The parameters
-.I addr
-and
-.I addrlen
-give the address as a series of bytes, and
-.I family
-gives the type of address.  When the query is complete or has failed, the ares
-library will invoke \fIcallback\fP.  Completion or failure of the query may
-happen immediately, or may happen during a later call to
-\fIares_process(3)\fP, \fIares_destroy(3)\fP or \fIares_cancel(3)\fP.
-.PP
-The callback argument
-.I arg
-is copied from the
-.B ares_gethostbyaddr
-argument
-.IR arg .
-The callback argument
-.I status
-indicates whether the query succeeded and, if not, how it failed.  It
-may have any of the following values:
-.TP 19
-.B ARES_SUCCESS
-The host lookup completed successfully.
-.TP 19
-.B ARES_ENOTIMP
-The ares library does not know how to look up addresses of type
-.IR family .
-.TP 19
-.B ARES_ENOTFOUND
-The address
-.I addr
-was not found.
-.TP 19
-.B ARES_ENOMEM
-Memory was exhausted.
-.TP 19
-.B ARES_EDESTRUCTION
-The name service channel
-.I channel
-is being destroyed; the query will not be completed.
-.PP
-The callback argument
-.I timeouts
-reports how many times a query timed out during the execution of the
-given request.
-.PP
-On successful completion of the query, the callback argument
-.I hostent
-points to a
-.B struct hostent
-containing the name of the host returned by the query.  The callback
-need not and should not attempt to free the memory pointed to by
-.IR hostent ;
-the ares library will free it when the callback returns.  If the query
-did not complete successfully,
-.I hostent
-will be
-.BR NULL .
-.SH SEE ALSO
-.BR ares_process (3),
-.BR ares_gethostbyname (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_gethostbyaddr.c b/ares/ares_gethostbyaddr.c
deleted file mode 100644 (file)
index a2c3a90..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "ares.h"
-#include "inet_net_pton.h"
-#include "ares_private.h"
-
-#ifdef WATT32
-#undef WIN32
-#endif
-
-struct addr_query {
-  /* Arguments passed to ares_gethostbyaddr() */
-  ares_channel channel;
-  struct ares_addr addr;
-  ares_host_callback callback;
-  void *arg;
-
-  const char *remaining_lookups;
-  int timeouts;
-};
-
-static void next_lookup(struct addr_query *aquery);
-static void addr_callback(void *arg, int status, int timeouts,
-                          unsigned char *abuf, int alen);
-static void end_aquery(struct addr_query *aquery, int status,
-                       struct hostent *host);
-static int file_lookup(struct ares_addr *addr, struct hostent **host);
-static void ptr_rr_name(char *name, const struct ares_addr *addr);
-
-void ares_gethostbyaddr(ares_channel channel, const void *addr, int addrlen,
-                        int family, ares_host_callback callback, void *arg)
-{
-  struct addr_query *aquery;
-
-  if (family != AF_INET && family != AF_INET6)
-    {
-      callback(arg, ARES_ENOTIMP, 0, NULL);
-      return;
-    }
-
-  if ((family == AF_INET && addrlen != sizeof(aquery->addr.addrV4)) ||
-      (family == AF_INET6 && addrlen != sizeof(aquery->addr.addrV6)))
-    {
-      callback(arg, ARES_ENOTIMP, 0, NULL);
-      return;
-    }
-
-  aquery = malloc(sizeof(struct addr_query));
-  if (!aquery)
-    {
-      callback(arg, ARES_ENOMEM, 0, NULL);
-      return;
-    }
-  aquery->channel = channel;
-  if (family == AF_INET)
-    memcpy(&aquery->addr.addrV4, addr, sizeof(aquery->addr.addrV4));
-  else
-    memcpy(&aquery->addr.addrV6, addr, sizeof(aquery->addr.addrV6));
-  aquery->addr.family = family;
-  aquery->callback = callback;
-  aquery->arg = arg;
-  aquery->remaining_lookups = channel->lookups;
-  aquery->timeouts = 0;
-
-  next_lookup(aquery);
-}
-
-static void next_lookup(struct addr_query *aquery)
-{
-  const char *p;
-  char name[128];
-  int status;
-  struct hostent *host;
-
-  for (p = aquery->remaining_lookups; *p; p++)
-    {
-      switch (*p)
-        {
-        case 'b':
-          ptr_rr_name(name, &aquery->addr);
-          aquery->remaining_lookups = p + 1;
-          ares_query(aquery->channel, name, C_IN, T_PTR, addr_callback,
-                     aquery);
-          return;
-        case 'f':
-          status = file_lookup(&aquery->addr, &host);
-
-          /* this status check below previously checked for !ARES_ENOTFOUND,
-             but we should not assume that this single error code is the one
-             that can occur, as that is in fact no longer the case */
-          if (status == ARES_SUCCESS)
-            {
-              end_aquery(aquery, status, host);
-              return;
-            }
-          break;
-        }
-    }
-  end_aquery(aquery, ARES_ENOTFOUND, NULL);
-}
-
-static void addr_callback(void *arg, int status, int timeouts,
-                          unsigned char *abuf, int alen)
-{
-  struct addr_query *aquery = (struct addr_query *) arg;
-  struct hostent *host;
-  size_t addrlen;
-
-  aquery->timeouts += timeouts;
-  if (status == ARES_SUCCESS)
-    {
-      if (aquery->addr.family == AF_INET)
-        {
-          addrlen = sizeof(aquery->addr.addrV4);
-          status = ares_parse_ptr_reply(abuf, alen, &aquery->addr.addrV4,
-                                        (int)addrlen, AF_INET, &host);
-        }
-      else
-        {
-          addrlen = sizeof(aquery->addr.addrV6);
-          status = ares_parse_ptr_reply(abuf, alen, &aquery->addr.addrV6,
-                                        (int)addrlen, AF_INET6, &host);
-        }
-      end_aquery(aquery, status, host);
-    }
-  else if (status == ARES_EDESTRUCTION)
-    end_aquery(aquery, status, NULL);
-  else
-    next_lookup(aquery);
-}
-
-static void end_aquery(struct addr_query *aquery, int status,
-                       struct hostent *host)
-{
-  aquery->callback(aquery->arg, status, aquery->timeouts, host);
-  if (host)
-    ares_free_hostent(host);
-  free(aquery);
-}
-
-static int file_lookup(struct ares_addr *addr, struct hostent **host)
-{
-  FILE *fp;
-  int status;
-  int error;
-
-#ifdef WIN32
-  char PATH_HOSTS[MAX_PATH];
-  if (IS_NT()) {
-    char tmp[MAX_PATH];
-    HKEY hkeyHosts;
-
-    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_NS_NT_KEY, 0, KEY_READ, &hkeyHosts)
-        == ERROR_SUCCESS)
-    {
-      DWORD dwLength = MAX_PATH;
-      RegQueryValueEx(hkeyHosts, DATABASEPATH, NULL, NULL, (LPBYTE)tmp,
-                      &dwLength);
-      ExpandEnvironmentStrings(tmp, PATH_HOSTS, MAX_PATH);
-      RegCloseKey(hkeyHosts);
-    }
-  }
-  else
-    GetWindowsDirectory(PATH_HOSTS, MAX_PATH);
-
-  strcat(PATH_HOSTS, WIN_PATH_HOSTS);
-
-#elif defined(WATT32)
-  extern const char *_w32_GetHostsFile (void);
-  const char *PATH_HOSTS = _w32_GetHostsFile();
-
-  if (!PATH_HOSTS)
-    return ARES_ENOTFOUND;
-#endif
-
-  fp = fopen(PATH_HOSTS, "r");
-  if (!fp)
-    {
-      error = ERRNO;
-      switch(error)
-        {
-        case ENOENT:
-        case ESRCH:
-          return ARES_ENOTFOUND;
-        default:
-          DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n",
-                         error, strerror(error)));
-          DEBUGF(fprintf(stderr, "Error opening file: %s\n",
-                         PATH_HOSTS));
-          *host = NULL;
-          return ARES_EFILE;
-        }
-    }
-  while ((status = ares__get_hostent(fp, addr->family, host)) == ARES_SUCCESS)
-    {
-      if (addr->family != (*host)->h_addrtype)
-        {
-          ares_free_hostent(*host);
-          continue;
-        }
-      if (addr->family == AF_INET)
-        {
-          if (memcmp((*host)->h_addr, &addr->addrV4, sizeof(addr->addrV4)) == 0)
-            break;
-        }
-      else if (addr->family == AF_INET6)
-        {
-          if (memcmp((*host)->h_addr, &addr->addrV6, sizeof(addr->addrV6)) == 0)
-            break;
-        }
-      ares_free_hostent(*host);
-    }
-  fclose(fp);
-  if (status == ARES_EOF)
-    status = ARES_ENOTFOUND;
-  if (status != ARES_SUCCESS)
-    *host = NULL;
-  return status;
-}
-
-static void ptr_rr_name(char *name, const struct ares_addr *addr)
-{
-  if (addr->family == AF_INET)
-    {
-       unsigned long laddr = ntohl(addr->addrV4.s_addr);
-       int a1 = (int)((laddr >> 24) & 0xff);
-       int a2 = (int)((laddr >> 16) & 0xff);
-       int a3 = (int)((laddr >> 8) & 0xff);
-       int a4 = (int)(laddr & 0xff);
-       sprintf(name, "%d.%d.%d.%d.in-addr.arpa", a4, a3, a2, a1);
-    }
-  else
-    {
-       unsigned char *bytes = (unsigned char *)&addr->addrV6;
-       /* There are too many arguments to do this in one line using
-        * minimally C89-compliant compilers */
-       sprintf(name,
-                "%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.",
-                bytes[15]&0xf, bytes[15] >> 4, bytes[14]&0xf, bytes[14] >> 4,
-                bytes[13]&0xf, bytes[13] >> 4, bytes[12]&0xf, bytes[12] >> 4,
-                bytes[11]&0xf, bytes[11] >> 4, bytes[10]&0xf, bytes[10] >> 4,
-                bytes[9]&0xf, bytes[9] >> 4, bytes[8]&0xf, bytes[8] >> 4);
-       sprintf(name+strlen(name),
-                "%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.ip6.arpa",
-                bytes[7]&0xf, bytes[7] >> 4, bytes[6]&0xf, bytes[6] >> 4,
-                bytes[5]&0xf, bytes[5] >> 4, bytes[4]&0xf, bytes[4] >> 4,
-                bytes[3]&0xf, bytes[3] >> 4, bytes[2]&0xf, bytes[2] >> 4,
-                bytes[1]&0xf, bytes[1] >> 4, bytes[0]&0xf, bytes[0] >> 4);
-    }
-}
diff --git a/ares/ares_gethostbyname.3 b/ares/ares_gethostbyname.3
deleted file mode 100644 (file)
index c59c038..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_GETHOSTBYNAME 3 "25 July 1998"
-.SH NAME
-ares_gethostbyname \- Initiate a host query by name
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B typedef void (*ares_host_callback)(void *\fIarg\fP, int \fIstatus\fP,
-.B     int \fItimeouts\fP, struct hostent *\fIhostent\fP)
-.PP
-.B void ares_gethostbyname(ares_channel \fIchannel\fP, const char *\fIname\fP,
-.B     int \fIfamily\fP, ares_host_callback \fIcallback\fP, void *\fIarg\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_gethostbyname
-function initiates a host query by name on the name service channel
-identified by
-.IR channel .
-The parameter
-.I name
-gives the hostname as a NUL-terminated C string, and
-.I family
-gives the desired type of address for the resulting host entry.  When the
-query is complete or has failed, the ares library will invoke \fIcallback\fP.
-Completion or failure of the query may happen immediately, or may happen
-during a later call to \fIares_process(3)\fP, \fIares_destroy(3)\fP or
-\fIares_cancel(3)\fP.
-.PP
-The callback argument
-.I arg
-is copied from the
-.B ares_gethostbyname
-argument
-.IR arg .
-The callback argument
-.I status
-indicates whether the query succeeded and, if not, how it failed.  It
-may have any of the following values:
-.TP 19
-.B ARES_SUCCESS
-The host lookup completed successfully.
-.TP 19
-.B ARES_ENOTIMP
-The ares library does not know how to find addresses of type
-.IR family .
-.TP 19
-.B ARES_EBADNAME
-The hostname
-.B name
-is composed entirely of numbers and periods, but is not a valid
-representation of an Internet address.
-.TP 19
-.B ARES_ENOTFOUND
-The address
-.I addr
-was not found.
-.TP 19
-.B ARES_ENOMEM
-Memory was exhausted.
-.TP 19
-.B ARES_EDESTRUCTION
-The name service channel
-.I channel
-is being destroyed; the query will not be completed.
-.PP
-The callback argument
-.I timeouts
-reports how many times a query timed out during the execution of the
-given request.
-.PP
-On successful completion of the query, the callback argument
-.I hostent
-points to a
-.B struct hostent
-containing the name of the host returned by the query.  The callback
-need not and should not attempt to free the memory pointed to by
-.IR hostent ;
-the ares library will free it when the callback returns.  If the query
-did not complete successfully,
-.I hostent
-will be
-.BR NULL .
-.SH SEE ALSO
-.BR ares_process (3),
-.BR ares_gethostbyaddr (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_gethostbyname.c b/ares/ares_gethostbyname.c
deleted file mode 100644 (file)
index ebad670..0000000
+++ /dev/null
@@ -1,513 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#include "ares.h"
-#include "inet_net_pton.h"
-#include "bitncmp.h"
-#include "ares_private.h"
-
-#ifdef WATT32
-#undef WIN32
-#endif
-
-struct host_query {
-  /* Arguments passed to ares_gethostbyname() */
-  ares_channel channel;
-  char *name;
-  ares_host_callback callback;
-  void *arg;
-  int sent_family; /* this family is what was is being used */
-  int want_family; /* this family is what is asked for in the API */
-  const char *remaining_lookups;
-  int timeouts;
-};
-
-static void next_lookup(struct host_query *hquery, int status_code);
-static void host_callback(void *arg, int status, int timeouts,
-                          unsigned char *abuf, int alen);
-static void end_hquery(struct host_query *hquery, int status,
-                       struct hostent *host);
-static int fake_hostent(const char *name, int family,
-                        ares_host_callback callback, void *arg);
-static int file_lookup(const char *name, int family, struct hostent **host);
-static void sort_addresses(struct hostent *host,
-                           const struct apattern *sortlist, int nsort);
-static void sort6_addresses(struct hostent *host,
-                            const struct apattern *sortlist, int nsort);
-static int get_address_index(const struct in_addr *addr,
-                             const struct apattern *sortlist, int nsort);
-static int get6_address_index(const struct ares_in6_addr *addr,
-                              const struct apattern *sortlist, int nsort);
-
-void ares_gethostbyname(ares_channel channel, const char *name, int family,
-                        ares_host_callback callback, void *arg)
-{
-  struct host_query *hquery;
-
-  /* Right now we only know how to look up Internet addresses - and unspec
-     means try both basically. */
-  switch (family) {
-  case AF_INET:
-  case AF_INET6:
-  case AF_UNSPEC:
-    break;
-  default:
-    callback(arg, ARES_ENOTIMP, 0, NULL);
-    return;
-  }
-
-  if (fake_hostent(name, family, callback, arg))
-    return;
-
-  /* Allocate and fill in the host query structure. */
-  hquery = malloc(sizeof(struct host_query));
-  if (!hquery)
-    {
-      callback(arg, ARES_ENOMEM, 0, NULL);
-      return;
-    }
-  hquery->channel = channel;
-  hquery->name = strdup(name);
-  hquery->want_family = family;
-  hquery->sent_family = -1; /* nothing is sent yet */
-  if (!hquery->name) {
-    free(hquery);
-    callback(arg, ARES_ENOMEM, 0, NULL);
-    return;
-  }
-  hquery->callback = callback;
-  hquery->arg = arg;
-  hquery->remaining_lookups = channel->lookups;
-  hquery->timeouts = 0;
-
-  /* Start performing lookups according to channel->lookups. */
-  next_lookup(hquery, ARES_ECONNREFUSED /* initial error code */);
-}
-
-static void next_lookup(struct host_query *hquery, int status_code)
-{
-  const char *p;
-  struct hostent *host;
-  int status = status_code;
-
-  for (p = hquery->remaining_lookups; *p; p++)
-    {
-      switch (*p)
-        {
-        case 'b':
-          /* DNS lookup */
-          hquery->remaining_lookups = p + 1;
-          if ((hquery->want_family == AF_INET6) ||
-              (hquery->want_family == AF_UNSPEC)) {
-            /* if inet6 or unspec, start out with AAAA */
-            hquery->sent_family = AF_INET6;
-            ares_search(hquery->channel, hquery->name, C_IN, T_AAAA,
-                        host_callback, hquery);
-          }
-          else {
-            hquery->sent_family = AF_INET;
-            ares_search(hquery->channel, hquery->name, C_IN, T_A, host_callback,
-                        hquery);
-          }
-          return;
-
-        case 'f':
-          /* Host file lookup */
-          status = file_lookup(hquery->name, hquery->want_family, &host);
-
-          /* this status check below previously checked for !ARES_ENOTFOUND,
-             but we should not assume that this single error code is the one
-             that can occur, as that is in fact no longer the case */
-          if (status == ARES_SUCCESS)
-            {
-              end_hquery(hquery, status, host);
-              return;
-            }
-          status = status_code;   /* Use original status code */
-          break;
-        }
-    }
-  end_hquery(hquery, status, NULL);
-}
-
-static void host_callback(void *arg, int status, int timeouts,
-                          unsigned char *abuf, int alen)
-{
-  struct host_query *hquery = (struct host_query *) arg;
-  ares_channel channel = hquery->channel;
-  struct hostent *host = NULL;
-
-  hquery->timeouts += timeouts;
-  if (status == ARES_SUCCESS)
-    {
-      if (hquery->sent_family == AF_INET)
-        {
-          status = ares_parse_a_reply(abuf, alen, &host, NULL, NULL);
-          if (host && channel->nsort)
-            sort_addresses(host, channel->sortlist, channel->nsort);
-        }
-      else if (hquery->sent_family == AF_INET6)
-        {
-          status = ares_parse_aaaa_reply(abuf, alen, &host, NULL, NULL);
-          if (status == ARES_ENODATA || status == ARES_EBADRESP) {
-            /* The query returned something but either there were no AAAA records (e.g. just CNAME) 
-               or the response was malformed.  Try looking up A instead.  
-               We should possibly limit this attempt-next logic to AF_UNSPEC lookups only. */
-            hquery->sent_family = AF_INET;
-            ares_search(hquery->channel, hquery->name, C_IN, T_A,
-                        host_callback, hquery);
-            return;
-          }
-          if (host && channel->nsort)
-            sort6_addresses(host, channel->sortlist, channel->nsort);
-        }
-      end_hquery(hquery, status, host);
-    }
-  else if ((status == ARES_ENODATA || status == ARES_EBADRESP || status == ARES_ETIMEOUT) && hquery->sent_family == AF_INET6)
-    {
-      /* The AAAA query yielded no useful result.  Now look up an A instead.  
-         We should possibly limit this attempt-next logic to AF_UNSPEC lookups only. */
-      hquery->sent_family = AF_INET;
-      ares_search(hquery->channel, hquery->name, C_IN, T_A, host_callback,
-                  hquery);
-    }
-  else if (status == ARES_EDESTRUCTION)
-    end_hquery(hquery, status, NULL);
-  else
-    next_lookup(hquery, status);
-}
-
-static void end_hquery(struct host_query *hquery, int status,
-                       struct hostent *host)
-{
-  hquery->callback(hquery->arg, status, hquery->timeouts, host);
-  if (host)
-    ares_free_hostent(host);
-  free(hquery->name);
-  free(hquery);
-}
-
-/* If the name looks like an IP address, fake up a host entry, end the
- * query immediately, and return true.  Otherwise return false.
- */
-static int fake_hostent(const char *name, int family, ares_host_callback callback,
-                        void *arg)
-{
-  struct hostent hostent;
-  char *aliases[1] = { NULL };
-  char *addrs[2];
-  int result = 0;
-  struct in_addr in;
-  struct ares_in6_addr in6;
-
-  if (family == AF_INET || family == AF_INET6)
-    {
-      /* It only looks like an IP address if it's all numbers and dots. */
-      int numdots = 0, valid = 1;
-      const char *p;
-      for (p = name; *p; p++)
-        {
-          if (!ISDIGIT(*p) && *p != '.') {
-            valid = 0;
-            break;
-          } else if (*p == '.') {
-            numdots++;
-          }
-        }
-
-      /* if we don't have 3 dots, it is illegal
-       * (although inet_addr doesn't think so).
-       */
-      if (numdots != 3 || !valid)
-        result = 0;
-      else
-        result = ((in.s_addr = inet_addr(name)) == INADDR_NONE ? 0 : 1);
-
-      if (result)
-        family = AF_INET;
-    }
-  if (family == AF_INET6)
-    result = (ares_inet_pton(AF_INET6, name, &in6) < 1 ? 0 : 1);
-
-  if (!result)
-    return 0;
-
-  if (family == AF_INET)
-    {
-      hostent.h_length = (int)sizeof(struct in_addr);
-      addrs[0] = (char *)&in;
-    }
-  else if (family == AF_INET6)
-    {
-      hostent.h_length = (int)sizeof(struct ares_in6_addr);
-      addrs[0] = (char *)&in6;
-    }
-  /* Duplicate the name, to avoid a constness violation. */
-  hostent.h_name = strdup(name);
-  if (!hostent.h_name)
-    {
-      callback(arg, ARES_ENOMEM, 0, NULL);
-      return 1;
-    }
-
-  /* Fill in the rest of the host structure and terminate the query. */
-  addrs[1] = NULL;
-  hostent.h_aliases = aliases;
-  hostent.h_addrtype = family;
-  hostent.h_addr_list = addrs;
-  callback(arg, ARES_SUCCESS, 0, &hostent);
-
-  free((char *)(hostent.h_name));
-  return 1;
-}
-
-/* This is an API method */
-int ares_gethostbyname_file(ares_channel channel, const char *name,
-                            int family, struct hostent **host)
-{
-  int result;
-
-  /* We only take the channel to ensure that ares_init() been called. */
-  if(channel == NULL)
-    {
-      /* Anything will do, really.  This seems fine, and is consistent with
-         other error cases. */
-      *host = NULL;
-      return ARES_ENOTFOUND;
-    }
-
-  /* Just chain to the internal implementation we use here; it's exactly
-   * what we want.
-   */
-  result = file_lookup(name, family, host);
-  if(result != ARES_SUCCESS)
-    {
-      /* We guarantee a NULL hostent on failure. */
-      *host = NULL;
-    }
-  return result;
-}
-
-static int file_lookup(const char *name, int family, struct hostent **host)
-{
-  FILE *fp;
-  char **alias;
-  int status;
-  int error;
-
-#ifdef WIN32
-  char PATH_HOSTS[MAX_PATH];
-  if (IS_NT()) {
-    char tmp[MAX_PATH];
-    HKEY hkeyHosts;
-
-    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_NS_NT_KEY, 0, KEY_READ, &hkeyHosts)
-        == ERROR_SUCCESS)
-    {
-      DWORD dwLength = MAX_PATH;
-      RegQueryValueEx(hkeyHosts, DATABASEPATH, NULL, NULL, (LPBYTE)tmp,
-                      &dwLength);
-      ExpandEnvironmentStrings(tmp, PATH_HOSTS, MAX_PATH);
-      RegCloseKey(hkeyHosts);
-    }
-  }
-  else
-    GetWindowsDirectory(PATH_HOSTS, MAX_PATH);
-
-  strcat(PATH_HOSTS, WIN_PATH_HOSTS);
-
-#elif defined(WATT32)
-  extern const char *_w32_GetHostsFile (void);
-  const char *PATH_HOSTS = _w32_GetHostsFile();
-
-  if (!PATH_HOSTS)
-    return ARES_ENOTFOUND;
-#endif
-
-  fp = fopen(PATH_HOSTS, "r");
-  if (!fp)
-    {
-      error = ERRNO;
-      switch(error)
-        {
-        case ENOENT:
-        case ESRCH:
-          return ARES_ENOTFOUND;
-        default:
-          DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n",
-                         error, strerror(error)));
-          DEBUGF(fprintf(stderr, "Error opening file: %s\n",
-                         PATH_HOSTS));
-          *host = NULL;
-          return ARES_EFILE;
-        }
-    }
-  while ((status = ares__get_hostent(fp, family, host)) == ARES_SUCCESS)
-    {
-      if (strcasecmp((*host)->h_name, name) == 0)
-        break;
-      for (alias = (*host)->h_aliases; *alias; alias++)
-        {
-          if (strcasecmp(*alias, name) == 0)
-            break;
-        }
-      if (*alias)
-        break;
-      ares_free_hostent(*host);
-    }
-  fclose(fp);
-  if (status == ARES_EOF)
-    status = ARES_ENOTFOUND;
-  if (status != ARES_SUCCESS)
-    *host = NULL;
-  return status;
-}
-
-static void sort_addresses(struct hostent *host, const struct apattern *sortlist,
-                           int nsort)
-{
-  struct in_addr a1, a2;
-  int i1, i2, ind1, ind2;
-
-  /* This is a simple insertion sort, not optimized at all.  i1 walks
-   * through the address list, with the loop invariant that everything
-   * to the left of i1 is sorted.  In the loop body, the value at i1 is moved
-   * back through the list (via i2) until it is in sorted order.
-   */
-  for (i1 = 0; host->h_addr_list[i1]; i1++)
-    {
-      memcpy(&a1, host->h_addr_list[i1], sizeof(struct in_addr));
-      ind1 = get_address_index(&a1, sortlist, nsort);
-      for (i2 = i1 - 1; i2 >= 0; i2--)
-        {
-          memcpy(&a2, host->h_addr_list[i2], sizeof(struct in_addr));
-          ind2 = get_address_index(&a2, sortlist, nsort);
-          if (ind2 <= ind1)
-            break;
-          memcpy(host->h_addr_list[i2 + 1], &a2, sizeof(struct in_addr));
-        }
-      memcpy(host->h_addr_list[i2 + 1], &a1, sizeof(struct in_addr));
-    }
-}
-
-/* Find the first entry in sortlist which matches addr.  Return nsort
- * if none of them match.
- */
-static int get_address_index(const struct in_addr *addr,
-                             const struct apattern *sortlist,
-                             int nsort)
-{
-  int i;
-
-  for (i = 0; i < nsort; i++)
-    {
-      if (sortlist[i].family != AF_INET)
-        continue;
-      if (sortlist[i].type == PATTERN_MASK)
-        {
-          if ((addr->s_addr & sortlist[i].mask.addr4.s_addr)
-              == sortlist[i].addrV4.s_addr)
-            break;
-        }
-      else
-        {
-          if (!ares_bitncmp(&addr->s_addr, &sortlist[i].addrV4.s_addr,
-                            sortlist[i].mask.bits))
-            break;
-        }
-    }
-  return i;
-}
-
-static void sort6_addresses(struct hostent *host, const struct apattern *sortlist,
-                           int nsort)
-{
-  struct ares_in6_addr a1, a2;
-  int i1, i2, ind1, ind2;
-
-  /* This is a simple insertion sort, not optimized at all.  i1 walks
-   * through the address list, with the loop invariant that everything
-   * to the left of i1 is sorted.  In the loop body, the value at i1 is moved
-   * back through the list (via i2) until it is in sorted order.
-   */
-  for (i1 = 0; host->h_addr_list[i1]; i1++)
-    {
-      memcpy(&a1, host->h_addr_list[i1], sizeof(struct ares_in6_addr));
-      ind1 = get6_address_index(&a1, sortlist, nsort);
-      for (i2 = i1 - 1; i2 >= 0; i2--)
-        {
-          memcpy(&a2, host->h_addr_list[i2], sizeof(struct ares_in6_addr));
-          ind2 = get6_address_index(&a2, sortlist, nsort);
-          if (ind2 <= ind1)
-            break;
-          memcpy(host->h_addr_list[i2 + 1], &a2, sizeof(struct ares_in6_addr));
-        }
-      memcpy(host->h_addr_list[i2 + 1], &a1, sizeof(struct ares_in6_addr));
-    }
-}
-
-/* Find the first entry in sortlist which matches addr.  Return nsort
- * if none of them match.
- */
-static int get6_address_index(const struct ares_in6_addr *addr,
-                              const struct apattern *sortlist,
-                              int nsort)
-{
-  int i;
-
-  for (i = 0; i < nsort; i++)
-    {
-      if (sortlist[i].family != AF_INET6)
-        continue;
-        if (!ares_bitncmp(addr,
-                          &sortlist[i].addrV6,
-                          sortlist[i].mask.bits))
-          break;
-    }
-  return i;
-}
diff --git a/ares/ares_gethostbyname_file.3 b/ares/ares_gethostbyname_file.3
deleted file mode 100644 (file)
index 8d1d7e8..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_GETHOSTBYNAME 3 "25 July 1998"
-.SH NAME
-ares_gethostbyname_file \- Lookup a name in the system's hosts file
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_gethostbyname_file(ares_channel \fIchannel\fP, const char *\fIname\fP,
-.B     int \fIfamily\fP, struct hostent **host)
-.fi
-.SH DESCRIPTION
-The
-.B ares_gethostbyname_file
-function performs a host lookup by name against the system's hosts file (or equivalent local hostname database).  
-The
-.IR channel
-parameter is required, but no asynchronous queries are performed.  Instead, the
-lookup is done via the same mechanism used to perform 'f' lookups
-(see the
-.I lookups
-options field in \fIares_init_options(3)\fP).
-The parameter
-.I name
-gives the hostname as a NUL-terminated C string, and
-.I family
-gives the desired type of address for the resulting host entry.  
-.PP
-The return value indicates whether the query succeeded and, if not, how it
-failed.  It may have any of the following values:
-.TP 19
-.B ARES_SUCCESS
-The host lookup completed successfully and 
-.I host
-now points to the result (and must be freed with \fIares_free_hostent(3)\fP).
-.TP 19
-.B ARES_ENOTFOUND
-The hostname
-.I name
-was not found.
-.TP 19
-.B ARES_EFILE
-There was a file I/O error while performing the lookup.
-.TP 19
-.B ARES_ENOMEM
-Memory was exhausted.
-.PP
-On successful completion of the query, the pointer pointed to by
-.I host
-points to a
-.B struct hostent
-containing the address of the host returned by the lookup.  The user must
-free the memory pointed to by
-.IR host
-when finished with it by calling \fIares_free_hostent(3)\fP.  If the lookup did
-not complete successfully, 
-.I host
-will be
-.BR NULL .
-.SH AVAILABILITY
-Added in c-ares 1.5.4
-.SH SEE ALSO
-.BR ares_gethostbyname (3),
-.BR ares_free_hostent (3),
-.BR ares_init_options (3)
-.SH AUTHOR
-Brad Spencer
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_getnameinfo.3 b/ares/ares_getnameinfo.3
deleted file mode 100644 (file)
index f0909cc..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 2005 by Dominick Meglio.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_GETNAMEINFO 3 "1 May 2009"
-.SH NAME
-ares_getnameinfo \- Address-to-nodename translation in protocol-independent manner
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B typedef void (*ares_nameinfo_callback)(void *\fIarg\fP, int \fIstatus\fP,
-.B     int \fItimeouts\fP, char *\fInode\fP, char *\fIservice\fP)
-.PP
-.B void ares_getnameinfo(ares_channel \fIchannel\fP, const struct sockaddr *\fIsa\fP,
-.B     ares_socklen_t \fIsalen\fP, int \fIflags\fP, ares_nameinfo_callback \fIcallback\fP,
-.B     void *\fIarg\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_getnameinfo
-function is defined for protocol-independent address translation. The function
-is a combination of \fIares_gethostbyaddr(3)\fP and \fIgetservbyport(3)\fP. The function will
-translate the address either by executing a host query on the name service channel
-identified by
-.IR channel 
-or it will attempt to resolve it locally if possible.
-The parameters
-.I sa
-and
-.I len
-give the address as a sockaddr structure, and
-.I flags
-gives the options that the function will use.  Valid flags are listed below:
-.TP 19
-.B ARES_NI_NOFQDN
-Only the nodename portion of the FQDN is returned for local hosts.
-.TP 19
-.B ARES_NI_NUMERICHOST
-The numeric form of the hostname is returned rather than the name.
-.TP 19
-.B ARES_NI_NAMEREQD
-An error is returned if the hostname cannot be found in the DNS.
-.TP 19
-.B ARES_NI_NUMERICSERV
-The numeric form of the service is returned rather than the name.
-.TP 19
-.B ARES_NI_TCP
-The service name is to be looked up for the TCP protocol.
-.TP 19
-.B ARES_NI_UDP
-The service name is to be looked up for the UDP protocol.
-.TP 19
-.B ARES_NI_SCTP
-The service name is to be looked up for the SCTP protocol.
-.TP 19
-.B ARES_NI_DCCP
-The service name is to be looked up for the DCCP protocol.
-.TP 19
-.B ARES_NI_NUMERICSCOPE
-The numeric form of the scope ID is returned rather than the name.
-.TP 19
-.B ARES_NI_LOOKUPHOST
-A hostname lookup is being requested.
-.TP 19
-.B ARES_NI_LOOKUPSERVICE
-A service name lookup is being requested.
-.PP
-When the query
-is complete or has 
-failed, the ares library will invoke \fIcallback\fP.  Completion or failure of 
-the query may happen immediately, or may happen during a later call to
-\fIares_process(3)\fP, \fIares_destroy(3)\fP or \fIares_cancel(3)\fP.
-.PP
-The callback argument
-.I arg
-is copied from the
-.B ares_getnameinfo
-argument
-.IR arg .
-The callback argument
-.I status
-indicates whether the query succeeded and, if not, how it failed.  It
-may have any of the following values:
-.TP 19
-.B ARES_SUCCESS
-The host lookup completed successfully.
-.TP 19
-.B ARES_ENOTIMP
-The ares library does not know how to look up addresses of type
-.IR family .
-.TP 19
-.B ARES_ENOTFOUND
-The address
-.I addr
-was not found.
-.TP 19
-.B ARES_ENOMEM
-Memory was exhausted.
-.TP 19
-.B ARES_EDESTRUCTION
-The name service channel
-.I channel
-is being destroyed; the query will not be completed.
-.TP 19
-.B ARES_EBADFLAGS
-The
-.I flags
-parameter contains an illegal value.
-.PP
-The callback argument
-.I timeouts
-reports how many times a query timed out during the execution of the
-given request.
-.PP
-On successful completion of the query, the callback argument
-.I node
-contains a string representing the hostname (assuming 
-.B ARES_NI_LOOKUPHOST
-was specified). Additionally, 
-.I service
-contains a string representing the service name (assuming
-.B ARES_NI_LOOKUPSERVICE
-was specified).
-If the query did not complete successfully, or one of the values
-was not requested, 
-.I node
-or
-.I service
-will be 
-.BR NULL .
-.SH SEE ALSO
-.BR ares_process (3),
-.BR ares_getaddrinfo (3)
-.SH AUTHOR
-Dominick Meglio
-.br
-Copyright 2005 by Dominick Meglio.
diff --git a/ares/ares_getnameinfo.c b/ares/ares_getnameinfo.c
deleted file mode 100644 (file)
index 77752df..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-/* $Id$ */
-
-/* Copyright 2005 by Dominick Meglio
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-#include "ares_setup.h"
-
-#ifdef HAVE_GETSERVBYPORT_R
-#  if !defined(GETSERVBYPORT_R_ARGS) || \
-     (GETSERVBYPORT_R_ARGS < 4) || (GETSERVBYPORT_R_ARGS > 6)
-#    error "you MUST specifiy a valid number of arguments for getservbyport_r"
-#  endif
-#endif
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "ares.h"
-#include "ares_ipv6.h"
-#include "inet_ntop.h"
-#include "ares_private.h"
-
-struct nameinfo_query {
-  ares_nameinfo_callback callback;
-  void *arg;
-  union {
-    struct sockaddr_in addr4;
-    struct sockaddr_in6 addr6;
-  } addr;
-  int family;
-  int flags;
-  int timeouts;
-};
-
-#ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-#define IPBUFSIZ \
-        (sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255") + IF_NAMESIZE)
-#else
-#define IPBUFSIZ \
-        (sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"))
-#endif
-
-static void nameinfo_callback(void *arg, int status, int timeouts, struct hostent *host);
-static char *lookup_service(unsigned short port, int flags,
-                            char *buf, size_t buflen);
-#ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-static void append_scopeid(struct sockaddr_in6 *addr6, unsigned int scopeid,
-                           char *buf, size_t buflen);
-#endif
-static char *ares_striendstr(const char *s1, const char *s2);
-
-void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa,
-                      ares_socklen_t salen,
-                      int flags, ares_nameinfo_callback callback, void *arg)
-{
-  struct sockaddr_in *addr = NULL;
-  struct sockaddr_in6 *addr6 = NULL;
-  struct nameinfo_query *niquery;
-  unsigned int port = 0;
-
-  /* Verify the buffer size */
-  if (salen == sizeof(struct sockaddr_in))
-    {
-      addr = (struct sockaddr_in *)sa;
-      port = addr->sin_port;
-    }
-  else if (salen == sizeof(struct sockaddr_in6))
-    {
-      addr6 = (struct sockaddr_in6 *)sa;
-      port = addr6->sin6_port;
-    }
-  else
-    {
-      callback(arg, ARES_ENOTIMP, 0, NULL, NULL);
-      return;
-    }
-
-  /* If neither, assume they want a host */
-  if (!(flags & ARES_NI_LOOKUPSERVICE) && !(flags & ARES_NI_LOOKUPHOST))
-    flags |= ARES_NI_LOOKUPHOST;
-
-  /* All they want is a service, no need for DNS */
-  if ((flags & ARES_NI_LOOKUPSERVICE) && !(flags & ARES_NI_LOOKUPHOST))
-    {
-      char buf[33], *service;
-
-      service = lookup_service((unsigned short)(port & 0xffff),
-                               flags, buf, sizeof(buf));
-      callback(arg, ARES_SUCCESS, 0, NULL, service);
-      return;
-    }
-
-  /* They want a host lookup */
-  if ((flags & ARES_NI_LOOKUPHOST))
-    {
-     /* A numeric host can be handled without DNS */
-     if ((flags & ARES_NI_NUMERICHOST))
-      {
-        char ipbuf[IPBUFSIZ];
-        char srvbuf[33];
-        char *service = NULL;
-        ipbuf[0] = 0;
-
-        /* Specifying not to lookup a host, but then saying a host
-         * is required has to be illegal.
-         */
-        if (flags & ARES_NI_NAMEREQD)
-          {
-            callback(arg, ARES_EBADFLAGS, 0, NULL, NULL);
-            return;
-          }
-        if (salen == sizeof(struct sockaddr_in6))
-          {
-            ares_inet_ntop(AF_INET6, &addr6->sin6_addr, ipbuf, IPBUFSIZ);
-            /* If the system supports scope IDs, use it */
-#ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-            append_scopeid(addr6, flags, ipbuf, sizeof(ipbuf));
-#endif
-          }
-        else
-          {
-            ares_inet_ntop(AF_INET, &addr->sin_addr, ipbuf, IPBUFSIZ);
-          }
-        /* They also want a service */
-        if (flags & ARES_NI_LOOKUPSERVICE)
-          service = lookup_service((unsigned short)(port & 0xffff),
-                                   flags, srvbuf, sizeof(srvbuf));
-        callback(arg, ARES_SUCCESS, 0, ipbuf, service);
-        return;
-      }
-    /* This is where a DNS lookup becomes necessary */
-    else
-      {
-        niquery = malloc(sizeof(struct nameinfo_query));
-        if (!niquery)
-          {
-            callback(arg, ARES_ENOMEM, 0, NULL, NULL);
-            return;
-          }
-        niquery->callback = callback;
-        niquery->arg = arg;
-        niquery->flags = flags;
-        niquery->timeouts = 0;
-        if (sa->sa_family == AF_INET)
-          {
-            niquery->family = AF_INET;
-            memcpy(&niquery->addr.addr4, addr, sizeof(addr));
-            ares_gethostbyaddr(channel, &addr->sin_addr,
-                               sizeof(struct in_addr), AF_INET,
-                               nameinfo_callback, niquery);
-          }
-        else
-          {
-            niquery->family = AF_INET6;
-            memcpy(&niquery->addr.addr6, addr6, sizeof(addr6));
-            ares_gethostbyaddr(channel, &addr6->sin6_addr,
-                               sizeof(struct ares_in6_addr), AF_INET6,
-                               nameinfo_callback, niquery);
-          }
-      }
-    }
-}
-
-static void nameinfo_callback(void *arg, int status, int timeouts, struct hostent *host)
-{
-  struct nameinfo_query *niquery = (struct nameinfo_query *) arg;
-  char srvbuf[33];
-  char *service = NULL;
-
-  niquery->timeouts += timeouts;
-  if (status == ARES_SUCCESS)
-    {
-      /* They want a service too */
-      if (niquery->flags & ARES_NI_LOOKUPSERVICE)
-        {
-          if (niquery->family == AF_INET)
-            service = lookup_service(niquery->addr.addr4.sin_port,
-                                     niquery->flags, srvbuf, sizeof(srvbuf));
-          else
-            service = lookup_service(niquery->addr.addr6.sin6_port,
-                                     niquery->flags, srvbuf, sizeof(srvbuf));
-        }
-      /* NOFQDN means we have to strip off the domain name portion.
-         We do this by determining our own domain name, then searching the string
-         for this domain name and removing it.
-       */
-#ifdef HAVE_GETHOSTNAME
-      if (niquery->flags & ARES_NI_NOFQDN)
-        {
-           char buf[255];
-           char *domain;
-           gethostname(buf, 255);
-           if ((domain = strchr(buf, '.')))
-             {
-               char *end = ares_striendstr(host->h_name, domain);
-               if (end)
-                 *end = 0;
-             }
-        }
-#endif
-      niquery->callback(niquery->arg, ARES_SUCCESS, niquery->timeouts, (char *)(host->h_name),
-                        service);
-      return;
-    }
-  /* We couldn't find the host, but it's OK, we can use the IP */
-  else if (status == ARES_ENOTFOUND && !(niquery->flags & ARES_NI_NAMEREQD))
-    {
-      char ipbuf[IPBUFSIZ];
-      if (niquery->family == AF_INET)
-        ares_inet_ntop(AF_INET, &niquery->addr.addr4.sin_addr, ipbuf, IPBUFSIZ);
-      else
-        {
-          ares_inet_ntop(AF_INET6, &niquery->addr.addr6.sin6_addr, ipbuf, IPBUFSIZ);
-#ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-          append_scopeid(&niquery->addr.addr6, niquery->flags, ipbuf, sizeof(ipbuf));
-#endif
-        }
-      /* They want a service too */
-      if (niquery->flags & ARES_NI_LOOKUPSERVICE)
-        {
-          if (niquery->family == AF_INET)
-            service = lookup_service(niquery->addr.addr4.sin_port,
-                                     niquery->flags, srvbuf, sizeof(srvbuf));
-          else
-            service = lookup_service(niquery->addr.addr6.sin6_port,
-                                     niquery->flags, srvbuf, sizeof(srvbuf));
-        }
-      niquery->callback(niquery->arg, ARES_SUCCESS, niquery->timeouts, ipbuf, service);
-      return;
-    }
-  niquery->callback(niquery->arg, status, niquery->timeouts, NULL, NULL);
-  free(niquery);
-}
-
-static char *lookup_service(unsigned short port, int flags,
-                            char *buf, size_t buflen)
-{
-  const char *proto;
-  struct servent *sep;
-#ifdef HAVE_GETSERVBYPORT_R
-  struct servent se;
-#endif
-  char tmpbuf[4096];
-
-  if (port)
-    {
-      if (flags & ARES_NI_NUMERICSERV)
-        sep = NULL;
-      else
-        {
-          if (flags & ARES_NI_UDP)
-            proto = "udp";
-          else if (flags & ARES_NI_SCTP)
-            proto = "sctp";
-          else if (flags & ARES_NI_DCCP)
-            proto = "dccp";
-          else
-            proto = "tcp";
-#ifdef HAVE_GETSERVBYPORT_R
-          sep = &se;
-          memset(tmpbuf, 0, sizeof(tmpbuf));
-#if GETSERVBYPORT_R_ARGS == 6
-          if (getservbyport_r(port, proto, &se, (void *)tmpbuf, sizeof(tmpbuf), &sep) != 0)
-            sep = NULL;
-#elif GETSERVBYPORT_R_ARGS == 5
-          sep = getservbyport_r(port, proto, &se, (void *)tmpbuf, sizeof(tmpbuf));
-#elif GETSERVBYPORT_R_ARGS == 4
-          if (getservbyport_r(port, proto, &se, (void *)tmpbuf) != 0)
-            sep = NULL;
-#else
-          /* Lets just hope the OS uses TLS! */
-          sep = getservbyport(port, proto);
-#endif
-#else
-          /* Lets just hope the OS uses TLS! */
-#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
-          sep = getservbyport(port, (char*)proto);
-#else
-          sep = getservbyport(port, proto);
-#endif
-#endif
-        }
-      if (sep && sep->s_name)
-        /* get service name */
-        strcpy(tmpbuf, sep->s_name);
-      else
-        /* get port as a string */
-        sprintf(tmpbuf, "%u", (unsigned int)ntohs(port));
-      if (strlen(tmpbuf) < buflen)
-        /* return it if buffer big enough */
-        strcpy(buf, tmpbuf);
-      else
-        /* avoid reusing previous one */
-        buf[0] = '\0';
-      return buf;
-    }
-  buf[0] = '\0';
-  return NULL;
-}
-
-#ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-static void append_scopeid(struct sockaddr_in6 *addr6, unsigned int flags,
-                           char *buf, size_t buflen)
-{
-#ifdef HAVE_IF_INDEXTONAME
-  int is_ll, is_mcll;
-#endif
-  char fmt_u[] = "%u";
-  char fmt_lu[] = "%lu";
-  char tmpbuf[IF_NAMESIZE + 2];
-  size_t bufl;
-  char *fmt = (sizeof(addr6->sin6_scope_id) > sizeof(unsigned int))?fmt_lu:fmt_u;
-
-  tmpbuf[0] = '%';
-
-#ifdef HAVE_IF_INDEXTONAME
-  is_ll = IN6_IS_ADDR_LINKLOCAL(&addr6->sin6_addr);
-  is_mcll = IN6_IS_ADDR_MC_LINKLOCAL(&addr6->sin6_addr);
-  if ((flags & ARES_NI_NUMERICSCOPE) ||
-      (!is_ll && !is_mcll))
-    {
-       sprintf(&tmpbuf[1], fmt, addr6->sin6_scope_id);
-    }
-  else
-    {
-      if (if_indextoname(addr6->sin6_scope_id, &tmpbuf[1]) == NULL)
-        sprintf(&tmpbuf[1], fmt, addr6->sin6_scope_id);
-    }
-#else
-  sprintf(&tmpbuf[1], fmt, addr6->sin6_scope_id);
-  (void) flags;
-#endif
-  tmpbuf[IF_NAMESIZE + 1] = '\0';
-  bufl = strlen(buf);
-
-  if(bufl + strlen(tmpbuf) < buflen)
-    /* only append the scopeid string if it fits in the target buffer */
-    strcpy(&buf[bufl], tmpbuf);
-}
-#endif
-
-/* Determines if s1 ends with the string in s2 (case-insensitive) */
-static char *ares_striendstr(const char *s1, const char *s2)
-{
-  const char *c1, *c2, *c1_begin;
-  int lo1, lo2;
-  size_t s1_len = strlen(s1), s2_len = strlen(s2);
-
-  /* If the substr is longer than the full str, it can't match */
-  if (s2_len > s1_len)
-    return NULL;
-
-  /* Jump to the end of s1 minus the length of s2 */
-  c1_begin = s1+s1_len-s2_len;
-  c1 = (const char *)c1_begin;
-  c2 = s2;
-  while (c2 < s2+s2_len)
-    {
-      lo1 = tolower(*c1);
-      lo2 = tolower(*c2);
-      if (lo1 != lo2)
-        return NULL;
-      else
-        {
-          c1++;
-          c2++;
-        }
-    }
-  if (c2 == c1 && c2 == NULL)
-    return (char *)c1_begin;
-  return NULL;
-}
diff --git a/ares/ares_getopt.c b/ares/ares_getopt.c
deleted file mode 100644 (file)
index b3cbb01..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Original file name getopt.c  Initial import into the c-ares source tree
- * on 2007-04-11.  Lifted from version 5.2 of the 'Open Mash' project with
- * the modified BSD license, BSD license without the advertising clause.
- *
- * $Id$
- */
-
-/*
- * getopt.c --
- *
- *      Standard UNIX getopt function.  Code is from BSD.
- *
- * Copyright (c) 1987-2001 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * A. Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * B. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * C. Neither the names of the copyright holders nor the names of its
- *    contributors may be used to endorse or promote products derived from this
- *    software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
- * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* #if !defined(lint)
- * static char sccsid[] = "@(#)getopt.c 8.2 (Berkeley) 4/2/94";
- * #endif
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "ares_getopt.h"
-
-int   opterr = 1,     /* if error message should be printed */
-      optind = 1;     /* index into parent argv vector */
-int   optopt = 0;     /* character checked for validity */
-static int optreset;  /* reset getopt */
-char  *optarg;        /* argument associated with option */
-
-#define  BADCH   (int)'?'
-#define  BADARG  (int)':'
-#define  EMSG    (char *)""
-
-/*
- * ares_getopt --
- *    Parse argc/argv argument vector.
- */
-int
-ares_getopt(int nargc, char * const nargv[], const char *ostr)
-{
-    static char *place = EMSG;                /* option letter processing */
-    char *oli;                                /* option letter list index */
-
-    if (optreset || !*place) {                /* update scanning pointer */
-        optreset = 0;
-        if (optind >= nargc || *(place = nargv[optind]) != '-') {
-            place = EMSG;
-            return (EOF);
-        }
-        if (place[1] && *++place == '-') {    /* found "--" */
-            ++optind;
-            place = EMSG;
-            return (EOF);
-        }
-    }                                         /* option letter okay? */
-    if ((optopt = (int)*place++) == (int)':' ||
-        (oli = strchr(ostr, optopt)) == NULL) {
-        /*
-         * if the user didn't specify '-' as an option,
-         * assume it means EOF.
-         */
-        if (optopt == (int)'-')
-            return (EOF);
-        if (!*place)
-            ++optind;
-        if (opterr && *ostr != ':')
-            (void)fprintf(stderr,
-                "%s: illegal option -- %c\n", __FILE__, optopt);
-        return (BADCH);
-    }
-    if (*++oli != ':') {                      /* don't need argument */
-        optarg = NULL;
-        if (!*place)
-            ++optind;
-    }
-    else {                                    /* need an argument */
-        if (*place)                           /* no white space */
-            optarg = place;
-        else if (nargc <= ++optind) {         /* no arg */
-            place = EMSG;
-            if (*ostr == ':')
-                return (BADARG);
-            if (opterr)
-                (void)fprintf(stderr,
-                    "%s: option requires an argument -- %c\n",
-                    __FILE__, optopt);
-            return (BADCH);
-        }
-         else                                 /* white space */
-            optarg = nargv[optind];
-        place = EMSG;
-        ++optind;
-    }
-    return (optopt);                          /* dump back option letter */
-}
diff --git a/ares/ares_getopt.h b/ares/ares_getopt.h
deleted file mode 100644 (file)
index 63acb3b..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef ARES_GETOPT_H
-#define ARES_GETOPT_H
-
-/*
- * Copyright (c) 1987-2001 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * A. Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * B. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * C. Neither the names of the copyright holders nor the names of its
- *    contributors may be used to endorse or promote products derived from this
- *    software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
- * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-int ares_getopt(int nargc, char * const nargv[], const char *ostr);
-
-#undef optarg
-#undef optind
-#undef opterr
-#undef optopt
-#undef optreset
-
-#define optarg   ares_optarg
-#define optind   ares_optind
-#define opterr   ares_opterr
-#define optopt   ares_optopt
-#define optreset ares_optreset
-
-extern char *optarg;
-extern int optind;
-extern int opterr;
-extern int optopt;
-
-#endif /* ARES_GETOPT_H */
diff --git a/ares/ares_getsock.3 b/ares/ares_getsock.3
deleted file mode 100644 (file)
index ef07fb9..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_GETSOCK 3 "11 March 2010"
-.SH NAME
-ares_getsock \- get socket descriptors to wait on
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_getsock(ares_channel \fIchannel\fP, ares_socket_t *\fIsocks\fP,
-.B int \fInumsocks\fP);
-.fi
-.SH DESCRIPTION
-The
-.B ares_getsock
-function retrieves the set of socket descriptors which the calling
-application should wait on for reading and/or writing for the
-processing of name service queries pending on the name service channel
-identified by
-.IR channel .
-Socket descriptors will be set in the socket descriptor array pointed to by
-\fIsocks\fP.
-\fInumsocks\fP is the size of the given array in number of ints.
-
-This function can only return information about up to 16 sockets. If more are
-in use (however unlikely that is), they are simply not reported back.
-.SH RETURN VALUES
-\fBares_getsock\fP returns a bitmask for what actions to wait for on the
-different sockets. The ares.h header file provides these convenience macros to
-extract the information appropriately:
-
-.nf
-#define ARES_GETSOCK_MAXNUM 16 /* ares_getsock() can return info about
-                                  this many sockets */
-#define ARES_GETSOCK_READABLE(bits,num) (bits & (1<< (num)))
-#define ARES_GETSOCK_WRITABLE(bits,num) (bits & (1 << ((num) + \
-                                         ARES_GETSOCK_MAXNUM)))
-.fi
-.SH NOTES
-This function was added in c-ares 1.3.1
-.SH SEE ALSO
-.BR ares_timeout (3),
-.BR ares_fds (3),
-.BR ares_process (3)
diff --git a/ares/ares_getsock.c b/ares/ares_getsock.c
deleted file mode 100644 (file)
index 52aaecd..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* $Id$ */
-
-/* Copyright (C) 2005 - 2010, Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#include "ares.h"
-#include "ares_private.h"
-
-int ares_getsock(ares_channel channel,
-                 ares_socket_t *socks,
-                 int numsocks) /* size of the 'socks' array */
-{
-  struct server_state *server;
-  int i;
-  int sockindex=0;
-  int bitmap = 0;
-  unsigned int setbits = 0xffffffff;
-
-  /* Are there any active queries? */
-  int active_queries = !ares__is_list_empty(&(channel->all_queries));
-
-  for (i = 0;
-       (i < channel->nservers) && (sockindex < ARES_GETSOCK_MAXNUM);
-       i++)
-    {
-      server = &channel->servers[i];
-      /* We only need to register interest in UDP sockets if we have
-       * outstanding queries.
-       */
-      if (active_queries && server->udp_socket != ARES_SOCKET_BAD)
-        {
-          if(sockindex >= numsocks)
-            break;
-          socks[sockindex] = server->udp_socket;
-          bitmap |= ARES_GETSOCK_READABLE(setbits, sockindex);
-          sockindex++;
-        }
-      /* We always register for TCP events, because we want to know
-       * when the other side closes the connection, so we don't waste
-       * time trying to use a broken connection.
-       */
-      if (server->tcp_socket != ARES_SOCKET_BAD)
-       {
-         if(sockindex >= numsocks)
-           break;
-         socks[sockindex] = server->tcp_socket;
-         bitmap |= ARES_GETSOCK_READABLE(setbits, sockindex);
-
-         if (server->qhead && active_queries)
-           /* then the tcp socket is also writable! */
-           bitmap |= ARES_GETSOCK_WRITABLE(setbits, sockindex);
-
-         sockindex++;
-       }
-    }
-  return bitmap;
-}
diff --git a/ares/ares_init.3 b/ares/ares_init.3
deleted file mode 100644 (file)
index e240651..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\" Copyright (C) 2004-2010 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_INIT 3 "5 March 2010"
-.SH NAME
-ares_init, ares_init_options \- Initialize a resolver channel
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_init(ares_channel *\fIchannelptr\fP)
-.B int ares_init_options(ares_channel *\fIchannelptr\fP,
-.B     struct ares_options *\fIoptions\fP, int \fIoptmask\fP)
-.PP
-.B cc file.c -lcares
-.fi
-.SH DESCRIPTION
-The \fBares_init\fP function initializes a communications channel for name
-service lookups.  If it returns successfully, \fBares_init\fP will set the
-variable pointed to by \fIchannelptr\fP to a handle used to identify the name
-service channel.  The caller should invoke
-.BR ares_destroy (3)
-on the handle when the channel is no longer needed.
-.PP
-The \fBares_init_options\fP function also initializes a name service channel,
-with additional options useful for applications requiring more control over
-name service configuration. The \fIoptmask\fP parameter specifies which fields
-in the structure pointed to by \fIoptions\fP are set, as follows:
-.TP 18
-.B ARES_OPT_FLAGS
-.B int \fIflags\fP;
-.br
-Flags controlling the behavior of the resolver.  See below for a
-description of possible flag values.
-.TP 18
-.B ARES_OPT_TIMEOUT
-.B int \fItimeout\fP;
-.br
-The number of seconds each name server is given to respond to a query on the
-first try.  (After the first try, the timeout algorithm becomes more
-complicated, but scales linearly with the value of \fItimeout\fP.)  The
-default is five seconds. This option is being deprecated by
-\fIARES_OPT_TIMEOUTMS\fP starting in c-ares 1.5.2.
-.TP 18
-.B ARES_OPT_TIMEOUTMS
-.B int \fItimeout\fP;
-.br
-The number of milliseconds each name server is given to respond to a query on
-the first try.  (After the first try, the timeout algorithm becomes more
-complicated, but scales linearly with the value of \fItimeout\fP.)  The
-default is five seconds. Note that this option is specified with the same
-struct field as the former \fIARES_OPT_TIMEOUT\fP, it is but the option bits
-that tell c-ares how to interpret the number. This option was added in c-ares
-1.5.2.
-.TP 18
-.B ARES_OPT_TRIES
-.B int \fItries\fP;
-.br
-The number of tries the resolver will try contacting each name server
-before giving up.  The default is four tries.
-.TP 18
-.B ARES_OPT_NDOTS
-.B int \fIndots\fP;
-.br
-The number of dots which must be present in a domain name for it to be
-queried for "as is" prior to querying for it with the default domain
-extensions appended.  The default value is 1 unless set otherwise by
-resolv.conf or the RES_OPTIONS environment variable.
-.TP 18
-.B ARES_OPT_PORT
-.B unsigned short \fIport\fP;
-.br
-The port to use for queries (both TCP and UDP), in network byte order.
-The default value is 53 (in network byte order), the standard name
-service port.
-.TP 18
-.B ARES_OPT_SERVERS
-.B struct in_addr *\fIservers\fP;
-.br
-.B int \fInservers\fP;
-.br
-The list of IPv4 servers to contact, instead of the servers specified in
-resolv.conf or the local named. In order to allow specification of either
-IPv4 or IPv6 name servers, function
-.BR ares_set_servers(3)
-must be used instead.
-.TP 18
-.B ARES_OPT_DOMAINS
-.B char **\fIdomains\fP;
-.br
-.B int \fIndomains\fP;
-.br
-The domains to search, instead of the domains specified in resolv.conf
-or the domain derived from the kernel hostname variable.
-.TP 18
-.B ARES_OPT_LOOKUPS
-.B char *\fIlookups\fP;
-.br
-The lookups to perform for host queries.  
-.I lookups
-should be set to a string of the characters "b" or "f", where "b"
-indicates a DNS lookup and "f" indicates a lookup in the hosts file.
-.TP 18
-.B ARES_OPT_SOCK_STATE_CB
-.B void (*\fIsock_state_cb\fP)(void *data, int s, int read, int write);
-.br
-.B void *\fIsock_state_cb_data\fP;
-.br
-A callback function to be invoked when a socket changes state.
-.I s
-will be passed the socket whose state has changed;
-.I read
-will be set to true if the socket should listen for read events, and
-.I write
-will be set to true if the socket should listen for write events.
-The value of
-.I sock_state_cb_data
-will be passed as the
-.I data
-argument.
-.PP
-The
-.I flags
-field should be the bitwise or of some subset of the following values:
-.TP 23
-.B ARES_FLAG_USEVC
-Always use TCP queries (the "virtual circuit") instead of UDP
-queries.  Normally, TCP is only used if a UDP query yields a truncated
-result.
-.TP 23
-.B ARES_FLAG_PRIMARY
-Only query the first server in the list of servers to query.
-.TP 23
-.B ARES_FLAG_IGNTC
-If a truncated response to a UDP query is received, do not fall back
-to TCP; simply continue on with the truncated response.
-.TP 23
-.B ARES_FLAG_NORECURSE
-Do not set the "recursion desired" bit on outgoing queries, so that the name
-server being contacted will not try to fetch the answer from other servers if
-it doesn't know the answer locally. Be aware that ares will not do the
-recursion for you.  Recursion must be handled by the application calling ares
-if \fIARES_FLAG_NORECURSE\fP is set.
-.TP 23
-.B ARES_FLAG_STAYOPEN
-Do not close communications sockets when the number of active queries
-drops to zero.
-.TP 23
-.B ARES_FLAG_NOSEARCH
-Do not use the default search domains; only query hostnames as-is or
-as aliases.
-.TP 23
-.B ARES_FLAG_NOALIASES
-Do not honor the HOSTALIASES environment variable, which normally
-specifies a file of hostname translations.
-.TP 23
-.B ARES_FLAG_NOCHECKRESP
-Do not discard responses with the SERVFAIL, NOTIMP, or REFUSED
-response code or responses whose questions don't match the questions
-in the request.  Primarily useful for writing clients which might be
-used to test or debug name servers.
-.SH RETURN VALUES
-.I ares_init
-or
-.I ares_init_options
-can return any of the following values:
-.TP 14
-.B ARES_SUCCESS
-Initialization succeeded.
-.TP 14
-.B ARES_EFILE
-A configuration file could not be read.
-.TP 14
-.B ARES_ENOMEM
-The process's available memory was exhausted.
-.TP 14
-.B ARES_ENOTINITIALIZED
-c-ares library initialization not yet performed.
-.SH SEE ALSO
-.BR ares_destroy(3),
-.BR ares_dup(3),
-.BR ares_library_init(3),
-.BR ares_set_servers(3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
-.br
-Copyright (C) 2004-2010 by Daniel Stenberg.
diff --git a/ares/ares_init.c b/ares/ares_init.c
deleted file mode 100644 (file)
index 0a481e1..0000000
+++ /dev/null
@@ -1,1627 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2007-2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef USE_WINSOCK
-#include <iphlpapi.h>
-#endif
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <time.h>
-#include <errno.h>
-#include "ares.h"
-#include "inet_net_pton.h"
-#include "ares_library_init.h"
-#include "ares_private.h"
-
-#ifdef WATT32
-#undef WIN32  /* Redefined in MingW/MSVC headers */
-#endif
-
-static int init_by_options(ares_channel channel, const struct ares_options *options,
-                           int optmask);
-static int init_by_environment(ares_channel channel);
-static int init_by_resolv_conf(ares_channel channel);
-static int init_by_defaults(ares_channel channel);
-
-#ifndef WATT32
-static int config_nameserver(struct server_state **servers, int *nservers,
-                             char *str);
-#endif
-static int set_search(ares_channel channel, const char *str);
-static int set_options(ares_channel channel, const char *str);
-static const char *try_option(const char *p, const char *q, const char *opt);
-static int init_id_key(rc4_key* key,int key_data_len);
-
-#if !defined(WIN32) && !defined(WATT32)
-static int sortlist_alloc(struct apattern **sortlist, int *nsort, struct apattern *pat);
-static int ip_addr(const char *s, int len, struct in_addr *addr);
-static void natural_mask(struct apattern *pat);
-static int config_domain(ares_channel channel, char *str);
-static int config_lookup(ares_channel channel, const char *str,
-                         const char *bindch, const char *filech);
-static int config_sortlist(struct apattern **sortlist, int *nsort,
-                           const char *str);
-static char *try_config(char *s, const char *opt);
-#endif
-
-#define ARES_CONFIG_CHECK(x) (x->lookups && x->nsort > -1 && \
-                             x->nservers > -1 && \
-                             x->ndomains > -1 && \
-                             x->ndots > -1 && x->timeout > -1 && \
-                             x->tries > -1)
-
-int ares_init(ares_channel *channelptr)
-{
-  return ares_init_options(channelptr, NULL, 0);
-}
-
-int ares_init_options(ares_channel *channelptr, struct ares_options *options,
-                      int optmask)
-{
-  ares_channel channel;
-  int i;
-  int status = ARES_SUCCESS;
-  struct timeval now;
-
-#ifdef CURLDEBUG
-  const char *env = getenv("CARES_MEMDEBUG");
-
-  if (env)
-    curl_memdebug(env);
-  env = getenv("CARES_MEMLIMIT");
-  if (env)
-    curl_memlimit(atoi(env));
-#endif
-
-  if (ares_library_initialized() != ARES_SUCCESS)
-    return ARES_ENOTINITIALIZED;
-
-  channel = malloc(sizeof(struct ares_channeldata));
-  if (!channel) {
-    *channelptr = NULL;
-    return ARES_ENOMEM;
-  }
-
-  now = ares__tvnow();
-
-  /* Set everything to distinguished values so we know they haven't
-   * been set yet.
-   */
-  channel->flags = -1;
-  channel->timeout = -1;
-  channel->tries = -1;
-  channel->ndots = -1;
-  channel->rotate = -1;
-  channel->udp_port = -1;
-  channel->tcp_port = -1;
-  channel->socket_send_buffer_size = -1;
-  channel->socket_receive_buffer_size = -1;
-  channel->nservers = -1;
-  channel->ndomains = -1;
-  channel->nsort = -1;
-  channel->tcp_connection_generation = 0;
-  channel->lookups = NULL;
-  channel->domains = NULL;
-  channel->sortlist = NULL;
-  channel->servers = NULL;
-  channel->sock_state_cb = NULL;
-  channel->sock_state_cb_data = NULL;
-  channel->sock_create_cb = NULL;
-  channel->sock_create_cb_data = NULL;
-
-  channel->last_server = 0;
-  channel->last_timeout_processed = (time_t)now.tv_sec;
-
-  /* Initialize our lists of queries */
-  ares__init_list_head(&(channel->all_queries));
-  for (i = 0; i < ARES_QID_TABLE_SIZE; i++)
-    {
-      ares__init_list_head(&(channel->queries_by_qid[i]));
-    }
-  for (i = 0; i < ARES_TIMEOUT_TABLE_SIZE; i++)
-    {
-      ares__init_list_head(&(channel->queries_by_timeout[i]));
-    }
-
-  /* Initialize configuration by each of the four sources, from highest
-   * precedence to lowest.
-   */
-
-  if (status == ARES_SUCCESS) {
-    status = init_by_options(channel, options, optmask);
-    if (status != ARES_SUCCESS)
-      DEBUGF(fprintf(stderr, "Error: init_by_options failed: %s\n",
-                     ares_strerror(status)));
-  }
-  if (status == ARES_SUCCESS) {
-    status = init_by_environment(channel);
-    if (status != ARES_SUCCESS)
-      DEBUGF(fprintf(stderr, "Error: init_by_environment failed: %s\n",
-                     ares_strerror(status)));
-  }
-  if (status == ARES_SUCCESS) {
-    status = init_by_resolv_conf(channel);
-    if (status != ARES_SUCCESS)
-      DEBUGF(fprintf(stderr, "Error: init_by_resolv_conf failed: %s\n",
-                     ares_strerror(status)));
-  }
-
-  /*
-   * No matter what failed or succeeded, seed defaults to provide
-   * useful behavior for things that we missed.
-   */
-  status = init_by_defaults(channel);
-  if (status != ARES_SUCCESS)
-    DEBUGF(fprintf(stderr, "Error: init_by_defaults failed: %s\n",
-                   ares_strerror(status)));
-
-  /* Generate random key */
-
-  if (status == ARES_SUCCESS) {
-    status = init_id_key(&channel->id_key, ARES_ID_KEY_LEN);
-    if (status == ARES_SUCCESS)
-      channel->next_id = ares__generate_new_id(&channel->id_key);
-    else
-      DEBUGF(fprintf(stderr, "Error: init_id_key failed: %s\n",
-                     ares_strerror(status)));
-  }
-
-  if (status != ARES_SUCCESS)
-    {
-      /* Something failed; clean up memory we may have allocated. */
-      if (channel->servers)
-        free(channel->servers);
-      if (channel->domains)
-        {
-          for (i = 0; i < channel->ndomains; i++)
-            free(channel->domains[i]);
-          free(channel->domains);
-        }
-      if (channel->sortlist)
-        free(channel->sortlist);
-      if(channel->lookups)
-        free(channel->lookups);
-      free(channel);
-      return status;
-    }
-
-  /* Trim to one server if ARES_FLAG_PRIMARY is set. */
-  if ((channel->flags & ARES_FLAG_PRIMARY) && channel->nservers > 1)
-    channel->nservers = 1;
-
-  ares__init_servers_state(channel);
-
-  *channelptr = channel;
-  return ARES_SUCCESS;
-}
-
-/* ares_dup() duplicates a channel handle with all its options and returns a
-   new channel handle */
-int ares_dup(ares_channel *dest, ares_channel src)
-{
-  struct ares_options opts;
-  struct ares_addr_node *servers;
-  int ipv6_nservers = 0;
-  int i, rc;
-  int optmask;
-
-  *dest = NULL; /* in case of failure return NULL explicitly */
-
-  /* First get the options supported by the old ares_save_options() function,
-     which is most of them */
-  rc = ares_save_options(src, &opts, &optmask);
-  if(rc)
-    return rc;
-
-  /* Then create the new channel with those options */
-  rc = ares_init_options(dest, &opts, optmask);
-
-  /* destroy the options copy to not leak any memory */
-  ares_destroy_options(&opts);
-
-  if(rc)
-    return rc;
-
-  /* Now clone the options that ares_save_options() doesn't support. */
-  (*dest)->sock_create_cb      = src->sock_create_cb;
-  (*dest)->sock_create_cb_data = src->sock_create_cb_data;
-
-  /* Full name server cloning required when not all are IPv4 */
-  for (i = 0; i < src->nservers; i++)
-    {
-      if (src->servers[i].addr.family != AF_INET) {
-        ipv6_nservers++;
-        break;
-      }
-    }
-  if (ipv6_nservers) {
-    rc = ares_get_servers(src, &servers);
-    if (rc != ARES_SUCCESS)
-      return rc;
-    rc = ares_set_servers(*dest, servers);
-    ares_free_data(servers);
-    if (rc != ARES_SUCCESS)
-      return rc;
-  }
-
-  return ARES_SUCCESS; /* everything went fine */
-}
-
-/* Save options from initialized channel */
-int ares_save_options(ares_channel channel, struct ares_options *options,
-                      int *optmask)
-{
-  int i, j;
-  int ipv4_nservers = 0;
-
-  /* Zero everything out */
-  memset(options, 0, sizeof(struct ares_options));
-
-  if (!ARES_CONFIG_CHECK(channel))
-    return ARES_ENODATA;
-
-  /* Traditionally the optmask wasn't saved in the channel struct so it was
-     recreated here. ROTATE is the first option that has no struct field of
-     its own in the public config struct */
-  (*optmask) = (ARES_OPT_FLAGS|ARES_OPT_TRIES|ARES_OPT_NDOTS|
-                ARES_OPT_UDP_PORT|ARES_OPT_TCP_PORT|ARES_OPT_SOCK_STATE_CB|
-                ARES_OPT_SERVERS|ARES_OPT_DOMAINS|ARES_OPT_LOOKUPS|
-                ARES_OPT_SORTLIST|ARES_OPT_TIMEOUTMS) |
-    (channel->optmask & ARES_OPT_ROTATE);
-
-  /* Copy easy stuff */
-  options->flags   = channel->flags;
-
-  /* We return full millisecond resolution but that's only because we don't
-     set the ARES_OPT_TIMEOUT anymore, only the new ARES_OPT_TIMEOUTMS */
-  options->timeout = channel->timeout;
-  options->tries   = channel->tries;
-  options->ndots   = channel->ndots;
-  options->udp_port = (unsigned short)channel->udp_port;
-  options->tcp_port = (unsigned short)channel->tcp_port;
-  options->sock_state_cb     = channel->sock_state_cb;
-  options->sock_state_cb_data = channel->sock_state_cb_data;
-
-  /* Copy IPv4 servers */
-  if (channel->nservers) {
-    for (i = 0; i < channel->nservers; i++)
-    {
-      if (channel->servers[i].addr.family == AF_INET)
-        ipv4_nservers++;
-    }
-    if (ipv4_nservers) {
-      options->servers = malloc(ipv4_nservers * sizeof(struct server_state));
-      if (!options->servers)
-        return ARES_ENOMEM;
-      for (i = j = 0; i < channel->nservers; i++)
-      {
-        if (channel->servers[i].addr.family == AF_INET)
-          memcpy(&options->servers[j++],
-                 &channel->servers[i].addr.addrV4,
-                 sizeof(channel->servers[i].addr.addrV4));
-      }
-    }
-  }
-  options->nservers = ipv4_nservers;
-
-  /* copy domains */
-  if (channel->ndomains) {
-    options->domains = malloc(channel->ndomains * sizeof(char *));
-    if (!options->domains)
-      return ARES_ENOMEM;
-
-    for (i = 0; i < channel->ndomains; i++)
-    {
-      options->ndomains = i;
-      options->domains[i] = strdup(channel->domains[i]);
-      if (!options->domains[i])
-        return ARES_ENOMEM;
-    }
-  }
-  options->ndomains = channel->ndomains;
-
-  /* copy lookups */
-  if (channel->lookups) {
-    options->lookups = strdup(channel->lookups);
-    if (!options->lookups && channel->lookups)
-      return ARES_ENOMEM;
-  }
-
-  /* copy sortlist */
-  if (channel->nsort) {
-    options->sortlist = malloc(channel->nsort * sizeof(struct apattern));
-    if (!options->sortlist)
-      return ARES_ENOMEM;
-    for (i = 0; i < channel->nsort; i++)
-    {
-      memcpy(&(options->sortlist[i]), &(channel->sortlist[i]),
-             sizeof(struct apattern));
-    }
-  }
-  options->nsort = channel->nsort;
-
-  return ARES_SUCCESS;
-}
-
-static int init_by_options(ares_channel channel,
-                           const struct ares_options *options,
-                           int optmask)
-{
-  int i;
-
-  /* Easy stuff. */
-  if ((optmask & ARES_OPT_FLAGS) && channel->flags == -1)
-    channel->flags = options->flags;
-  if ((optmask & ARES_OPT_TIMEOUTMS) && channel->timeout == -1)
-    channel->timeout = options->timeout;
-  else if ((optmask & ARES_OPT_TIMEOUT) && channel->timeout == -1)
-    channel->timeout = options->timeout * 1000;
-  if ((optmask & ARES_OPT_TRIES) && channel->tries == -1)
-    channel->tries = options->tries;
-  if ((optmask & ARES_OPT_NDOTS) && channel->ndots == -1)
-    channel->ndots = options->ndots;
-  if ((optmask & ARES_OPT_ROTATE) && channel->rotate == -1)
-    channel->rotate = 1;
-  if ((optmask & ARES_OPT_UDP_PORT) && channel->udp_port == -1)
-    channel->udp_port = options->udp_port;
-  if ((optmask & ARES_OPT_TCP_PORT) && channel->tcp_port == -1)
-    channel->tcp_port = options->tcp_port;
-  if ((optmask & ARES_OPT_SOCK_STATE_CB) && channel->sock_state_cb == NULL)
-    {
-      channel->sock_state_cb = options->sock_state_cb;
-      channel->sock_state_cb_data = options->sock_state_cb_data;
-    }
-  if ((optmask & ARES_OPT_SOCK_SNDBUF)
-      && channel->socket_send_buffer_size == -1)
-    channel->socket_send_buffer_size = options->socket_send_buffer_size;
-  if ((optmask & ARES_OPT_SOCK_RCVBUF)
-      && channel->socket_receive_buffer_size == -1)
-    channel->socket_receive_buffer_size = options->socket_receive_buffer_size;
-
-  /* Copy the IPv4 servers, if given. */
-  if ((optmask & ARES_OPT_SERVERS) && channel->nservers == -1)
-    {
-      /* Avoid zero size allocations at any cost */
-      if (options->nservers > 0)
-        {
-          channel->servers =
-            malloc(options->nservers * sizeof(struct server_state));
-          if (!channel->servers)
-            return ARES_ENOMEM;
-          for (i = 0; i < options->nservers; i++)
-            {
-              channel->servers[i].addr.family = AF_INET;
-              memcpy(&channel->servers[i].addr.addrV4,
-                     &options->servers[i],
-                     sizeof(channel->servers[i].addr.addrV4));
-            }
-        }
-      channel->nservers = options->nservers;
-    }
-
-  /* Copy the domains, if given.  Keep channel->ndomains consistent so
-   * we can clean up in case of error.
-   */
-  if ((optmask & ARES_OPT_DOMAINS) && channel->ndomains == -1)
-    {
-      /* Avoid zero size allocations at any cost */
-      if (options->ndomains > 0)
-      {
-        channel->domains = malloc(options->ndomains * sizeof(char *));
-        if (!channel->domains)
-          return ARES_ENOMEM;
-        for (i = 0; i < options->ndomains; i++)
-          {
-            channel->ndomains = i;
-            channel->domains[i] = strdup(options->domains[i]);
-            if (!channel->domains[i])
-              return ARES_ENOMEM;
-          }
-      }
-      channel->ndomains = options->ndomains;
-    }
-
-  /* Set lookups, if given. */
-  if ((optmask & ARES_OPT_LOOKUPS) && !channel->lookups)
-    {
-      channel->lookups = strdup(options->lookups);
-      if (!channel->lookups)
-        return ARES_ENOMEM;
-    }
-
-  /* copy sortlist */
-  if ((optmask & ARES_OPT_SORTLIST) && channel->nsort == -1)
-    {
-      channel->sortlist = malloc(options->nsort * sizeof(struct apattern));
-      if (!channel->sortlist)
-        return ARES_ENOMEM;
-      for (i = 0; i < options->nsort; i++)
-        {
-          memcpy(&(channel->sortlist[i]), &(options->sortlist[i]),
-                 sizeof(struct apattern));
-        }
-      channel->nsort = options->nsort;
-    }
-
-  channel->optmask = optmask;
-
-  return ARES_SUCCESS;
-}
-
-static int init_by_environment(ares_channel channel)
-{
-  const char *localdomain, *res_options;
-  int status;
-
-  localdomain = getenv("LOCALDOMAIN");
-  if (localdomain && channel->ndomains == -1)
-    {
-      status = set_search(channel, localdomain);
-      if (status != ARES_SUCCESS)
-        return status;
-    }
-
-  res_options = getenv("RES_OPTIONS");
-  if (res_options)
-    {
-      status = set_options(channel, res_options);
-      if (status != ARES_SUCCESS)
-        return status;
-    }
-
-  return ARES_SUCCESS;
-}
-
-#ifdef WIN32
-/*
- * Warning: returns a dynamically allocated buffer, the user MUST
- * use free() if the function returns 1
- */
-static int get_res_nt(HKEY hKey, const char *subkey, char **obuf)
-{
-  /* Test for the size we need */
-  DWORD size = 0;
-  int result;
-
-  result = RegQueryValueEx(hKey, subkey, 0, NULL, NULL, &size);
-  if ((result != ERROR_SUCCESS && result != ERROR_MORE_DATA) || !size)
-    return 0;
-  *obuf = malloc(size+1);
-  if (!*obuf)
-    return 0;
-
-  if (RegQueryValueEx(hKey, subkey, 0, NULL,
-                      (LPBYTE)*obuf, &size) != ERROR_SUCCESS)
-  {
-    free(*obuf);
-    return 0;
-  }
-  if (size == 1)
-  {
-    free(*obuf);
-    return 0;
-  }
-  return 1;
-}
-
-static int get_res_interfaces_nt(HKEY hKey, const char *subkey, char **obuf)
-{
-  char enumbuf[39]; /* GUIDs are 38 chars + 1 for NULL */
-  DWORD enum_size = 39;
-  int idx = 0;
-  HKEY hVal;
-
-  while (RegEnumKeyEx(hKey, idx++, enumbuf, &enum_size, 0,
-                      NULL, NULL, NULL) != ERROR_NO_MORE_ITEMS)
-  {
-    int rc;
-
-    enum_size = 39;
-    if (RegOpenKeyEx(hKey, enumbuf, 0, KEY_QUERY_VALUE, &hVal) !=
-        ERROR_SUCCESS)
-      continue;
-    rc = get_res_nt(hVal, subkey, obuf);
-      RegCloseKey(hVal);
-    if (rc)
-      return 1;
-    }
-  return 0;
-}
-
-static int get_iphlpapi_dns_info (char *ret_buf, size_t ret_size)
-{
-  FIXED_INFO    *fi, *newfi;
-  DWORD          size = sizeof (*fi);
-  IP_ADDR_STRING *ipAddr;
-  int            i, count = 0;
-  int            debug  = 0;
-  size_t         ip_size = sizeof("255.255.255.255,")-1;
-  size_t         left = ret_size;
-  char          *ret = ret_buf;
-  HRESULT        res;
-
-  fi = malloc(size);
-  if (!fi)
-     return 0;
-
-  res = (*ares_fpGetNetworkParams) (fi, &size);
-  if ((res != ERROR_BUFFER_OVERFLOW) && (res != ERROR_SUCCESS))
-     goto quit;
-
-  newfi = realloc(fi, size);
-  if (!newfi)
-     goto quit;
-
-  fi = newfi;
-  res = (*ares_fpGetNetworkParams) (fi, &size);
-  if (res != ERROR_SUCCESS)
-     goto quit;
-
-  if (debug)
-  {
-    printf ("Host Name: %s\n", fi->HostName);
-    printf ("Domain Name: %s\n", fi->DomainName);
-    printf ("DNS Servers:\n"
-            "    %s (primary)\n", fi->DnsServerList.IpAddress.String);
-  }
-  if (strlen(fi->DnsServerList.IpAddress.String) > 0 &&
-      inet_addr(fi->DnsServerList.IpAddress.String) != INADDR_NONE &&
-      left > ip_size)
-  {
-    ret += sprintf (ret, "%s,", fi->DnsServerList.IpAddress.String);
-    left -= ret - ret_buf;
-    count++;
-  }
-
-  for (i = 0, ipAddr = fi->DnsServerList.Next; ipAddr && left > ip_size;
-       ipAddr = ipAddr->Next, i++)
-  {
-    if (inet_addr(ipAddr->IpAddress.String) != INADDR_NONE)
-    {
-       ret += sprintf (ret, "%s,", ipAddr->IpAddress.String);
-       left -= ret - ret_buf;
-       count++;
-    }
-    if (debug)
-       printf ("    %s (secondary %d)\n", ipAddr->IpAddress.String, i+1);
-  }
-
-quit:
-  if (fi)
-     free(fi);
-
-  if (debug && left <= ip_size)
-     printf ("Too many nameservers. Truncating to %d addressess", count);
-  if (ret > ret_buf)
-     ret[-1] = '\0';
-  return count;
-}
-#endif
-
-static int init_by_resolv_conf(ares_channel channel)
-{
-#ifndef WATT32
-  char *line = NULL;
-#endif
-  int status = -1, nservers = 0, nsort = 0;
-  struct server_state *servers = NULL;
-  struct apattern *sortlist = NULL;
-
-#ifdef WIN32
-
-    /*
-  NameServer info via IPHLPAPI (IP helper API):
-    GetNetworkParams() should be the trusted source for this.
-    Available in Win-98/2000 and later. If that fail, fall-back to
-    registry information.
-
-  NameServer Registry:
-
-   On Windows 9X, the DNS server can be found in:
-HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\NameServer
-
-        On Windows NT/2000/XP/2003:
-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NameServer
-        or
-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DhcpNameServer
-        or
-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\{AdapterID}\
-NameServer
-        or
-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\{AdapterID}\
-DhcpNameServer
-   */
-
-  HKEY mykey;
-  HKEY subkey;
-  DWORD data_type;
-  DWORD bytes;
-  DWORD result;
-  char  buf[256];
-
-  if (channel->nservers > -1)  /* don't override ARES_OPT_SERVER */
-     return ARES_SUCCESS;
-
-  if (get_iphlpapi_dns_info(buf,sizeof(buf)) > 0)
-  {
-    status = config_nameserver(&servers, &nservers, buf);
-    if (status == ARES_SUCCESS)
-      goto okay;
-  }
-
-  if (IS_NT())
-  {
-    if (RegOpenKeyEx(
-          HKEY_LOCAL_MACHINE, WIN_NS_NT_KEY, 0,
-          KEY_READ, &mykey
-          ) == ERROR_SUCCESS)
-    {
-      RegOpenKeyEx(mykey, "Interfaces", 0,
-                   KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS, &subkey);
-      if (get_res_nt(mykey, NAMESERVER, &line))
-      {
-        status = config_nameserver(&servers, &nservers, line);
-        free(line);
-      }
-      else if (get_res_nt(mykey, DHCPNAMESERVER, &line))
-      {
-        status = config_nameserver(&servers, &nservers, line);
-        free(line);
-      }
-      /* Try the interfaces */
-      else if (get_res_interfaces_nt(subkey, NAMESERVER, &line))
-      {
-        status = config_nameserver(&servers, &nservers, line);
-        free(line);
-      }
-      else if (get_res_interfaces_nt(subkey, DHCPNAMESERVER, &line))
-      {
-        status = config_nameserver(&servers, &nservers, line);
-        free(line);
-      }
-      RegCloseKey(subkey);
-      RegCloseKey(mykey);
-    }
-  }
-  else
-  {
-    if (RegOpenKeyEx(
-          HKEY_LOCAL_MACHINE, WIN_NS_9X, 0,
-          KEY_READ, &mykey
-          ) == ERROR_SUCCESS)
-    {
-      if ((result = RegQueryValueEx(
-             mykey, NAMESERVER, NULL, &data_type,
-             NULL, &bytes
-             )
-            ) == ERROR_SUCCESS ||
-          result == ERROR_MORE_DATA)
-      {
-        if (bytes)
-        {
-          line = malloc(bytes+1);
-          if (RegQueryValueEx(mykey, NAMESERVER, NULL, &data_type,
-                              (unsigned char *)line, &bytes) ==
-              ERROR_SUCCESS)
-          {
-            status = config_nameserver(&servers, &nservers, line);
-          }
-          free(line);
-        }
-      }
-    }
-    RegCloseKey(mykey);
-  }
-
-  if (status == ARES_SUCCESS)
-    status = ARES_EOF;
-  else
-    /* Catch the case when all the above checks fail (which happens when there
-       is no network card or the cable is unplugged) */
-    status = ARES_EFILE;
-
-#elif defined(__riscos__)
-
-  /* Under RISC OS, name servers are listed in the
-     system variable Inet$Resolvers, space separated. */
-
-  line = getenv("Inet$Resolvers");
-  status = ARES_EOF;
-  if (line) {
-    char *resolvers = strdup(line), *pos, *space;
-
-    if (!resolvers)
-      return ARES_ENOMEM;
-
-    pos = resolvers;
-    do {
-      space = strchr(pos, ' ');
-      if (space)
-        *space = '\0';
-      status = config_nameserver(&servers, &nservers, pos);
-      if (status != ARES_SUCCESS)
-        break;
-      pos = space + 1;
-    } while (space);
-
-    if (status == ARES_SUCCESS)
-      status = ARES_EOF;
-
-    free(resolvers);
-  }
-
-#elif defined(WATT32)
-  int i;
-
-  sock_init();
-  for (i = 0; def_nameservers[i]; i++)
-      ;
-  if (i == 0)
-    return ARES_SUCCESS; /* use localhost DNS server */
-
-  nservers = i;
-  servers = calloc(i, sizeof(struct server_state));
-  if (!servers)
-     return ARES_ENOMEM;
-
-  for (i = 0; def_nameservers[i]; i++)
-      servers[i].addr.addrV4.s_addr = htonl(def_nameservers[i]);
-  status = ARES_EOF;
-
-#else
-  {
-    char *p;
-    FILE *fp;
-    size_t linesize;
-    int error;
-
-    /* Don't read resolv.conf and friends if we don't have to */
-    if (ARES_CONFIG_CHECK(channel))
-        return ARES_SUCCESS;
-
-    fp = fopen(PATH_RESOLV_CONF, "r");
-    if (fp) {
-      while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
-      {
-        if ((p = try_config(line, "domain")) && channel->ndomains == -1)
-          status = config_domain(channel, p);
-        else if ((p = try_config(line, "lookup")) && !channel->lookups)
-          status = config_lookup(channel, p, "bind", "file");
-        else if ((p = try_config(line, "search")) && channel->ndomains == -1)
-          status = set_search(channel, p);
-        else if ((p = try_config(line, "nameserver")) && channel->nservers == -1)
-          status = config_nameserver(&servers, &nservers, p);
-        else if ((p = try_config(line, "sortlist")) && channel->nsort == -1)
-          status = config_sortlist(&sortlist, &nsort, p);
-        else if ((p = try_config(line, "options")))
-          status = set_options(channel, p);
-        else
-          status = ARES_SUCCESS;
-        if (status != ARES_SUCCESS)
-          break;
-      }
-      fclose(fp);
-    }
-    else {
-      error = ERRNO;
-      switch(error) {
-      case ENOENT:
-      case ESRCH:
-        status = ARES_EOF;
-        break;
-      default:
-        DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n",
-                       error, strerror(error)));
-        DEBUGF(fprintf(stderr, "Error opening file: %s\n", PATH_RESOLV_CONF));
-        status = ARES_EFILE;
-      }
-    }
-
-    if ((status == ARES_EOF) && (!channel->lookups)) {
-      /* Many systems (Solaris, Linux, BSD's) use nsswitch.conf */
-      fp = fopen("/etc/nsswitch.conf", "r");
-      if (fp) {
-        while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
-        {
-          if ((p = try_config(line, "hosts:")) && !channel->lookups)
-            status = config_lookup(channel, p, "dns", "files");
-        }
-        fclose(fp);
-      }
-      else {
-        error = ERRNO;
-        switch(error) {
-        case ENOENT:
-        case ESRCH:
-          status = ARES_EOF;
-          break;
-        default:
-          DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n",
-                         error, strerror(error)));
-          DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/nsswitch.conf"));
-          status = ARES_EFILE;
-        }
-      }
-    }
-
-    if ((status == ARES_EOF) && (!channel->lookups)) {
-      /* Linux / GNU libc 2.x and possibly others have host.conf */
-      fp = fopen("/etc/host.conf", "r");
-      if (fp) {
-        while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
-        {
-          if ((p = try_config(line, "order")) && !channel->lookups)
-            status = config_lookup(channel, p, "bind", "hosts");
-        }
-        fclose(fp);
-      }
-      else {
-        error = ERRNO;
-        switch(error) {
-        case ENOENT:
-        case ESRCH:
-          status = ARES_EOF;
-          break;
-        default:
-          DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n",
-                         error, strerror(error)));
-          DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/host.conf"));
-          status = ARES_EFILE;
-        }
-      }
-    }
-
-    if ((status == ARES_EOF) && (!channel->lookups)) {
-      /* Tru64 uses /etc/svc.conf */
-      fp = fopen("/etc/svc.conf", "r");
-      if (fp) {
-        while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
-        {
-          if ((p = try_config(line, "hosts=")) && !channel->lookups)
-            status = config_lookup(channel, p, "bind", "local");
-        }
-        fclose(fp);
-      }
-      else {
-        error = ERRNO;
-        switch(error) {
-        case ENOENT:
-        case ESRCH:
-          status = ARES_EOF;
-          break;
-        default:
-          DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n",
-                         error, strerror(error)));
-          DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/svc.conf"));
-          status = ARES_EFILE;
-        }
-      }
-    }
-
-    if(line)
-      free(line);
-  }
-
-#endif
-
-  /* Handle errors. */
-  if (status != ARES_EOF)
-    {
-      if (servers != NULL)
-        free(servers);
-      if (sortlist != NULL)
-        free(sortlist);
-      return status;
-    }
-
-  /* If we got any name server entries, fill them in. */
-#ifdef WIN32
-okay:
-#endif
-  if (servers)
-    {
-      channel->servers = servers;
-      channel->nservers = nservers;
-    }
-
-  /* If we got any sortlist entries, fill them in. */
-  if (sortlist)
-    {
-      channel->sortlist = sortlist;
-      channel->nsort = nsort;
-    }
-
-  return ARES_SUCCESS;
-}
-
-static int init_by_defaults(ares_channel channel)
-{
-  char *hostname = NULL;
-  int rc = ARES_SUCCESS;
-#ifdef HAVE_GETHOSTNAME
-  char *dot;
-#endif
-
-  if (channel->flags == -1)
-    channel->flags = 0;
-  if (channel->timeout == -1)
-    channel->timeout = DEFAULT_TIMEOUT;
-  if (channel->tries == -1)
-    channel->tries = DEFAULT_TRIES;
-  if (channel->ndots == -1)
-    channel->ndots = 1;
-  if (channel->rotate == -1)
-    channel->rotate = 0;
-  if (channel->udp_port == -1)
-    channel->udp_port = htons(NAMESERVER_PORT);
-  if (channel->tcp_port == -1)
-    channel->tcp_port = htons(NAMESERVER_PORT);
-
-  if (channel->nservers == -1) {
-    /* If nobody specified servers, try a local named. */
-    channel->servers = malloc(sizeof(struct server_state));
-    if (!channel->servers) {
-      rc = ARES_ENOMEM;
-      goto error;
-    }
-    channel->servers[0].addr.family = AF_INET;
-    channel->servers[0].addr.addrV4.s_addr = htonl(INADDR_LOOPBACK);
-    channel->nservers = 1;
-  }
-
-#ifdef ENAMETOOLONG
-#define toolong(x) (x == -1) && ((ENAMETOOLONG == errno) || (EINVAL == errno))
-#else
-#define toolong(x) (x == -1) && (EINVAL == errno)
-#endif
-
-  if (channel->ndomains == -1) {
-    /* Derive a default domain search list from the kernel hostname,
-     * or set it to empty if the hostname isn't helpful.
-     */
-    size_t len = 64;
-    int res;
-    channel->ndomains = 0; /* default to none */
-
-#ifdef HAVE_GETHOSTNAME
-    hostname = malloc(len);
-    if(!hostname) {
-      rc = ARES_ENOMEM;
-      goto error;
-    }
-
-    do {
-      res = gethostname(hostname, len);
-
-      if(toolong(res)) {
-        char *p;
-        len *= 2;
-        p = realloc(hostname, len);
-        if(!p) {
-          rc = ARES_ENOMEM;
-          goto error;
-        }
-        hostname = p;
-        continue;
-      }
-      else if(res) {
-        rc = ARES_EBADNAME;
-        goto error;
-      }
-
-    } while(0);
-
-    dot = strchr(hostname, '.');
-    if (dot) {
-      /* a dot was found */
-      channel->domains = malloc(sizeof(char *));
-      if (!channel->domains) {
-        rc = ARES_ENOMEM;
-        goto error;
-      }
-      channel->domains[0] = strdup(dot + 1);
-      if (!channel->domains[0]) {
-        rc = ARES_ENOMEM;
-        goto error;
-      }
-      channel->ndomains = 1;
-    }
-#endif
-  }
-
-  if (channel->nsort == -1) {
-    channel->sortlist = NULL;
-    channel->nsort = 0;
-  }
-
-  if (!channel->lookups) {
-    channel->lookups = strdup("fb");
-    if (!channel->lookups)
-      rc = ARES_ENOMEM;
-  }
-
-  error:
-  if(rc) {
-    if(channel->servers)
-      free(channel->servers);
-
-    if(channel->domains && channel->domains[0])
-      free(channel->domains[0]);
-    if(channel->domains)
-      free(channel->domains);
-    if(channel->lookups)
-      free(channel->lookups);
-  }
-
-  if(hostname)
-    free(hostname);
-
-  return rc;
-}
-
-#if !defined(WIN32) && !defined(WATT32)
-static int config_domain(ares_channel channel, char *str)
-{
-  char *q;
-
-  /* Set a single search domain. */
-  q = str;
-  while (*q && !ISSPACE(*q))
-    q++;
-  *q = '\0';
-  return set_search(channel, str);
-}
-
-#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 910) && \
-    defined(__OPTIMIZE__) && defined(__unix__) &&  defined(__i386__)
-  /* workaround icc 9.1 optimizer issue */
-# define vqualifier volatile
-#else
-# define vqualifier
-#endif
-
-static int config_lookup(ares_channel channel, const char *str,
-                         const char *bindch, const char *filech)
-{
-  char lookups[3], *l;
-  const char *vqualifier p;
-
-  /* Set the lookup order.  Only the first letter of each work
-   * is relevant, and it has to be "b" for DNS or "f" for the
-   * host file.  Ignore everything else.
-   */
-  l = lookups;
-  p = str;
-  while (*p)
-    {
-      if ((*p == *bindch || *p == *filech) && l < lookups + 2) {
-        if (*p == *bindch) *l++ = 'b';
-        else *l++ = 'f';
-      }
-      while (*p && !ISSPACE(*p) && (*p != ','))
-        p++;
-      while (*p && (ISSPACE(*p) || (*p == ',')))
-        p++;
-    }
-  *l = '\0';
-  channel->lookups = strdup(lookups);
-  return (channel->lookups) ? ARES_SUCCESS : ARES_ENOMEM;
-}
-#endif  /* !WIN32 & !WATT32 */
-
-#ifndef WATT32
-static int config_nameserver(struct server_state **servers, int *nservers,
-                             char *str)
-{
-  struct ares_addr host;
-  struct server_state *newserv;
-  char *p, *txtaddr;
-  /* On Windows, there may be more than one nameserver specified in the same
-   * registry key, so we parse input as a space or comma seperated list.
-   */
-  for (p = str; p;)
-    {
-      /* Skip whitespace and commas. */
-      while (*p && (ISSPACE(*p) || (*p == ',')))
-        p++;
-      if (!*p)
-        /* No more input, done. */
-        break;
-
-      /* Pointer to start of IPv4 or IPv6 address part. */
-      txtaddr = p;
-
-      /* Advance past this address. */
-      while (*p && !ISSPACE(*p) && (*p != ','))
-        p++;
-      if (*p)
-        /* Null terminate this address. */
-        *p++ = '\0';
-      else
-        /* Reached end of input, done when this address is processed. */
-        p = NULL;
-
-      /* Convert textual address to binary format. */
-      if (ares_inet_pton(AF_INET, txtaddr, &host.addrV4) == 1)
-        host.family = AF_INET;
-      else if (ares_inet_pton(AF_INET6, txtaddr, &host.addrV6) == 1)
-        host.family = AF_INET6;
-      else
-        continue;
-
-      /* Resize servers state array. */
-      newserv = realloc(*servers, (*nservers + 1) *
-                        sizeof(struct server_state));
-      if (!newserv)
-        return ARES_ENOMEM;
-
-      /* Store address data. */
-      newserv[*nservers].addr.family = host.family;
-      if (host.family == AF_INET)
-        memcpy(&newserv[*nservers].addr.addrV4, &host.addrV4,
-               sizeof(host.addrV4));
-      else
-        memcpy(&newserv[*nservers].addr.addrV6, &host.addrV6,
-               sizeof(host.addrV6));
-
-      /* Update arguments. */
-      *servers = newserv;
-      *nservers += 1;
-    }
-
-  return ARES_SUCCESS;
-}
-
-#ifndef WIN32
-static int config_sortlist(struct apattern **sortlist, int *nsort,
-                           const char *str)
-{
-  struct apattern pat;
-  const char *q;
-
-  /* Add sortlist entries. */
-  while (*str && *str != ';')
-    {
-      int bits;
-      char ipbuf[16], ipbufpfx[32];
-      /* Find just the IP */
-      q = str;
-      while (*q && *q != '/' && *q != ';' && !ISSPACE(*q))
-        q++;
-      memcpy(ipbuf, str, (int)(q-str));
-      ipbuf[(int)(q-str)] = '\0';
-      /* Find the prefix */
-      if (*q == '/')
-        {
-          const char *str2 = q+1;
-          while (*q && *q != ';' && !ISSPACE(*q))
-            q++;
-          memcpy(ipbufpfx, str, (int)(q-str));
-          ipbufpfx[(int)(q-str)] = '\0';
-          str = str2;
-        }
-      else
-        ipbufpfx[0] = '\0';
-      /* Lets see if it is CIDR */
-      /* First we'll try IPv6 */
-      if ((bits = ares_inet_net_pton(AF_INET6, ipbufpfx[0] ? ipbufpfx : ipbuf,
-                                     &pat.addrV6,
-                                     sizeof(pat.addrV6))) > 0)
-        {
-          pat.type = PATTERN_CIDR;
-          pat.mask.bits = (unsigned short)bits;
-          pat.family = AF_INET6;
-          if (!sortlist_alloc(sortlist, nsort, &pat))
-            return ARES_ENOMEM;
-        }
-      if (ipbufpfx[0] &&
-          (bits = ares_inet_net_pton(AF_INET, ipbufpfx, &pat.addrV4,
-                                     sizeof(pat.addrV4))) > 0)
-        {
-          pat.type = PATTERN_CIDR;
-          pat.mask.bits = (unsigned short)bits;
-          pat.family = AF_INET;
-          if (!sortlist_alloc(sortlist, nsort, &pat))
-            return ARES_ENOMEM;
-        }
-      /* See if it is just a regular IP */
-      else if (ip_addr(ipbuf, (int)(q-str), &pat.addrV4) == 0)
-        {
-          if (ipbufpfx[0])
-            {
-              memcpy(ipbuf, str, (int)(q-str));
-              ipbuf[(int)(q-str)] = '\0';
-              if (ip_addr(ipbuf, (int)(q - str), &pat.mask.addr4) != 0)
-                natural_mask(&pat);
-            }
-          else
-            natural_mask(&pat);
-          pat.family = AF_INET;
-          pat.type = PATTERN_MASK;
-          if (!sortlist_alloc(sortlist, nsort, &pat))
-            return ARES_ENOMEM;
-        }
-      else
-        {
-          while (*q && *q != ';' && !ISSPACE(*q))
-            q++;
-        }
-      str = q;
-      while (ISSPACE(*str))
-        str++;
-    }
-
-  return ARES_SUCCESS;
-}
-#endif  /* !WIN32 */
-#endif  /* !WATT32 */
-
-static int set_search(ares_channel channel, const char *str)
-{
-  int n;
-  const char *p, *q;
-
-  if(channel->ndomains != -1) {
-    /* if we already have some domains present, free them first */
-    for(n=0; n < channel->ndomains; n++)
-      free(channel->domains[n]);
-    free(channel->domains);
-    channel->domains = NULL;
-    channel->ndomains = -1;
-  }
-
-  /* Count the domains given. */
-  n = 0;
-  p = str;
-  while (*p)
-    {
-      while (*p && !ISSPACE(*p))
-        p++;
-      while (ISSPACE(*p))
-        p++;
-      n++;
-    }
-
-  if (!n)
-    {
-      channel->ndomains = 0;
-      return ARES_SUCCESS;
-    }
-
-  channel->domains = malloc(n * sizeof(char *));
-  if (!channel->domains)
-    return ARES_ENOMEM;
-
-  /* Now copy the domains. */
-  n = 0;
-  p = str;
-  while (*p)
-    {
-      channel->ndomains = n;
-      q = p;
-      while (*q && !ISSPACE(*q))
-        q++;
-      channel->domains[n] = malloc(q - p + 1);
-      if (!channel->domains[n])
-        return ARES_ENOMEM;
-      memcpy(channel->domains[n], p, q - p);
-      channel->domains[n][q - p] = 0;
-      p = q;
-      while (ISSPACE(*p))
-        p++;
-      n++;
-    }
-  channel->ndomains = n;
-
-  return ARES_SUCCESS;
-}
-
-static int set_options(ares_channel channel, const char *str)
-{
-  const char *p, *q, *val;
-
-  p = str;
-  while (*p)
-    {
-      q = p;
-      while (*q && !ISSPACE(*q))
-        q++;
-      val = try_option(p, q, "ndots:");
-      if (val && channel->ndots == -1)
-        channel->ndots = atoi(val);
-      val = try_option(p, q, "retrans:");
-      if (val && channel->timeout == -1)
-        channel->timeout = atoi(val);
-      val = try_option(p, q, "retry:");
-      if (val && channel->tries == -1)
-        channel->tries = atoi(val);
-      val = try_option(p, q, "rotate");
-      if (val && channel->rotate == -1)
-        channel->rotate = 1;
-      p = q;
-      while (ISSPACE(*p))
-        p++;
-    }
-
-  return ARES_SUCCESS;
-}
-
-static const char *try_option(const char *p, const char *q, const char *opt)
-{
-  size_t len = strlen(opt);
-  return ((size_t)(q - p) >= len && !strncmp(p, opt, len)) ? &p[len] : NULL;
-}
-
-#if !defined(WIN32) && !defined(WATT32)
-static char *try_config(char *s, const char *opt)
-{
-  size_t len;
-  char *p;
-  char *q;
-
-  if (!s || !opt)
-    /* no line or no option */
-    return NULL;
-
-  /* trim line comment */
-  p = s;
-  while (*p && (*p != '#'))
-    p++;
-  *p = '\0';
-
-  /* trim trailing whitespace */
-  q = p - 1;
-  while ((q >= s) && ISSPACE(*q))
-    q--;
-  *++q = '\0';
-
-  /* skip leading whitespace */
-  p = s;
-  while (*p && ISSPACE(*p))
-    p++;
-
-  if (!*p)
-    /* empty line */
-    return NULL;
-
-  if ((len = strlen(opt)) == 0)
-    /* empty option */
-    return NULL;
-
-  if (strncmp(p, opt, len) != 0)
-    /* line and option do not match */
-    return NULL;
-
-  /* skip over given option name */
-  p += len;
-
-  if (!*p)
-    /* no option value */
-    return NULL;
-
-  if ((opt[len-1] != ':') && (opt[len-1] != '=') && !ISSPACE(*p))
-    /* whitespace between option name and value is mandatory
-       for given option names which do not end with ':' or '=' */
-    return NULL;
-
-  /* skip over whitespace */
-  while (*p && ISSPACE(*p))
-    p++;
-
-  if (!*p)
-    /* no option value */
-    return NULL;
-
-  /* return pointer to option value */
-  return p;
-}
-
-static int sortlist_alloc(struct apattern **sortlist, int *nsort,
-                          struct apattern *pat)
-{
-  struct apattern *newsort;
-  newsort = realloc(*sortlist, (*nsort + 1) * sizeof(struct apattern));
-  if (!newsort)
-    return 0;
-  newsort[*nsort] = *pat;
-  *sortlist = newsort;
-  (*nsort)++;
-  return 1;
-}
-
-static int ip_addr(const char *ipbuf, int len, struct in_addr *addr)
-{
-
-  /* Four octets and three periods yields at most 15 characters. */
-  if (len > 15)
-    return -1;
-
-  addr->s_addr = inet_addr(ipbuf);
-  if (addr->s_addr == INADDR_NONE && strcmp(ipbuf, "255.255.255.255") != 0)
-    return -1;
-  return 0;
-}
-
-static void natural_mask(struct apattern *pat)
-{
-  struct in_addr addr;
-
-  /* Store a host-byte-order copy of pat in a struct in_addr.  Icky,
-   * but portable.
-   */
-  addr.s_addr = ntohl(pat->addrV4.s_addr);
-
-  /* This is out of date in the CIDR world, but some people might
-   * still rely on it.
-   */
-  if (IN_CLASSA(addr.s_addr))
-    pat->mask.addr4.s_addr = htonl(IN_CLASSA_NET);
-  else if (IN_CLASSB(addr.s_addr))
-    pat->mask.addr4.s_addr = htonl(IN_CLASSB_NET);
-  else
-    pat->mask.addr4.s_addr = htonl(IN_CLASSC_NET);
-}
-#endif /* !WIN32 && !WATT32 */
-
-/* initialize an rc4 key. If possible a cryptographically secure random key
-   is generated using a suitable function (for example win32's RtlGenRandom as
-   described in
-   http://blogs.msdn.com/michael_howard/archive/2005/01/14/353379.aspx
-   otherwise the code defaults to cross-platform albeit less secure mechanism
-   using rand
-*/
-static void randomize_key(unsigned char* key,int key_data_len)
-{
-  int randomized = 0;
-  int counter=0;
-#ifdef WIN32
-  BOOLEAN res;
-  if (ares_fpSystemFunction036)
-    {
-      res = (*ares_fpSystemFunction036) (key, key_data_len);
-      if (res)
-        randomized = 1;
-    }
-#else /* !WIN32 */
-#ifdef RANDOM_FILE
-  FILE *f = fopen(RANDOM_FILE, "rb");
-  if(f) {
-    counter = fread(key, 1, key_data_len, f);
-    fclose(f);
-  }
-#endif
-#endif /* WIN32 */
-
-  if ( !randomized ) {
-    for (;counter<key_data_len;counter++)
-      key[counter]=(unsigned char)(rand() % 256);
-  }
-}
-
-static int init_id_key(rc4_key* key,int key_data_len)
-{
-  unsigned char index1;
-  unsigned char index2;
-  unsigned char* state;
-  short counter;
-  unsigned char *key_data_ptr = 0;
-
-  key_data_ptr = calloc(1,key_data_len);
-  if (!key_data_ptr)
-    return ARES_ENOMEM;
-
-  state = &key->state[0];
-  for(counter = 0; counter < 256; counter++)
-    /* unnecessary AND but it keeps some compilers happier */
-    state[counter] = (unsigned char)(counter & 0xff);
-  randomize_key(key->state,key_data_len);
-  key->x = 0;
-  key->y = 0;
-  index1 = 0;
-  index2 = 0;
-  for(counter = 0; counter < 256; counter++)
-  {
-    index2 = (unsigned char)((key_data_ptr[index1] + state[counter] +
-                              index2) % 256);
-    ARES_SWAP_BYTE(&state[counter], &state[index2]);
-
-    index1 = (unsigned char)((index1 + 1) % key_data_len);
-  }
-  free(key_data_ptr);
-  return ARES_SUCCESS;
-}
-
-unsigned short ares__generate_new_id(rc4_key* key)
-{
-  unsigned short r=0;
-  ares__rc4(key, (unsigned char *)&r, sizeof(r));
-  return r;
-}
-
-void ares_set_socket_callback(ares_channel channel,
-                              ares_sock_create_callback cb,
-                              void *data)
-{
-  channel->sock_create_cb = cb;
-  channel->sock_create_cb_data = data;
-}
-
-void ares__init_servers_state(ares_channel channel)
-{
-  struct server_state *server;
-  int i;
-
-  for (i = 0; i < channel->nservers; i++)
-    {
-      server = &channel->servers[i];
-      server->udp_socket = ARES_SOCKET_BAD;
-      server->tcp_socket = ARES_SOCKET_BAD;
-      server->tcp_connection_generation = ++channel->tcp_connection_generation;
-      server->tcp_lenbuf_pos = 0;
-      server->tcp_buffer_pos = 0;
-      server->tcp_buffer = NULL;
-      server->tcp_length = 0;
-      server->qhead = NULL;
-      server->qtail = NULL;
-      ares__init_list_head(&server->queries_to_server);
-      server->channel = channel;
-      server->is_broken = 0;
-    }
-}
diff --git a/ares/ares_init_options.3 b/ares/ares_init_options.3
deleted file mode 100644 (file)
index f45a8aa..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-.so man3/ares_init.3
-.\" $Id$
diff --git a/ares/ares_ipv6.h b/ares/ares_ipv6.h
deleted file mode 100644 (file)
index 4a97199..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* $Id$ */
-
-/* Copyright (C) 2005 by Dominick Meglio
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#ifndef ARES_IPV6_H
-#define ARES_IPV6_H
-
-#ifndef HAVE_PF_INET6
-#define PF_INET6 AF_INET6
-#endif
-
-#ifndef HAVE_STRUCT_SOCKADDR_IN6
-struct sockaddr_in6
-{
-  unsigned short       sin6_family;
-  unsigned short       sin6_port;
-  unsigned long        sin6_flowinfo;
-  struct ares_in6_addr sin6_addr;
-  unsigned int         sin6_scope_id;
-};
-#endif
-
-#ifndef HAVE_STRUCT_ADDRINFO
-struct addrinfo
-{
-  int              ai_flags;
-  int              ai_family;
-  int              ai_socktype;
-  int              ai_protocol;
-  ares_socklen_t   ai_addrlen;   /* Follow rfc3493 struct addrinfo */
-  char            *ai_canonname;
-  struct sockaddr *ai_addr;
-  struct addrinfo *ai_next;
-};
-#endif
-
-#ifndef NS_IN6ADDRSZ
-#if SIZEOF_STRUCT_IN6_ADDR == 0
-/* We cannot have it set to zero, so we pick a fixed value here */
-#define NS_IN6ADDRSZ 16
-#else
-#define NS_IN6ADDRSZ SIZEOF_STRUCT_IN6_ADDR
-#endif
-#endif
-
-#ifndef NS_INADDRSZ
-#define NS_INADDRSZ SIZEOF_STRUCT_IN_ADDR
-#endif
-
-#ifndef NS_INT16SZ
-#define NS_INT16SZ 2
-#endif
-
-#ifndef IF_NAMESIZE
-#ifdef IFNAMSIZ
-#define IF_NAMESIZE IFNAMSIZ
-#else
-#define IF_NAMESIZE 256
-#endif
-#endif
-
-#endif /* ARES_IPV6_H */
diff --git a/ares/ares_library_cleanup.3 b/ares/ares_library_cleanup.3
deleted file mode 100644 (file)
index 4bbe0b8..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\" Copyright (C) 2004-2009 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_LIBRARY_CLEANUP 3 "19 May 2009"
-.SH NAME
-ares_library_cleanup \- c-ares library deinitialization
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_library_cleanup(void)
-.PP
-.B cc file.c -lcares
-.fi
-.SH DESCRIPTION
-.PP
-The
-.B ares_library_cleanup
-function uninitializes the c-ares library, freeing all resources
-previously aquired by \fIares_library_init(3)\fP when the library
-was initialized.
-.PP
-This function must be called when the program using c-ares will
-no longer need any c-ares function. Once the program has called
-\fIares_library_cleanup(3)\fP it shall not make any further call to any
-c-ares function.
-.PP
-This function does not cancel any pending c-ares lookups or requests
-previously done. Program  must use \fIares_cancel(3)\fP for this purpose.
-.PP
-.B This function is not thread safe.
-You have to call it once the program is about to terminate, but this call must
-be done once the program has terminated every single thread that it could have
-initiated. This is required to avoid potential race conditions in library
-deinitialization, and also due to the fact that \fIares_library_cleanup(3)\fP
-might call functions from other libraries that are thread unsafe, and could
-conflict with any other thread that is already using these other libraries.
-.PP
-Win32/64 application DLLs shall not call \fIares_library_cleanup(3)\fP from
-the DllMain function. Doing so will produce deadlocks and other problems.
-.SH AVAILABILITY
-This function was first introduced in c-ares version 1.7.0 along with the
-definition of preprocessor symbol \fICARES_HAVE_ARES_LIBRARY_CLEANUP\fP as an
-indication of the availability of this function.
-.PP
-Since the introduction of this function, it is absolutely mandatory to call it
-for any Win32/64 program using c-ares.
-.PP
-Non-Win32/64 systems can still use c-ares version 1.7.0 without calling
-\fIares_library_cleanup(3)\fP due to the fact that \fIcurrently\fP it is nearly
-a do-nothing function on non-Win32/64 platforms.
-.SH SEE ALSO
-.BR ares_library_init(3),
-.BR ares_cancel(3)
-.SH AUTHOR
-Yang Tse
-.PP
-Copyright 1998 by the Massachusetts Institute of Technology.
-.br
-Copyright (C) 2004-2009 by Daniel Stenberg.
diff --git a/ares/ares_library_init.3 b/ares/ares_library_init.3
deleted file mode 100644 (file)
index 1d49c20..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\" Copyright (C) 2004-2009 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_LIBRARY_INIT 3 "19 May 2009"
-.SH NAME
-ares_library_init \- c-ares library initialization
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_library_init(int \fIflags\fP)
-.PP
-.B cc file.c -lcares
-.fi
-.SH DESCRIPTION
-.PP
-The
-.B ares_library_init
-function performs initializations internally required by the c-ares
-library that must take place before any other function provided by
-c-ares can be used in a program.
-.PP
-This function must be called one time within the life of a program,
-before the program actually executes any other c-ares library function.
-Initializations done by this function remain effective until a
-call to \fIares_library_cleanup(3)\fP is performed.
-.PP
-Successive calls to this function do nothing, only the first call done
-when c-ares is in an uninitialized state is actually effective.
-.PP
-The
-.I flags
-parameter is a bit pattern that tells c-ares exactly which features
-should be initialized, as described below. Set the desired bits by
-ORing the values together. In normal operation you should specify
-\fIARES_LIB_INIT_ALL\fP. Don't use any other value unless you are
-familiar with it and trying to control some internal c-ares feature.
-.PP
-.B This function is not thread safe.
-You have to call it once the program has started, but this call must be done
-before the program starts any other thread. This is required to avoid
-potential race conditions in library initialization, and also due to the fact
-that \fIares_library_init(3)\fP might call functions from other libraries that
-are thread unsafe, and could conflict with any other thread that is already
-using these other libraries.
-.PP
-Win32/64 application DLLs shall not call \fIares_library_init(3)\fP from the
-DllMain function. Doing so will produce deadlocks and other problems.
-.SH FLAGS
-.TP 5
-.B ARES_LIB_INIT_ALL
-Initialize everything possible. This sets all known bits.
-.TP
-.B ARES_LIB_INIT_WIN32
-Initialize Win32/64 specific libraries.
-.TP
-.B ARES_LIB_INIT_NONE
-Initialize nothing extra. This sets no bit.
-.SH RETURN VALUE
-Upon successful completion, ares_library_init() will return 0.  Otherwise, a
-non-zero error number will be returned to indicate the error. Except for
-\fIares_strerror(3)\fP, you shall not call any other c-ares function upon
-\fIares_library_init(3)\fP failure.
-.SH AVAILABILITY
-This function was first introduced in c-ares version 1.7.0 along with the
-definition of preprocessor symbol \fICARES_HAVE_ARES_LIBRARY_INIT\fP as an
-indication of the availability of this function.
-.PP
-Since the introduction of this function it is absolutely mandatory to
-call it for any Win32/64 program using c-ares.
-.PP
-Non-Win32/64 systems can still use c-ares version 1.7.0 without calling
-\fIares_library_init(3)\fP due to the fact that \fIcurrently\fP it is nearly
-a do-nothing function on non-Win32/64 platforms at this point.
-.SH SEE ALSO
-.BR ares_library_cleanup(3),
-.BR ares_strerror(3)
-.SH AUTHOR
-Yang Tse
-.PP
-Copyright 1998 by the Massachusetts Institute of Technology.
-.br
-Copyright (C) 2004-2009 by Daniel Stenberg.
diff --git a/ares/ares_library_init.c b/ares/ares_library_init.c
deleted file mode 100644 (file)
index aac34ea..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2004-2009 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#include "ares.h"
-#include "ares_library_init.h"
-#include "ares_private.h"
-
-/* library-private global and unique instance vars */
-
-#ifdef USE_WINSOCK
-fpGetNetworkParams_t ares_fpGetNetworkParams = ZERO_NULL;
-fpSystemFunction036_t ares_fpSystemFunction036 = ZERO_NULL;
-#endif
-
-/* library-private global vars with source visibility restricted to this file */
-
-static unsigned int ares_initialized;
-static int          ares_init_flags;
-
-#ifdef USE_WINSOCK
-static HMODULE hnd_iphlpapi;
-static HMODULE hnd_advapi32;
-#endif
-
-
-static int ares_win32_init(void)
-{
-#ifdef USE_WINSOCK
-
-  hnd_iphlpapi = 0;
-  hnd_iphlpapi = LoadLibrary("iphlpapi.dll");
-  if (!hnd_iphlpapi)
-    return ARES_ELOADIPHLPAPI;
-
-  ares_fpGetNetworkParams = (fpGetNetworkParams_t)
-    GetProcAddress(hnd_iphlpapi, "GetNetworkParams");
-  if (!ares_fpGetNetworkParams)
-    {
-      FreeLibrary(hnd_iphlpapi);
-      return ARES_EADDRGETNETWORKPARAMS;
-    }
-
-  /*
-   * When advapi32.dll is unavailable or advapi32.dll has no SystemFunction036,
-   * also known as RtlGenRandom, which is the case for Windows versions prior
-   * to WinXP then c-ares uses portable rand() function. Then don't error here.
-   */
-
-  hnd_advapi32 = 0;
-  hnd_advapi32 = LoadLibrary("advapi32.dll");
-  if (hnd_advapi32)
-    {
-      ares_fpSystemFunction036 = (fpSystemFunction036_t)
-        GetProcAddress(hnd_advapi32, "SystemFunction036");
-    }
-
-#endif
-  return ARES_SUCCESS;
-}
-
-
-static void ares_win32_cleanup(void)
-{
-#ifdef USE_WINSOCK
-  if (hnd_advapi32)
-    FreeLibrary(hnd_advapi32);
-  if (hnd_iphlpapi)
-    FreeLibrary(hnd_iphlpapi);
-#endif
-}
-
-
-int ares_library_init(int flags)
-{
-  int res;
-
-  if (ares_initialized)
-    return ARES_SUCCESS;
-  ares_initialized++;
-
-  if (flags & ARES_LIB_INIT_WIN32)
-    {
-      res = ares_win32_init();
-      if (res != ARES_SUCCESS)
-        return res;
-    }
-
-  ares_init_flags = flags;
-
-  return ARES_SUCCESS;
-}
-
-
-void ares_library_cleanup(void)
-{
-  if (!ares_initialized)
-    return;
-  ares_initialized--;
-
-  if (ares_init_flags & ARES_LIB_INIT_WIN32)
-    ares_win32_cleanup();
-
-  ares_init_flags = ARES_LIB_INIT_NONE;
-}
-
-
-int ares_library_initialized(void)
-{
-#ifdef USE_WINSOCK
-  if (!ares_initialized)
-    return ARES_ENOTINITIALIZED;
-#endif
-  return ARES_SUCCESS;
-}
-
-
diff --git a/ares/ares_library_init.h b/ares/ares_library_init.h
deleted file mode 100644 (file)
index 515c17d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef HEADER_CARES_LIBRARY_INIT_H
-#define HEADER_CARES_LIBRARY_INIT_H
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2004-2009 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef USE_WINSOCK
-
-#include <iphlpapi.h>
-
-typedef DWORD (WINAPI *fpGetNetworkParams_t) (FIXED_INFO*, DWORD*);
-typedef BOOLEAN (APIENTRY *fpSystemFunction036_t) (void*, ULONG);
-
-/* Forward-declaration of variables defined in ares_library_init.c */
-/* that are global and unique instances for whole c-ares library.  */
-
-extern fpGetNetworkParams_t ares_fpGetNetworkParams;
-extern fpSystemFunction036_t ares_fpSystemFunction036;
-
-#endif /* USE_WINSOCK */
-
-#endif /* HEADER_CARES_LIBRARY_INIT_H */
-
diff --git a/ares/ares_llist.c b/ares/ares_llist.c
deleted file mode 100644 (file)
index f261dc7..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#include "ares.h"
-#include "ares_private.h"
-
-/* Routines for managing doubly-linked circular linked lists with a
- * dummy head.
- */
-
-/* Initialize a new head node */
-void ares__init_list_head(struct list_node* head) {
-  head->prev = head;
-  head->next = head;
-  head->data = NULL;
-}
-
-/* Initialize a list node */
-void ares__init_list_node(struct list_node* node, void* d) {
-  node->prev = NULL;
-  node->next = NULL;
-  node->data = d;
-}
-
-/* Returns true iff the given list is empty */
-int ares__is_list_empty(struct list_node* head) {
-  return ((head->next == head) && (head->prev == head));
-}
-
-/* Inserts new_node before old_node */
-void ares__insert_in_list(struct list_node* new_node,
-                          struct list_node* old_node) {
-  new_node->next = old_node;
-  new_node->prev = old_node->prev;
-  old_node->prev->next = new_node;
-  old_node->prev = new_node;
-}
-
-/* Removes the node from the list it's in, if any */
-void ares__remove_from_list(struct list_node* node) {
-  if (node->next != NULL) {
-    node->prev->next = node->next;
-    node->next->prev = node->prev;
-    node->prev = NULL;
-    node->next = NULL;
-  }
-}
-
-/* Swap the contents of two lists */
-void ares__swap_lists(struct list_node* head_a,
-                      struct list_node* head_b) {
-  int is_a_empty = ares__is_list_empty(head_a);
-  int is_b_empty = ares__is_list_empty(head_b);
-  struct list_node old_a = *head_a;
-  struct list_node old_b = *head_b;
-
-  if (is_a_empty) {
-    ares__init_list_head(head_b);
-  } else {
-    *head_b = old_a;
-    old_a.next->prev = head_b;
-    old_a.prev->next = head_b;
-  }
-  if (is_b_empty) {
-    ares__init_list_head(head_a);
-  } else {
-    *head_a = old_b;
-    old_b.next->prev = head_a;
-    old_b.prev->next = head_a;
-  }
-}
diff --git a/ares/ares_llist.h b/ares/ares_llist.h
deleted file mode 100644 (file)
index d20af7e..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef __ARES_LLIST_H
-#define __ARES_LLIST_H
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-
-/* Node definition for circular, doubly-linked list */
-struct list_node {
-  struct list_node *prev;
-  struct list_node *next;
-  void* data;
-};
-
-void ares__init_list_head(struct list_node* head);
-
-void ares__init_list_node(struct list_node* node, void* d);
-
-int ares__is_list_empty(struct list_node* head);
-
-void ares__insert_in_list(struct list_node* new_node,
-                          struct list_node* old_node);
-
-void ares__remove_from_list(struct list_node* node);
-
-void ares__swap_lists(struct list_node* head_a,
-                      struct list_node* head_b);
-
-#endif /* __ARES_LLIST_H */
diff --git a/ares/ares_mkquery.3 b/ares/ares_mkquery.3
deleted file mode 100644 (file)
index ac3f36f..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998, 2000 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_MKQUERY 3 "20 Nov 2009"
-.SH NAME
-ares_mkquery \- Compose a single-question DNS query buffer
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_mkquery(const char *\fIname\fP, int \fIdnsclass\fP, int \fItype\fP,
-.B     unsigned short \fIid\fP, int \fIrd\fP, unsigned char **\fIbuf\fP,
-.B     int *\fIbuflen\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_mkquery
-function composes a DNS query with a single question.
-The parameter
-.I name
-gives the query name as a NUL-terminated C string of period-separated
-labels optionally ending with a period; periods and backslashes within
-a label must be escaped with a backlash.  The parameters
-.I dnsclass
-and
-.I type
-give the class and type of the query using the values defined in
-.BR <arpa/nameser.h> .
-The parameter
-.I id
-gives a 16-bit identifier for the query.  The parameter
-.I rd
-should be nonzero if recursion is desired, zero if not.  The query
-will be placed in an allocated buffer, a pointer to which will be
-stored in the variable pointed to by
-.IR buf ,
-and the length of which will be stored in the variable pointed to by
-.IR buflen .
-It is the caller's responsibility to free this buffer using
-\fIares_free_string(3)\fP when it is no longer needed.
-.SH RETURN VALUES
-.B ares_mkquery
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-Construction of the DNS query succeeded.
-.TP 15
-.B ARES_EBADNAME
-The query name
-.I name
-could not be encoded as a domain name, either because it contained a
-zero-length label or because it contained a label of more than 63
-characters.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH SEE ALSO
-.BR ares_expand_name (3),
-.BR ares_free_string (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998, 2000 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_mkquery.c b/ares/ares_mkquery.c
deleted file mode 100644 (file)
index 5657188..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_private.h"
-
-/* Header format, from RFC 1035:
- *                                  1  1  1  1  1  1
- *    0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |                      ID                       |
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |                    QDCOUNT                    |
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |                    ANCOUNT                    |
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |                    NSCOUNT                    |
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |                    ARCOUNT                    |
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *
- * AA, TC, RA, and RCODE are only set in responses.  Brief description
- * of the remaining fields:
- *      ID      Identifier to match responses with queries
- *      QR      Query (0) or response (1)
- *      Opcode  For our purposes, always QUERY
- *      RD      Recursion desired
- *      Z       Reserved (zero)
- *      QDCOUNT Number of queries
- *      ANCOUNT Number of answers
- *      NSCOUNT Number of name server records
- *      ARCOUNT Number of additional records
- *
- * Question format, from RFC 1035:
- *                                  1  1  1  1  1  1
- *    0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |                                               |
- *  /                     QNAME                     /
- *  /                                               /
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |                     QTYPE                     |
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *  |                     QCLASS                    |
- *  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *
- * The query name is encoded as a series of labels, each represented
- * as a one-byte length (maximum 63) followed by the text of the
- * label.  The list is terminated by a label of length zero (which can
- * be thought of as the root domain).
- */
-
-int ares_mkquery(const char *name, int dnsclass, int type, unsigned short id,
-                 int rd, unsigned char **buf, int *buflen)
-{
-  int len;
-  unsigned char *q;
-  const char *p;
-
-  /* Set our results early, in case we bail out early with an error. */
-  *buflen = 0;
-  *buf = NULL;
-
-  /* Compute the length of the encoded name so we can check buflen.
-   * Start counting at 1 for the zero-length label at the end. */
-  len = 1;
-  for (p = name; *p; p++)
-    {
-      if (*p == '\\' && *(p + 1) != 0)
-        p++;
-      len++;
-    }
-  /* If there are n periods in the name, there are n + 1 labels, and
-   * thus n + 1 length fields, unless the name is empty or ends with a
-   * period.  So add 1 unless name is empty or ends with a period.
-   */
-  if (*name && *(p - 1) != '.')
-    len++;
-
-  /* Immediately reject names that are longer than the maximum of 255
-   * bytes that's specified in RFC 1035 ("To simplify implementations,
-   * the total length of a domain name (i.e., label octets and label
-   * length octets) is restricted to 255 octets or less."). We aren't
-   * doing this just to be a stickler about RFCs. For names that are
-   * too long, 'dnscache' closes its TCP connection to us immediately
-   * (when using TCP) and ignores the request when using UDP, and
-   * BIND's named returns ServFail (TCP or UDP). Sending a request
-   * that we know will cause 'dnscache' to close the TCP connection is
-   * painful, since that makes any other outstanding requests on that
-   * connection fail. And sending a UDP request that we know
-   * 'dnscache' will ignore is bad because resources will be tied up
-   * until we time-out the request.
-   */
-  if (len > MAXCDNAME)
-    return ARES_EBADNAME;
-
-  *buflen = len + HFIXEDSZ + QFIXEDSZ;
-  *buf = malloc(*buflen);
-  if (!*buf)
-      return ARES_ENOMEM;
-
-  /* Set up the header. */
-  q = *buf;
-  memset(q, 0, HFIXEDSZ);
-  DNS_HEADER_SET_QID(q, id);
-  DNS_HEADER_SET_OPCODE(q, QUERY);
-  if (rd) {
-    DNS_HEADER_SET_RD(q, 1);
-  }
-  else {
-    DNS_HEADER_SET_RD(q, 0);
-  }
-  DNS_HEADER_SET_QDCOUNT(q, 1);
-
-  /* A name of "." is a screw case for the loop below, so adjust it. */
-  if (strcmp(name, ".") == 0)
-    name++;
-
-  /* Start writing out the name after the header. */
-  q += HFIXEDSZ;
-  while (*name)
-    {
-      if (*name == '.')
-        return ARES_EBADNAME;
-
-      /* Count the number of bytes in this label. */
-      len = 0;
-      for (p = name; *p && *p != '.'; p++)
-        {
-          if (*p == '\\' && *(p + 1) != 0)
-            p++;
-          len++;
-        }
-      if (len > MAXLABEL)
-        return ARES_EBADNAME;
-
-      /* Encode the length and copy the data. */
-      *q++ = (unsigned char)len;
-      for (p = name; *p && *p != '.'; p++)
-        {
-          if (*p == '\\' && *(p + 1) != 0)
-            p++;
-          *q++ = *p;
-        }
-
-      /* Go to the next label and repeat, unless we hit the end. */
-      if (!*p)
-        break;
-      name = p + 1;
-    }
-
-  /* Add the zero-length label at the end. */
-  *q++ = 0;
-
-  /* Finish off the question with the type and class. */
-  DNS_QUESTION_SET_TYPE(q, type);
-  DNS_QUESTION_SET_CLASS(q, dnsclass);
-
-  return ARES_SUCCESS;
-}
diff --git a/ares/ares_nowarn.c b/ares/ares_nowarn.c
deleted file mode 100644 (file)
index 91d0a5f..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/* $Id$ */
-
-/* Copyright (C) 2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-
-#include "ares_setup.h"
-
-#include "ares_nowarn.h"
-
-#if (SIZEOF_INT == 2)
-#  define CARES_MASK_SINT  0x7FFF
-#  define CARES_MASK_UINT  0xFFFF
-#elif (SIZEOF_INT == 4)
-#  define CARES_MASK_SINT  0x7FFFFFFF
-#  define CARES_MASK_UINT  0xFFFFFFFF
-#elif (SIZEOF_INT == 8)
-#  define CARES_MASK_SINT  0x7FFFFFFFFFFFFFFF
-#  define CARES_MASK_UINT  0xFFFFFFFFFFFFFFFF
-#elif (SIZEOF_INT == 16)
-#  define CARES_MASK_SINT  0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-#  define CARES_MASK_UINT  0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-#endif
-
-/*
-** size_t to signed int
-*/
-
-int aresx_uztosi(size_t uznum)
-{
-#ifdef __INTEL_COMPILER
-#  pragma warning(push)
-#  pragma warning(disable:810) /* conversion may lose significant bits */
-#endif
-
-  return (int)(uznum & (size_t) CARES_MASK_SINT);
-
-#ifdef __INTEL_COMPILER
-#  pragma warning(pop)
-#endif
-}
diff --git a/ares/ares_nowarn.h b/ares/ares_nowarn.h
deleted file mode 100644 (file)
index 0b7181b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef HEADER_CARES_NOWARN_H
-#define HEADER_CARES_NOWARN_H
-
-/* $Id$ */
-
-/* Copyright (C) 2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-int aresx_uztosi(size_t uznum);
-
-#endif /* HEADER_CARES_NOWARN_H */
diff --git a/ares/ares_options.c b/ares/ares_options.c
deleted file mode 100644 (file)
index 0c87974..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2008-2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-
-#include "ares_setup.h"
-
-#include "ares.h"
-#include "ares_data.h"
-#include "ares_private.h"
-
-
-int ares_get_servers(ares_channel channel,
-                     struct ares_addr_node **servers)
-{
-  struct ares_addr_node *srvr_head = NULL;
-  struct ares_addr_node *srvr_last = NULL;
-  struct ares_addr_node *srvr_curr;
-  int status = ARES_SUCCESS;
-  int i;
-
-  if (!channel)
-    return ARES_ENODATA;
-
-  for (i = 0; i < channel->nservers; i++)
-    {
-      /* Allocate storage for this server node appending it to the list */
-      srvr_curr = ares_malloc_data(ARES_DATATYPE_ADDR_NODE);
-      if (!srvr_curr)
-        {
-          status = ARES_ENOMEM;
-          break;
-        }
-      if (srvr_last)
-        {
-          srvr_last->next = srvr_curr;
-        }
-      else
-        {
-          srvr_head = srvr_curr;
-        }
-      srvr_last = srvr_curr;
-
-      /* Fill this server node data */
-      srvr_curr->family = channel->servers[i].addr.family;
-      if (srvr_curr->family == AF_INET)
-        memcpy(&srvr_curr->addrV4, &channel->servers[i].addr.addrV4,
-               sizeof(srvr_curr->addrV4));
-      else
-        memcpy(&srvr_curr->addrV6, &channel->servers[i].addr.addrV6,
-               sizeof(srvr_curr->addrV6));
-    }
-
-  if (status != ARES_SUCCESS)
-    {
-      if (srvr_head)
-        {
-          ares_free_data(srvr_head);
-          srvr_head = NULL;
-        }
-    }
-
-  *servers = srvr_head;
-
-  return status;
-}
-
-
-int ares_set_servers(ares_channel channel,
-                     struct ares_addr_node *servers)
-{
-  struct ares_addr_node *srvr;
-  int num_srvrs = 0;
-  int i;
-
-  if (ares_library_initialized() != ARES_SUCCESS)
-    return ARES_ENOTINITIALIZED;
-
-  if (!channel)
-    return ARES_ENODATA;
-
-  ares__destroy_servers_state(channel);
-
-  for (srvr = servers; srvr; srvr = srvr->next)
-    {
-      num_srvrs++;
-    }
-
-  if (num_srvrs > 0)
-    {
-      /* Allocate storage for servers state */
-      channel->servers = malloc(num_srvrs * sizeof(struct server_state));
-      if (!channel->servers)
-        {
-          return ARES_ENOMEM;
-        }
-      channel->nservers = num_srvrs;
-      /* Fill servers state address data */
-      for (i = 0, srvr = servers; srvr; i++, srvr = srvr->next)
-        {
-          channel->servers[i].addr.family = srvr->family;
-          if (srvr->family == AF_INET)
-            memcpy(&channel->servers[i].addr.addrV4, &srvr->addrV4,
-                   sizeof(srvr->addrV4));
-          else
-            memcpy(&channel->servers[i].addr.addrV6, &srvr->addrV6,
-                   sizeof(srvr->addrV6));
-        }
-      /* Initialize servers state remaining data */
-      ares__init_servers_state(channel);
-    }
-
-  return ARES_SUCCESS;
-}
diff --git a/ares/ares_parse_a_reply.3 b/ares/ares_parse_a_reply.3
deleted file mode 100644 (file)
index f7debb9..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_PARSE_A_REPLY 3 "25 July 1998"
-.SH NAME
-ares_parse_a_reply \- Parse a reply to a DNS query of type A
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_parse_a_reply(const unsigned char *\fIabuf\fP, int \fIalen\fP,
-.B     struct hostent **\fIhost\fP,
-.B      struct ares_addrttl *\fIaddrttls\fB, int *\fInaddrttls\fB);
-.fi
-.SH DESCRIPTION
-The
-.B ares_parse_a_reply
-function parses the response to a query of type A into a
-.BR "struct hostent"
-and/or an array of
-.BR "struct ares_addrttls" . 
-The parameters
-.I abuf
-and
-.I alen
-give the contents of the response.  The result is stored in allocated
-memory and a pointer to it stored into the variable pointed to by
-.IR host ,
-if host is nonnull.
-It is the caller's responsibility to free the resulting host structure
-using
-.BR ares_free_hostent (3)
-when it is no longer needed.
-.PP
-If
-.IR addrttls
-and
-.IR naddrttls
-are both nonnull,
-then up to *naddrttls
-.BR "struct ares_addrttl"
-records are stored in the array pointed to by addrttls,
-and then *naddrttls is set to the number of records so stored.
-Note that the memory for these records is supplied by the caller.
-.SH RETURN VALUES
-.B ares_parse_a_reply
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The response was successfully parsed.
-.TP 15
-.B ARES_EBADRESP
-The response was malformatted.
-.TP 15
-.B ARES_ENODATA
-The response did not contain an answer to the query.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH SEE ALSO
-.BR ares_gethostbyname (3),
-.BR ares_free_hostent (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_parse_a_reply.c b/ares/ares_parse_a_reply.c
deleted file mode 100644 (file)
index a6ed7dd..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_LIMITS_H
-#  include <limits.h>
-#endif
-
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_private.h"
-
-int ares_parse_a_reply(const unsigned char *abuf, int alen,
-                       struct hostent **host,
-                       struct ares_addrttl *addrttls, int *naddrttls)
-{
-  unsigned int qdcount, ancount;
-  int status, i, rr_type, rr_class, rr_len, rr_ttl, naddrs;
-  int cname_ttl = INT_MAX;  /* the TTL imposed by the CNAME chain */
-  int naliases;
-  long len;
-  const unsigned char *aptr;
-  char *hostname, *rr_name, *rr_data, **aliases;
-  struct in_addr *addrs;
-  struct hostent *hostent;
-  const int max_addr_ttls = (addrttls && naddrttls) ? *naddrttls : 0;
-
-  /* Set *host to NULL for all failure cases. */
-  if (host)
-    *host = NULL;
-  /* Same with *naddrttls. */
-  if (naddrttls)
-    *naddrttls = 0;
-
-  /* Give up if abuf doesn't have room for a header. */
-  if (alen < HFIXEDSZ)
-    return ARES_EBADRESP;
-
-  /* Fetch the question and answer count from the header. */
-  qdcount = DNS_HEADER_QDCOUNT(abuf);
-  ancount = DNS_HEADER_ANCOUNT(abuf);
-  if (qdcount != 1)
-    return ARES_EBADRESP;
-
-  /* Expand the name from the question, and skip past the question. */
-  aptr = abuf + HFIXEDSZ;
-  status = ares__expand_name_for_response(aptr, abuf, alen, &hostname, &len);
-  if (status != ARES_SUCCESS)
-    return status;
-  if (aptr + len + QFIXEDSZ > abuf + alen)
-    {
-      free(hostname);
-      return ARES_EBADRESP;
-    }
-  aptr += len + QFIXEDSZ;
-
-  if (host)
-    {
-      /* Allocate addresses and aliases; ancount gives an upper bound for
-         both. */
-      addrs = malloc(ancount * sizeof(struct in_addr));
-      if (!addrs)
-        {
-          free(hostname);
-          return ARES_ENOMEM;
-        }
-      aliases = malloc((ancount + 1) * sizeof(char *));
-      if (!aliases)
-        {
-          free(hostname);
-          free(addrs);
-          return ARES_ENOMEM;
-        }
-    }
-  else
-    {
-      addrs = NULL;
-      aliases = NULL;
-    }
-
-  naddrs = 0;
-  naliases = 0;
-
-  /* Examine each answer resource record (RR) in turn. */
-  for (i = 0; i < (int)ancount; i++)
-    {
-      /* Decode the RR up to the data field. */
-      status = ares__expand_name_for_response(aptr, abuf, alen, &rr_name, &len);
-      if (status != ARES_SUCCESS)
-        break;
-      aptr += len;
-      if (aptr + RRFIXEDSZ > abuf + alen)
-        {
-          status = ARES_EBADRESP;
-          break;
-        }
-      rr_type = DNS_RR_TYPE(aptr);
-      rr_class = DNS_RR_CLASS(aptr);
-      rr_len = DNS_RR_LEN(aptr);
-      rr_ttl = DNS_RR_TTL(aptr);
-      aptr += RRFIXEDSZ;
-
-      if (rr_class == C_IN && rr_type == T_A
-          && rr_len == sizeof(struct in_addr)
-          && strcasecmp(rr_name, hostname) == 0)
-        {
-          if (addrs)
-            {
-              if (aptr + sizeof(struct in_addr) > abuf + alen)
-              {
-                status = ARES_EBADRESP;
-                break;
-              }
-              memcpy(&addrs[naddrs], aptr, sizeof(struct in_addr));
-            }
-          if (naddrs < max_addr_ttls)
-            {
-              struct ares_addrttl * const at = &addrttls[naddrs];
-              if (aptr + sizeof(struct in_addr) > abuf + alen)
-              {
-                status = ARES_EBADRESP;
-                break;
-              }
-              memcpy(&at->ipaddr, aptr,  sizeof(struct in_addr));
-              at->ttl = rr_ttl;
-            }
-          naddrs++;
-          status = ARES_SUCCESS;
-        }
-
-      if (rr_class == C_IN && rr_type == T_CNAME)
-        {
-          /* Record the RR name as an alias. */
-          if (aliases)
-            aliases[naliases] = rr_name;
-          else
-            free(rr_name);
-          naliases++;
-
-          /* Decode the RR data and replace the hostname with it. */
-          status = ares__expand_name_for_response(aptr, abuf, alen, &rr_data,
-                                                  &len);
-          if (status != ARES_SUCCESS)
-            break;
-          free(hostname);
-          hostname = rr_data;
-
-          /* Take the min of the TTLs we see in the CNAME chain. */
-          if (cname_ttl > rr_ttl)
-            cname_ttl = rr_ttl;
-        }
-      else
-        free(rr_name);
-
-      aptr += rr_len;
-      if (aptr > abuf + alen)
-        {
-          status = ARES_EBADRESP;
-          break;
-        }
-    }
-
-  if (status == ARES_SUCCESS && naddrs == 0)
-    status = ARES_ENODATA;
-  if (status == ARES_SUCCESS)
-    {
-      /* We got our answer. */
-      if (naddrttls)
-        {
-          const int n = naddrs < max_addr_ttls ? naddrs : max_addr_ttls;
-          for (i = 0; i < n; i++)
-            {
-              /* Ensure that each A TTL is no larger than the CNAME TTL. */
-              if (addrttls[i].ttl > cname_ttl)
-                addrttls[i].ttl = cname_ttl;
-            }
-          *naddrttls = n;
-        }
-      if (aliases)
-        aliases[naliases] = NULL;
-      if (host)
-        {
-          /* Allocate memory to build the host entry. */
-          hostent = malloc(sizeof(struct hostent));
-          if (hostent)
-            {
-              hostent->h_addr_list = malloc((naddrs + 1) * sizeof(char *));
-              if (hostent->h_addr_list)
-                {
-                  /* Fill in the hostent and return successfully. */
-                  hostent->h_name = hostname;
-                  hostent->h_aliases = aliases;
-                  hostent->h_addrtype = AF_INET;
-                  hostent->h_length = sizeof(struct in_addr);
-                  for (i = 0; i < naddrs; i++)
-                    hostent->h_addr_list[i] = (char *) &addrs[i];
-                  hostent->h_addr_list[naddrs] = NULL;
-                  *host = hostent;
-                  return ARES_SUCCESS;
-                }
-              free(hostent);
-            }
-          status = ARES_ENOMEM;
-        }
-     }
-  if (aliases)
-    {
-      for (i = 0; i < naliases; i++)
-        free(aliases[i]);
-      free(aliases);
-    }
-  free(addrs);
-  free(hostname);
-  return status;
-}
diff --git a/ares/ares_parse_aaaa_reply.3 b/ares/ares_parse_aaaa_reply.3
deleted file mode 100644 (file)
index 0f77c03..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 2005 by Dominick Meglio.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_PARSE_AAAA_REPLY 3 "20 Nov 2009"
-.SH NAME
-ares_parse_aaaa_reply \- Parse a reply to a DNS query of type AAAA
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_parse_aaaa_reply(const unsigned char *\fIabuf\fP, int \fIalen\fP,
-.B     struct hostent **\fIhost\fP,         
-.B      struct ares_addr6ttl *\fIaddrttls\fB, int *\fInaddrttls\fB);
-.fi
-.SH DESCRIPTION
-The
-.B ares_parse_aaaa_reply
-function parses the response to a query of type AAAA into a
-.BR "struct hostent"
-and/or an array of
-.BR "struct ares_addr6ttl" . 
-The parameters
-.I abuf
-and
-.I alen
-give the contents of the response.  The result is stored in allocated
-memory and a pointer to it stored into the variable pointed to by
-.IR host ,
-if host is nonnull.
-It is the caller's responsibility to free the resulting host structure
-using
-.BR ares_free_hostent (3)
-when it is no longer needed.
-.PP
-If
-.IR addrttls
-and
-.IR naddrttls
-are both nonnull,
-then up to *naddrttls
-.BR "struct ares_addr6ttl"
-records are stored in the array pointed to by addrttls,
-and then *naddrttls is set to the number of records so stored.
-Note that the memory for these records is supplied by the caller.
-.SH RETURN VALUES
-.B ares_parse_aaaa_reply
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The response was successfully parsed.
-.TP 15
-.B ARES_EBADRESP
-The response was malformatted.
-.TP 15
-.B ARES_ENODATA
-The response did not contain an answer to the query.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH SEE ALSO
-.BR ares_gethostbyname (3),
-.BR ares_free_hostent (3)
-.SH AUTHOR
-Dominick Meglio
-.br
-Copyright 2005 by Dominick Meglio.
diff --git a/ares/ares_parse_aaaa_reply.c b/ares/ares_parse_aaaa_reply.c
deleted file mode 100644 (file)
index 8c2843f..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright 2005 Dominick Meglio
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_LIMITS_H
-#  include <limits.h>
-#endif
-
-#include "ares.h"
-#include "ares_dns.h"
-#include "inet_net_pton.h"
-#include "ares_private.h"
-
-int ares_parse_aaaa_reply(const unsigned char *abuf, int alen,
-                          struct hostent **host, struct ares_addr6ttl *addrttls,
-                          int *naddrttls)
-{
-  unsigned int qdcount, ancount;
-  int status, i, rr_type, rr_class, rr_len, rr_ttl, naddrs;
-  int cname_ttl = INT_MAX;  /* the TTL imposed by the CNAME chain */
-  int naliases;
-  long len;
-  const unsigned char *aptr;
-  char *hostname, *rr_name, *rr_data, **aliases;
-  struct ares_in6_addr *addrs;
-  struct hostent *hostent;
-  const int max_addr_ttls = (addrttls && naddrttls) ? *naddrttls : 0;
-
-  /* Set *host to NULL for all failure cases. */
-  if (host)
-    *host = NULL;
-  /* Same with *naddrttls. */
-  if (naddrttls)
-    *naddrttls = 0;
-
-  /* Give up if abuf doesn't have room for a header. */
-  if (alen < HFIXEDSZ)
-    return ARES_EBADRESP;
-
-  /* Fetch the question and answer count from the header. */
-  qdcount = DNS_HEADER_QDCOUNT(abuf);
-  ancount = DNS_HEADER_ANCOUNT(abuf);
-  if (qdcount != 1)
-    return ARES_EBADRESP;
-
-  /* Expand the name from the question, and skip past the question. */
-  aptr = abuf + HFIXEDSZ;
-  status = ares__expand_name_for_response(aptr, abuf, alen, &hostname, &len);
-  if (status != ARES_SUCCESS)
-    return status;
-  if (aptr + len + QFIXEDSZ > abuf + alen)
-    {
-      free(hostname);
-      return ARES_EBADRESP;
-    }
-  aptr += len + QFIXEDSZ;
-
-  /* Allocate addresses and aliases; ancount gives an upper bound for both. */
-  if (host)
-    {
-      addrs = malloc(ancount * sizeof(struct ares_in6_addr));
-      if (!addrs)
-        {
-          free(hostname);
-          return ARES_ENOMEM;
-        }
-      aliases = malloc((ancount + 1) * sizeof(char *));
-      if (!aliases)
-        {
-          free(hostname);
-          free(addrs);
-          return ARES_ENOMEM;
-        }
-    }
-  else
-    {
-      addrs = NULL;
-      aliases = NULL;
-    }
-  naddrs = 0;
-  naliases = 0;
-
-  /* Examine each answer resource record (RR) in turn. */
-  for (i = 0; i < (int)ancount; i++)
-    {
-      /* Decode the RR up to the data field. */
-      status = ares__expand_name_for_response(aptr, abuf, alen, &rr_name, &len);
-      if (status != ARES_SUCCESS)
-        break;
-      aptr += len;
-      if (aptr + RRFIXEDSZ > abuf + alen)
-        {
-          status = ARES_EBADRESP;
-          break;
-        }
-      rr_type = DNS_RR_TYPE(aptr);
-      rr_class = DNS_RR_CLASS(aptr);
-      rr_len = DNS_RR_LEN(aptr);
-      rr_ttl = DNS_RR_TTL(aptr);
-      aptr += RRFIXEDSZ;
-
-      if (rr_class == C_IN && rr_type == T_AAAA
-          && rr_len == sizeof(struct ares_in6_addr)
-          && strcasecmp(rr_name, hostname) == 0)
-        {
-          if (addrs)
-            {
-              if (aptr + sizeof(struct ares_in6_addr) > abuf + alen)
-              {
-                status = ARES_EBADRESP;
-                break;
-              }
-              memcpy(&addrs[naddrs], aptr, sizeof(struct ares_in6_addr));
-            }
-          if (naddrs < max_addr_ttls)
-            {
-              struct ares_addr6ttl * const at = &addrttls[naddrs];
-              if (aptr + sizeof(struct ares_in6_addr) > abuf + alen)
-              {
-                status = ARES_EBADRESP;
-                break;
-              }
-              memcpy(&at->ip6addr, aptr,  sizeof(struct ares_in6_addr));
-              at->ttl = rr_ttl;
-            }
-          naddrs++;
-          status = ARES_SUCCESS;
-        }
-
-      if (rr_class == C_IN && rr_type == T_CNAME)
-        {
-          /* Record the RR name as an alias. */
-          if (aliases)
-            aliases[naliases] = rr_name;
-          else
-            free(rr_name);
-          naliases++;
-
-          /* Decode the RR data and replace the hostname with it. */
-          status = ares__expand_name_for_response(aptr, abuf, alen, &rr_data,
-                                                  &len);
-          if (status != ARES_SUCCESS)
-            break;
-          free(hostname);
-          hostname = rr_data;
-
-          /* Take the min of the TTLs we see in the CNAME chain. */
-          if (cname_ttl > rr_ttl)
-            cname_ttl = rr_ttl;
-        }
-      else
-        free(rr_name);
-
-      aptr += rr_len;
-      if (aptr > abuf + alen)
-        {
-          status = ARES_EBADRESP;
-          break;
-        }
-    }
-
-  if (status == ARES_SUCCESS && naddrs == 0)
-    status = ARES_ENODATA;
-  if (status == ARES_SUCCESS)
-    {
-      /* We got our answer. */
-      if (naddrttls)
-        {
-          const int n = naddrs < max_addr_ttls ? naddrs : max_addr_ttls;
-          for (i = 0; i < n; i++)
-            {
-              /* Ensure that each A TTL is no larger than the CNAME TTL. */
-              if (addrttls[i].ttl > cname_ttl)
-                addrttls[i].ttl = cname_ttl;
-            }
-          *naddrttls = n;
-        }
-      if (aliases)
-        aliases[naliases] = NULL;
-      if (host)
-        {
-          /* Allocate memory to build the host entry. */
-          hostent = malloc(sizeof(struct hostent));
-          if (hostent)
-            {
-              hostent->h_addr_list = malloc((naddrs + 1) * sizeof(char *));
-              if (hostent->h_addr_list)
-                {
-                  /* Fill in the hostent and return successfully. */
-                  hostent->h_name = hostname;
-                  hostent->h_aliases = aliases;
-                  hostent->h_addrtype = AF_INET6;
-                  hostent->h_length = sizeof(struct ares_in6_addr);
-                  for (i = 0; i < naddrs; i++)
-                    hostent->h_addr_list[i] = (char *) &addrs[i];
-                  hostent->h_addr_list[naddrs] = NULL;
-                  *host = hostent;
-                  return ARES_SUCCESS;
-                }
-              free(hostent);
-            }
-          status = ARES_ENOMEM;
-        }
-    }
-  if (aliases)
-    {
-      for (i = 0; i < naliases; i++)
-        free(aliases[i]);
-      free(aliases);
-    }
-  free(addrs);
-  free(hostname);
-  return status;
-}
diff --git a/ares/ares_parse_ns_reply.3 b/ares/ares_parse_ns_reply.3
deleted file mode 100644 (file)
index b6340ac..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_PARSE_NS_REPLY 3 "10 February 2007"
-.SH NAME
-ares_parse_ns_reply \- Parse a reply to a DNS query of type NS into a hostent
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_parse_ns_reply(const unsigned char *\fIabuf\fP, int \fIalen\fP,
-.B     struct hostent **\fIhost\fP);
-.fi
-.SH DESCRIPTION
-The
-.B ares_parse_ns_reply
-function parses the response to a query of type NS into a
-.BR "struct hostent" .
-The parameters
-.I abuf
-and
-.I alen
-give the contents of the response.  The result is stored in allocated
-memory and a pointer to it stored into the variable pointed to by
-.IR host . 
-The nameservers are stored into the 
-.BR aliases 
-field of the 
-.IR host 
-structure. 
-It is the caller's responsibility to free the resulting host structure
-using
-.BR ares_free_hostent (3)
-when it is no longer needed.
-.SH RETURN VALUES
-.B ares_parse_ns_reply
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The response was successfully parsed.
-.TP 15
-.B ARES_EBADRESP
-The response was malformatted.
-.TP 15
-.B ARES_ENODATA
-The response did not contain an answer to the query.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH SEE ALSO
-.BR ares_query (3),
-.BR ares_free_hostent (3)
-.SH AUTHOR
-Written by Vlad Dinulescu <vlad.dinulescu@avira.com>, on behalf of AVIRA Gmbh http://www.avira.com
diff --git a/ares/ares_parse_ns_reply.c b/ares/ares_parse_ns_reply.c
deleted file mode 100644 (file)
index 25c6329..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-/* $Id */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-/*
- * ares_parse_ns_reply created by Vlad Dinulescu <vlad.dinulescu@avira.com>
- *      on behalf of AVIRA Gmbh - http://www.avira.com
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_private.h"
-
-int ares_parse_ns_reply( const unsigned char* abuf, int alen,
-                         struct hostent** host )
-{
-  unsigned int qdcount, ancount;
-  int status, i, rr_type, rr_class, rr_len;
-  int nameservers_num;
-  long len;
-  const unsigned char *aptr;
-  char* hostname, *rr_name, *rr_data, **nameservers;
-  struct hostent *hostent;
-
-  /* Set *host to NULL for all failure cases. */
-  *host = NULL;
-
-  /* Give up if abuf doesn't have room for a header. */
-  if ( alen < HFIXEDSZ )
-    return ARES_EBADRESP;
-
-  /* Fetch the question and answer count from the header. */
-  qdcount = DNS_HEADER_QDCOUNT( abuf );
-  ancount = DNS_HEADER_ANCOUNT( abuf );
-  if ( qdcount != 1 )
-    return ARES_EBADRESP;
-
-  /* Expand the name from the question, and skip past the question. */
-  aptr = abuf + HFIXEDSZ;
-  status = ares__expand_name_for_response( aptr, abuf, alen, &hostname, &len);
-  if ( status != ARES_SUCCESS )
-    return status;
-  if ( aptr + len + QFIXEDSZ > abuf + alen )
-  {
-    free( hostname );
-    return ARES_EBADRESP;
-  }
-  aptr += len + QFIXEDSZ;
-
-  /* Allocate nameservers array; ancount gives an upper bound */
-  nameservers = malloc( ( ancount + 1 ) * sizeof( char * ) );
-  if ( !nameservers )
-  {
-    free( hostname );
-    return ARES_ENOMEM;
-  }
-  nameservers_num = 0;
-
-  /* Examine each answer resource record (RR) in turn. */
-  for ( i = 0; i < ( int ) ancount; i++ )
-  {
-    /* Decode the RR up to the data field. */
-    status = ares__expand_name_for_response( aptr, abuf, alen, &rr_name, &len );
-    if ( status != ARES_SUCCESS )
-      break;
-    aptr += len;
-    if ( aptr + RRFIXEDSZ > abuf + alen )
-    {
-      status = ARES_EBADRESP;
-      break;
-    }
-    rr_type = DNS_RR_TYPE( aptr );
-    rr_class = DNS_RR_CLASS( aptr );
-    rr_len = DNS_RR_LEN( aptr );
-    aptr += RRFIXEDSZ;
-
-    if ( rr_class == C_IN && rr_type == T_NS )
-    {
-      /* Decode the RR data and add it to the nameservers list */
-      status = ares__expand_name_for_response( aptr, abuf, alen, &rr_data,
-                                               &len);
-      if ( status != ARES_SUCCESS )
-      {
-        break;
-      }
-
-      nameservers[nameservers_num] = malloc(strlen(rr_data)+1);
-
-      if (nameservers[nameservers_num]==NULL)
-      {
-        free(rr_name);
-        free(rr_data);
-        status=ARES_ENOMEM;
-        break;
-      }
-      strcpy(nameservers[nameservers_num],rr_data);
-      free(rr_data);
-
-      nameservers_num++;
-    }
-
-    free( rr_name );
-
-    aptr += rr_len;
-    if ( aptr > abuf + alen )
-    {
-      status = ARES_EBADRESP;
-      break;
-    }
-  }
-
-  if ( status == ARES_SUCCESS && nameservers_num == 0 )
-  {
-    status = ARES_ENODATA;
-  }
-  if ( status == ARES_SUCCESS )
-  {
-    /* We got our answer.  Allocate memory to build the host entry. */
-    nameservers[nameservers_num] = NULL;
-    hostent = malloc( sizeof( struct hostent ) );
-    if ( hostent )
-    {
-      hostent->h_addr_list = malloc( 1 * sizeof( char * ) );
-      if ( hostent->h_addr_list )
-      {
-        /* Fill in the hostent and return successfully. */
-        hostent->h_name = hostname;
-        hostent->h_aliases = nameservers;
-        hostent->h_addrtype = AF_INET;
-        hostent->h_length = sizeof( struct in_addr );
-        hostent->h_addr_list[0] = NULL;
-        *host = hostent;
-        return ARES_SUCCESS;
-      }
-      free( hostent );
-    }
-    status = ARES_ENOMEM;
-  }
-  for ( i = 0; i < nameservers_num; i++ )
-    free( nameservers[i] );
-  free( nameservers );
-  free( hostname );
-  return status;
-}
diff --git a/ares/ares_parse_ptr_reply.3 b/ares/ares_parse_ptr_reply.3
deleted file mode 100644 (file)
index 93e12f7..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_PARSE_PTR_REPLY 3 "25 July 1998"
-.SH NAME
-ares_parse_ptr_reply \- Parse a reply to a DNS query of type PTR into a hostent
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_parse_ptr_reply(const unsigned char *\fIabuf\fP, int \fIalen\fP,
-.B     const void *\fIaddr\fP, int \fIaddrlen\fP, int \fIfamily\fP,
-.B     struct hostent **\fIhost\fP);
-.fi
-.SH DESCRIPTION
-The
-.B ares_parse_ptr_reply
-function parses the response to a query of type PTR into a
-.BR "struct hostent" .
-The parameters
-.I abuf
-and
-.I alen
-give the contents of the response.  The parameters
-.IR addr ,
-.IR addrlen ,
-and
-.I family
-specify which address was queried for; they are not used to verify the
-response, merely used to fill in the address of the
-.BR "struct hostent" .
-The resulting
-.B struct hostent
-is stored in allocated memory and a pointer to it stored into the
-variable pointed to by
-.IR host .
-It is the caller's responsibility to free the resulting host structure
-using
-.BR ares_free_hostent (3)
-when it is no longer needed.
-.SH RETURN VALUES
-.B ares_parse_ptr_reply
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The response was successfully parsed.
-.TP 15
-.B ARES_EBADRESP
-The response was malformatted.
-.TP 15
-.B ARES_ENODATA
-The response did not contain an answer to the query.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH SEE ALSO
-.BR ares_gethostbyaddr (3),
-.BR ares_free_hostent (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_parse_ptr_reply.c b/ares/ares_parse_ptr_reply.c
deleted file mode 100644 (file)
index 9923a9d..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_private.h"
-
-int ares_parse_ptr_reply(const unsigned char *abuf, int alen, const void *addr,
-                         int addrlen, int family, struct hostent **host)
-{
-  unsigned int qdcount, ancount;
-  int status, i, rr_type, rr_class, rr_len;
-  long len;
-  const unsigned char *aptr;
-  char *ptrname, *hostname, *rr_name, *rr_data;
-  struct hostent *hostent;
-  int aliascnt = 0;
-  int alias_alloc = 8;
-  char ** aliases;
-
-  /* Set *host to NULL for all failure cases. */
-  *host = NULL;
-
-  /* Give up if abuf doesn't have room for a header. */
-  if (alen < HFIXEDSZ)
-    return ARES_EBADRESP;
-
-  /* Fetch the question and answer count from the header. */
-  qdcount = DNS_HEADER_QDCOUNT(abuf);
-  ancount = DNS_HEADER_ANCOUNT(abuf);
-  if (qdcount != 1)
-    return ARES_EBADRESP;
-
-  /* Expand the name from the question, and skip past the question. */
-  aptr = abuf + HFIXEDSZ;
-  status = ares__expand_name_for_response(aptr, abuf, alen, &ptrname, &len);
-  if (status != ARES_SUCCESS)
-    return status;
-  if (aptr + len + QFIXEDSZ > abuf + alen)
-    {
-      free(ptrname);
-      return ARES_EBADRESP;
-    }
-  aptr += len + QFIXEDSZ;
-
-  /* Examine each answer resource record (RR) in turn. */
-  hostname = NULL;
-  aliases = malloc(alias_alloc * sizeof(char *));
-  if (!aliases)
-    {
-      free(ptrname);
-      return ARES_ENOMEM;
-    }
-  for (i = 0; i < (int)ancount; i++)
-    {
-      /* Decode the RR up to the data field. */
-      status = ares__expand_name_for_response(aptr, abuf, alen, &rr_name, &len);
-      if (status != ARES_SUCCESS)
-        break;
-      aptr += len;
-      if (aptr + RRFIXEDSZ > abuf + alen)
-        {
-          status = ARES_EBADRESP;
-          break;
-        }
-      rr_type = DNS_RR_TYPE(aptr);
-      rr_class = DNS_RR_CLASS(aptr);
-      rr_len = DNS_RR_LEN(aptr);
-      aptr += RRFIXEDSZ;
-
-      if (rr_class == C_IN && rr_type == T_PTR
-          && strcasecmp(rr_name, ptrname) == 0)
-        {
-          /* Decode the RR data and set hostname to it. */
-          status = ares__expand_name_for_response(aptr, abuf, alen, &rr_data,
-                                                  &len);
-          if (status != ARES_SUCCESS)
-            break;
-          if (hostname)
-            free(hostname);
-          hostname = rr_data;
-          aliases[aliascnt] = malloc((strlen(rr_data)+1) * sizeof(char *));
-          if (!aliases[aliascnt])
-            {
-              status = ARES_ENOMEM;
-              break;
-            }
-          strncpy(aliases[aliascnt], rr_data, strlen(rr_data)+1);
-          aliascnt++;
-          if (aliascnt >= alias_alloc) {
-            char **ptr;
-            alias_alloc *= 2;
-            ptr = realloc(aliases, alias_alloc * sizeof(char *));
-            if(!ptr) {
-              status = ARES_ENOMEM;
-              break;
-            }
-            aliases = ptr;
-          }
-        }
-
-      if (rr_class == C_IN && rr_type == T_CNAME)
-        {
-          /* Decode the RR data and replace ptrname with it. */
-          status = ares__expand_name_for_response(aptr, abuf, alen, &rr_data,
-                                                  &len);
-          if (status != ARES_SUCCESS)
-            break;
-          free(ptrname);
-          ptrname = rr_data;
-        }
-
-      free(rr_name);
-      aptr += rr_len;
-      if (aptr > abuf + alen)
-        {
-          status = ARES_EBADRESP;
-          break;
-        }
-    }
-
-  if (status == ARES_SUCCESS && !hostname)
-    status = ARES_ENODATA;
-  if (status == ARES_SUCCESS)
-    {
-      /* We got our answer.  Allocate memory to build the host entry. */
-      hostent = malloc(sizeof(struct hostent));
-      if (hostent)
-        {
-          hostent->h_addr_list = malloc(2 * sizeof(char *));
-          if (hostent->h_addr_list)
-            {
-              hostent->h_addr_list[0] = malloc(addrlen);
-              if (hostent->h_addr_list[0])
-                {
-                  hostent->h_aliases = malloc((aliascnt+1) * sizeof (char *));
-                  if (hostent->h_aliases)
-                    {
-                      /* Fill in the hostent and return successfully. */
-                      hostent->h_name = hostname;
-                      for (i=0 ; i<aliascnt ; i++)
-                        hostent->h_aliases[i] = aliases[i];
-                      hostent->h_aliases[aliascnt] = NULL;
-                      hostent->h_addrtype = family;
-                      hostent->h_length = addrlen;
-                      memcpy(hostent->h_addr_list[0], addr, addrlen);
-                      hostent->h_addr_list[1] = NULL;
-                      *host = hostent;
-                      free(aliases);
-                      free(ptrname);
-                      return ARES_SUCCESS;
-                    }
-                  free(hostent->h_addr_list[0]);
-                }
-              free(hostent->h_addr_list);
-            }
-          free(hostent);
-        }
-      status = ARES_ENOMEM;
-    }
-  for (i=0 ; i<aliascnt ; i++)
-    if (aliases[i]) 
-      free(aliases[i]);
-  free(aliases);
-  if (hostname)
-    free(hostname);
-  free(ptrname);
-  return status;
-}
diff --git a/ares/ares_parse_srv_reply.3 b/ares/ares_parse_srv_reply.3
deleted file mode 100644 (file)
index 9b561ff..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_PARSE_SRV_REPLY 3 "4 August 2009"
-.SH NAME
-ares_parse_srv_reply \- Parse a reply to a DNS query of type SRV
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_parse_srv_reply(const unsigned char* \fIabuf\fP, int \fIalen\fP,
-.B                          struct ares_srv_reply** \fIsrv_out\fP);
-.fi
-.SH DESCRIPTION
-The
-.B ares_parse_srv_reply
-function parses the response to a query of type SRV into a
-linked list of
-.I struct ares_srv_reply 
-The parameters
-.I abuf
-and
-.I alen
-give the contents of the response.  The result is stored in allocated
-memory and a pointer to it stored into the variable pointed to by
-.IR srv_out .
-It is the caller's responsibility to free the resulting
-.IR srv_out
-structure when it is no longer needed using the function
-.B ares_free_data
-.PP
-The structure 
-.I ares_srv_reply
-contains the following fields:
-.sp
-.in +4n
-.nf
-struct ares_srv_reply {
-    struct ares_srv_reply  *next;
-    unsigned short weight;
-    unsigned short priority;
-    unsigned short port;
-    char *host;
-};
-.fi
-.in
-.PP
-.SH RETURN VALUES
-.B ares_parse_srv_reply
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The response was successfully parsed.
-.TP 15
-.B ARES_EBADRESP
-The response was malformatted.
-.TP 15
-.B ARES_ENODATA
-The response did not contain an answer to the query.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH AVAILABILITY
-This function was first introduced in c-ares version 1.7.0.
-.SH SEE ALSO
-.BR ares_query (3)
-.BR ares_free_data (3)
-.SH AUTHOR
-Written by Jakub Hrozek <jhrozek@redhat.com>, on behalf of Red Hat, Inc http://www.redhat.com
diff --git a/ares/ares_parse_srv_reply.c b/ares/ares_parse_srv_reply.c
deleted file mode 100644 (file)
index de723f3..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2009 by Jakub Hrozek <jhrozek@redhat.com>
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_data.h"
-#include "ares_private.h"
-
-/* AIX portability check */
-#ifndef T_SRV
-#  define T_SRV 33 /* server selection */
-#endif
-
-int
-ares_parse_srv_reply (const unsigned char *abuf, int alen,
-                      struct ares_srv_reply **srv_out)
-{
-  unsigned int qdcount, ancount, i;
-  const unsigned char *aptr, *vptr;
-  int status, rr_type, rr_class, rr_len;
-  long len;
-  char *hostname = NULL, *rr_name = NULL;
-  struct ares_srv_reply *srv_head = NULL;
-  struct ares_srv_reply *srv_last = NULL;
-  struct ares_srv_reply *srv_curr;
-
-  /* Set *srv_out to NULL for all failure cases. */
-  *srv_out = NULL;
-
-  /* Give up if abuf doesn't have room for a header. */
-  if (alen < HFIXEDSZ)
-    return ARES_EBADRESP;
-
-  /* Fetch the question and answer count from the header. */
-  qdcount = DNS_HEADER_QDCOUNT (abuf);
-  ancount = DNS_HEADER_ANCOUNT (abuf);
-  if (qdcount != 1)
-    return ARES_EBADRESP;
-  if (ancount == 0)
-    return ARES_ENODATA;
-
-  /* Expand the name from the question, and skip past the question. */
-  aptr = abuf + HFIXEDSZ;
-  status = ares_expand_name (aptr, abuf, alen, &hostname, &len);
-  if (status != ARES_SUCCESS)
-    return status;
-
-  if (aptr + len + QFIXEDSZ > abuf + alen)
-    {
-      free (hostname);
-      return ARES_EBADRESP;
-    }
-  aptr += len + QFIXEDSZ;
-
-  /* Examine each answer resource record (RR) in turn. */
-  for (i = 0; i < ancount; i++)
-    {
-      /* Decode the RR up to the data field. */
-      status = ares_expand_name (aptr, abuf, alen, &rr_name, &len);
-      if (status != ARES_SUCCESS)
-        {
-          break;
-        }
-      aptr += len;
-      if (aptr + RRFIXEDSZ > abuf + alen)
-        {
-          status = ARES_EBADRESP;
-          break;
-        }
-      rr_type = DNS_RR_TYPE (aptr);
-      rr_class = DNS_RR_CLASS (aptr);
-      rr_len = DNS_RR_LEN (aptr);
-      aptr += RRFIXEDSZ;
-
-      /* Check if we are really looking at a SRV record */
-      if (rr_class == C_IN && rr_type == T_SRV)
-        {
-          /* parse the SRV record itself */
-          if (rr_len < 6)
-            {
-              status = ARES_EBADRESP;
-              break;
-            }
-
-          /* Allocate storage for this SRV answer appending it to the list */
-          srv_curr = ares_malloc_data(ARES_DATATYPE_SRV_REPLY);
-          if (!srv_curr)
-            {
-              status = ARES_ENOMEM;
-              break;
-            }
-          if (srv_last)
-            {
-              srv_last->next = srv_curr;
-            }
-          else
-            {
-              srv_head = srv_curr;
-            }
-          srv_last = srv_curr;
-
-          vptr = aptr;
-          srv_curr->priority = ntohs (*((unsigned short *)vptr));
-          vptr += sizeof(unsigned short);
-          srv_curr->weight = ntohs (*((unsigned short *)vptr));
-          vptr += sizeof(unsigned short);
-          srv_curr->port = ntohs (*((unsigned short *)vptr));
-          vptr += sizeof(unsigned short);
-
-          status = ares_expand_name (vptr, abuf, alen, &srv_curr->host, &len);
-          if (status != ARES_SUCCESS)
-            break;
-        }
-
-      /* Don't lose memory in the next iteration */
-      free (rr_name);
-      rr_name = NULL;
-
-      /* Move on to the next record */
-      aptr += rr_len;
-    }
-
-  if (hostname)
-    free (hostname);
-  if (rr_name)
-    free (rr_name);
-
-  /* clean up on error */
-  if (status != ARES_SUCCESS)
-    {
-      if (srv_head)
-        ares_free_data (srv_head);
-      return status;
-    }
-
-  /* everything looks fine, return the data */
-  *srv_out = srv_head;
-
-  return ARES_SUCCESS;
-}
diff --git a/ares/ares_parse_txt_reply.3 b/ares/ares_parse_txt_reply.3
deleted file mode 100644 (file)
index c9926bc..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_PARSE_TXT_REPLY 3 "27 October 2009"
-.SH NAME
-ares_parse_txt_reply \- Parse a reply to a DNS query of type TXT
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_parse_txt_reply(const unsigned char* \fIabuf\fP, int \fIalen\fP,
-.B                         struct ares_txt_reply **\fItxt_out\fP);
-.fi
-.SH DESCRIPTION
-The
-.B ares_parse_txt_reply
-function parses the response to a query of type TXT into a
-linked list of
-.I struct ares_txt_reply 
-The parameters
-.I abuf
-and
-.I alen
-give the contents of the response.  The result is stored in allocated
-memory and a pointer to it stored into the variable pointed to by
-.IR txt_out .
-It is the caller's responsibility to free the resulting
-.IR txt_out
-structure when it is no longer needed using the function
-.B ares_free_data
-.PP
-The structure 
-.I ares_txt_reply
-contains the following fields:
-.sp
-.in +4n
-.nf
-struct ares_txt_reply {
-  struct ares_txt_reply  *next;
-  unsigned int  length;
-  unsigned char *txt;
-};
-.fi
-.in
-.PP
-.SH RETURN VALUES
-.B ares_parse_txt_reply
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The response was successfully parsed.
-.TP 15
-.B ARES_EBADRESP
-The response was malformatted.
-.TP 15
-.B ARES_ENODATA
-The response did not contain an answer to the query.
-.TP 15
-.B ARES_ENOMEM
-Memory was exhausted.
-.SH AVAILABILITY
-This function was first introduced in c-ares version 1.7.0.
-.SH SEE ALSO
-.BR ares_query (3)
-.BR ares_free_data (3)
-.SH AUTHOR
-Written by Jakub Hrozek <jhrozek@redhat.com>, on behalf of Red Hat, Inc http://www.redhat.com
-
diff --git a/ares/ares_parse_txt_reply.c b/ares/ares_parse_txt_reply.c
deleted file mode 100644 (file)
index 8e24e63..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2009 by Jakub Hrozek <jhrozek@redhat.com>
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_data.h"
-#include "ares_private.h"
-
-int
-ares_parse_txt_reply (const unsigned char *abuf, int alen,
-                      struct ares_txt_reply **txt_out)
-{
-  size_t substr_len, str_len;
-  unsigned int qdcount, ancount, i;
-  const unsigned char *aptr;
-  const unsigned char *strptr;
-  int status, rr_type, rr_class, rr_len;
-  long len;
-  char *hostname = NULL, *rr_name = NULL;
-  struct ares_txt_reply *txt_head = NULL;
-  struct ares_txt_reply *txt_last = NULL;
-  struct ares_txt_reply *txt_curr;
-
-  /* Set *txt_out to NULL for all failure cases. */
-  *txt_out = NULL;
-
-  /* Give up if abuf doesn't have room for a header. */
-  if (alen < HFIXEDSZ)
-    return ARES_EBADRESP;
-
-  /* Fetch the question and answer count from the header. */
-  qdcount = DNS_HEADER_QDCOUNT (abuf);
-  ancount = DNS_HEADER_ANCOUNT (abuf);
-  if (qdcount != 1)
-    return ARES_EBADRESP;
-  if (ancount == 0)
-    return ARES_ENODATA;
-
-  /* Expand the name from the question, and skip past the question. */
-  aptr = abuf + HFIXEDSZ;
-  status = ares_expand_name (aptr, abuf, alen, &hostname, &len);
-  if (status != ARES_SUCCESS)
-    return status;
-
-  if (aptr + len + QFIXEDSZ > abuf + alen)
-    {
-      free (hostname);
-      return ARES_EBADRESP;
-    }
-  aptr += len + QFIXEDSZ;
-
-  /* Examine each answer resource record (RR) in turn. */
-  for (i = 0; i < ancount; i++)
-    {
-      /* Decode the RR up to the data field. */
-      status = ares_expand_name (aptr, abuf, alen, &rr_name, &len);
-      if (status != ARES_SUCCESS)
-        {
-          break;
-        }
-      aptr += len;
-      if (aptr + RRFIXEDSZ > abuf + alen)
-        {
-          status = ARES_EBADRESP;
-          break;
-        }
-      rr_type = DNS_RR_TYPE (aptr);
-      rr_class = DNS_RR_CLASS (aptr);
-      rr_len = DNS_RR_LEN (aptr);
-      aptr += RRFIXEDSZ;
-
-      /* Check if we are really looking at a TXT record */
-      if (rr_class == C_IN && rr_type == T_TXT)
-        {
-          /* Allocate storage for this TXT answer appending it to the list */
-          txt_curr = ares_malloc_data(ARES_DATATYPE_TXT_REPLY);
-          if (!txt_curr)
-            {
-              status = ARES_ENOMEM;
-              break;
-            }
-          if (txt_last)
-            {
-              txt_last->next = txt_curr;
-            }
-          else
-            {
-              txt_head = txt_curr;
-            }
-          txt_last = txt_curr;
-
-          /*
-           * There may be multiple substrings in a single TXT record. Each
-           * substring may be up to 255 characters in length, with a
-           * "length byte" indicating the size of the substring payload.
-           * RDATA contains both the length-bytes and payloads of all
-           * substrings contained therein.
-           */
-
-          /* Compute total length to allow a single memory allocation */
-          strptr = aptr;
-          while (strptr < (aptr + rr_len))
-            {
-              substr_len = (unsigned char)*strptr;
-              txt_curr->length += substr_len;
-              strptr += substr_len + 1;
-            }
-
-          /* Including null byte */
-          txt_curr->txt = malloc (txt_curr->length + 1);
-          if (txt_curr->txt == NULL)
-            {
-              status = ARES_ENOMEM;
-              break;
-            }
-
-          /* Step through the list of substrings, concatenating them */
-          str_len = 0;
-          strptr = aptr;
-          while (strptr < (aptr + rr_len))
-            {
-              substr_len = (unsigned char)*strptr;
-              strptr++;
-              memcpy ((char *) txt_curr->txt + str_len, strptr, substr_len);
-              str_len += substr_len;
-              strptr += substr_len;
-            }
-          /* Make sure we NULL-terminate */
-          *((char *) txt_curr->txt + txt_curr->length) = '\0';
-        }
-
-      /* Don't lose memory in the next iteration */
-      free (rr_name);
-      rr_name = NULL;
-
-      /* Move on to the next record */
-      aptr += rr_len;
-    }
-
-  if (hostname)
-    free (hostname);
-  if (rr_name)
-    free (rr_name);
-
-  /* clean up on error */
-  if (status != ARES_SUCCESS)
-    {
-      if (txt_head)
-        ares_free_data (txt_head);
-      return status;
-    }
-
-  /* everything looks fine, return the data */
-  *txt_out = txt_head;
-
-  return ARES_SUCCESS;
-}
diff --git a/ares/ares_private.h b/ares/ares_private.h
deleted file mode 100644 (file)
index 2766d19..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-#ifndef __ARES_PRIVATE_H
-#define __ARES_PRIVATE_H
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2004-2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-/*
- * Define WIN32 when build target is Win32 API
- */
-
-#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
-#define WIN32
-#endif
-
-#include <stdio.h>
-#include <sys/types.h>
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-
-#ifdef WATT32
-#include <tcp.h>
-#include <sys/ioctl.h>
-#define writev(s,v,c)     writev_s(s,v,c)
-#define HAVE_WRITEV 1
-#endif
-
-#ifdef NETWARE
-#include <time.h>
-#endif
-
-#define DEFAULT_TIMEOUT         5000 /* milliseconds */
-#define DEFAULT_TRIES           4
-#ifndef INADDR_NONE
-#define INADDR_NONE 0xffffffff
-#endif
-
-#if defined(WIN32) && !defined(WATT32)
-
-#define IS_NT()        ((int)GetVersion() > 0)
-#define WIN_NS_9X      "System\\CurrentControlSet\\Services\\VxD\\MSTCP"
-#define WIN_NS_NT_KEY  "System\\CurrentControlSet\\Services\\Tcpip\\Parameters"
-#define NAMESERVER     "NameServer"
-#define DHCPNAMESERVER "DhcpNameServer"
-#define DATABASEPATH   "DatabasePath"
-#define WIN_PATH_HOSTS  "\\hosts"
-
-#elif defined(WATT32)
-
-#define PATH_RESOLV_CONF "/dev/ENV/etc/resolv.conf"
-
-#elif defined(NETWARE)
-
-#define PATH_RESOLV_CONF "sys:/etc/resolv.cfg"
-#define PATH_HOSTS              "sys:/etc/hosts"
-
-#elif defined(__riscos__)
-
-#define PATH_HOSTS             "InetDBase:Hosts"
-
-#else
-
-#define PATH_RESOLV_CONF        "/etc/resolv.conf"
-#ifdef ETC_INET
-#define PATH_HOSTS              "/etc/inet/hosts"
-#else
-#define PATH_HOSTS              "/etc/hosts"
-#endif
-
-#endif
-
-#define ARES_ID_KEY_LEN 31
-
-#include "ares_ipv6.h"
-#include "ares_llist.h"
-
-#ifndef HAVE_STRDUP
-#  include "ares_strdup.h"
-#  define strdup(ptr) ares_strdup(ptr)
-#endif
-
-#ifndef HAVE_STRCASECMP
-#  include "ares_strcasecmp.h"
-#  define strcasecmp(p1,p2) ares_strcasecmp(p1,p2)
-#endif
-
-#ifndef HAVE_STRNCASECMP
-#  include "ares_strcasecmp.h"
-#  define strncasecmp(p1,p2,n) ares_strncasecmp(p1,p2,n)
-#endif
-
-#ifndef HAVE_WRITEV
-#  include "ares_writev.h"
-#  define writev(s,ptr,cnt) ares_writev(s,ptr,cnt)
-#endif
-
-struct ares_addr {
-  int family;
-  union {
-    struct in_addr       addr4;
-    struct ares_in6_addr addr6;
-  } addr;
-};
-#define addrV4 addr.addr4
-#define addrV6 addr.addr6
-
-struct query;
-
-struct send_request {
-  /* Remaining data to send */
-  const unsigned char *data;
-  size_t len;
-
-  /* The query for which we're sending this data */
-  struct query* owner_query;
-  /* The buffer we're using, if we have our own copy of the packet */
-  unsigned char *data_storage;
-
-  /* Next request in queue */
-  struct send_request *next;
-};
-
-struct server_state {
-  struct ares_addr addr;
-  ares_socket_t udp_socket;
-  ares_socket_t tcp_socket;
-
-  /* Mini-buffer for reading the length word */
-  unsigned char tcp_lenbuf[2];
-  int tcp_lenbuf_pos;
-  int tcp_length;
-
-  /* Buffer for reading actual TCP data */
-  unsigned char *tcp_buffer;
-  int tcp_buffer_pos;
-
-  /* TCP output queue */
-  struct send_request *qhead;
-  struct send_request *qtail;
-
-  /* Which incarnation of this connection is this? We don't want to
-   * retransmit requests into the very same socket, but if the server
-   * closes on us and we re-open the connection, then we do want to
-   * re-send. */
-  int tcp_connection_generation;
-
-  /* Circular, doubly-linked list of outstanding queries to this server */
-  struct list_node queries_to_server;
-
-  /* Link back to owning channel */
-  ares_channel channel;
-
-  /* Is this server broken? We mark connections as broken when a
-   * request that is queued for sending times out.
-   */
-  int is_broken;
-};
-
-/* State to represent a DNS query */
-struct query {
-  /* Query ID from qbuf, for faster lookup, and current timeout */
-  unsigned short qid;
-  struct timeval timeout;
-
-  /*
-   * Links for the doubly-linked lists in which we insert a query.
-   * These circular, doubly-linked lists that are hash-bucketed based
-   * the attributes we care about, help making most important
-   * operations O(1).
-   */
-  struct list_node queries_by_qid;    /* hopefully in same cache line as qid */
-  struct list_node queries_by_timeout;
-  struct list_node queries_to_server;
-  struct list_node all_queries;
-
-  /* Query buf with length at beginning, for TCP transmission */
-  unsigned char *tcpbuf;
-  int tcplen;
-
-  /* Arguments passed to ares_send() (qbuf points into tcpbuf) */
-  const unsigned char *qbuf;
-  int qlen;
-  ares_callback callback;
-  void *arg;
-
-  /* Query status */
-  int try; /* Number of times we tried this query already. */
-  int server; /* Server this query has last been sent to. */
-  struct query_server_info *server_info;   /* per-server state */
-  int using_tcp;
-  int error_status;
-  int timeouts; /* number of timeouts we saw for this request */
-};
-
-/* Per-server state for a query */
-struct query_server_info {
-  int skip_server;  /* should we skip server, due to errors, etc? */
-  int tcp_connection_generation;  /* into which TCP connection did we send? */
-};
-
-/* An IP address pattern; matches an IP address X if X & mask == addr */
-#define PATTERN_MASK 0x1
-#define PATTERN_CIDR 0x2
-
-struct apattern {
-  union
-  {
-    struct in_addr       addr4;
-    struct ares_in6_addr addr6;
-  } addr;
-  union
-  {
-    struct in_addr       addr4;
-    struct ares_in6_addr addr6;
-    unsigned short       bits;
-  } mask;
-  int family;
-  unsigned short type;
-};
-
-typedef struct rc4_key
-{
-  unsigned char state[256];
-  unsigned char x;
-  unsigned char y;
-} rc4_key;
-
-struct ares_channeldata {
-  /* Configuration data */
-  int flags;
-  int timeout; /* in milliseconds */
-  int tries;
-  int ndots;
-  int rotate; /* if true, all servers specified are used */
-  int udp_port;
-  int tcp_port;
-  int socket_send_buffer_size;
-  int socket_receive_buffer_size;
-  char **domains;
-  int ndomains;
-  struct apattern *sortlist;
-  int nsort;
-  char *lookups;
-
-  int optmask; /* the option bitfield passed in at init time */
-
-  /* Server addresses and communications state */
-  struct server_state *servers;
-  int nservers;
-
-  /* ID to use for next query */
-  unsigned short next_id;
-  /* key to use when generating new ids */
-  rc4_key id_key;
-
-  /* Generation number to use for the next TCP socket open/close */
-  int tcp_connection_generation;
-
-  /* The time at which we last called process_timeouts(). Uses integer seconds
-     just to draw the line somewhere. */
-  time_t last_timeout_processed;
-
-  /* Last server we sent a query to. */
-  int last_server;
-
-  /* Circular, doubly-linked list of queries, bucketed various ways.... */
-  /* All active queries in a single list: */
-  struct list_node all_queries;
-  /* Queries bucketed by qid, for quickly dispatching DNS responses: */
-#define ARES_QID_TABLE_SIZE 2048
-  struct list_node queries_by_qid[ARES_QID_TABLE_SIZE];
-  /* Queries bucketed by timeout, for quickly handling timeouts: */
-#define ARES_TIMEOUT_TABLE_SIZE 1024
-  struct list_node queries_by_timeout[ARES_TIMEOUT_TABLE_SIZE];
-
-  ares_sock_state_cb sock_state_cb;
-  void *sock_state_cb_data;
-
-  ares_sock_create_callback sock_create_cb;
-  void *sock_create_cb_data;
-};
-
-/* return true if now is exactly check time or later */
-int ares__timedout(struct timeval *now,
-                   struct timeval *check);
-/* add the specific number of milliseconds to the time in the first argument */
-int ares__timeadd(struct timeval *now,
-                  int millisecs);
-/* return time offset between now and (future) check, in milliseconds */
-long ares__timeoffset(struct timeval *now,
-                      struct timeval *check);
-/* returns ARES_SUCCESS if library has been initialized */
-int ares_library_initialized(void);
-void ares__rc4(rc4_key* key,unsigned char *buffer_ptr, int buffer_len);
-void ares__send_query(ares_channel channel, struct query *query,
-                      struct timeval *now);
-void ares__close_sockets(ares_channel channel, struct server_state *server);
-int ares__get_hostent(FILE *fp, int family, struct hostent **host);
-int ares__read_line(FILE *fp, char **buf, size_t *bufsize);
-void ares__free_query(struct query *query);
-unsigned short ares__generate_new_id(rc4_key* key);
-struct timeval ares__tvnow(void);
-int ares__expand_name_for_response(const unsigned char *encoded,
-                                   const unsigned char *abuf, int alen,
-                                   char **s, long *enclen);
-void ares__init_servers_state(ares_channel channel);
-void ares__destroy_servers_state(ares_channel channel);
-#if 0 /* Not used */
-long ares__tvdiff(struct timeval t1, struct timeval t2);
-#endif
-
-#define ARES_SWAP_BYTE(a,b) \
-  { unsigned char swapByte = *(a);  *(a) = *(b);  *(b) = swapByte; }
-
-#define SOCK_STATE_CALLBACK(c, s, r, w)                                 \
-  do {                                                                  \
-    if ((c)->sock_state_cb)                                             \
-      (c)->sock_state_cb((c)->sock_state_cb_data, (s), (r), (w));       \
-  } while (0)
-
-#ifdef CURLDEBUG
-/* This is low-level hard-hacking memory leak tracking and similar. Using the
-   libcurl lowlevel code from within library is ugly and only works when
-   c-ares is built and linked with a similarly curldebug-enabled libcurl,
-   but we do this anyway for convenience. */
-#include "../lib/memdebug.h"
-#endif
-
-#endif /* __ARES_PRIVATE_H */
diff --git a/ares/ares_process.3 b/ares/ares_process.3
deleted file mode 100644 (file)
index c9cd547..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_PROCESS 3 "25 July 1998"
-.SH NAME
-ares_process \- Process events for name resolution
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_process(ares_channel \fIchannel\fP, fd_set *\fIread_fds\fP,
-.B     fd_set *\fIwrite_fds\fP)
-.fi
-.PP
-.B void ares_process_fd(ares_channel \fIchannel\fP,
-.B      ares_socket_t \fIread_fd\fP,
-.B     ares_socket_t \fIwrite_fd\fP)
-.fi
-.SH DESCRIPTION
-The \fBares_process(3)\fP function handles input/output events and timeouts
-associated with queries pending on the name service channel identified by
-.IR channel .
-The file descriptor sets pointed to by \fIread_fds\fP and \fIwrite_fds\fP
-should have file descriptors set in them according to whether the file
-descriptors specified by \fIares_fds(3)\fP are ready for reading and writing.
-(The easiest way to determine this information is to invoke
-.B select
-with a timeout no greater than the timeout given by \fIares_timeout(3)\fP ).
-.PP
-The
-.B ares_process
-function will invoke callbacks for pending queries if they complete
-successfully or fail.
-
-\fBares_process_fd(3)\fP works the same way but acts and operates only on the
-specific file descriptors (sockets) you pass in to the function. Use
-ARES_SOCKET_BAD for "no action". This function is of course provided to allow
-users of c-ares to void select() in their applications and within c-ares.
-.SS EXAMPLE
-The following code fragment waits for all pending queries on a channel
-to complete:
-.PP
-.RS
-.nf
-int nfds, count;
-fd_set readers, writers;
-struct timeval tv, *tvp;
-
-while (1)
-  {
-    FD_ZERO(&readers);
-    FD_ZERO(&writers);
-    nfds = ares_fds(channel, &readers, &writers);
-    if (nfds == 0)
-      break;
-    tvp = ares_timeout(channel, NULL, &tv);
-    count = select(nfds, &readers, &writers, NULL, tvp);
-    ares_process(channel, &readers, &writers);
-  }
-.fi
-.RE
-.SH SEE ALSO
-.BR ares_fds (3),
-.BR ares_timeout (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_process.c b/ares/ares_process.c
deleted file mode 100644 (file)
index ab0b79d..0000000
+++ /dev/null
@@ -1,1262 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- * Copyright (C) 2004-2010 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_SYS_UIO_H
-#  include <sys/uio.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_NETINET_TCP_H
-#  include <netinet/tcp.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#  include <sys/time.h>
-#endif
-
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#  include <sys/ioctl.h>
-#endif
-#ifdef NETWARE
-#  include <sys/filio.h>
-#endif
-
-#include <assert.h>
-#include <string.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <time.h>
-#include <errno.h>
-
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_private.h"
-
-
-static int try_again(int errnum);
-static void write_tcp_data(ares_channel channel, fd_set *write_fds,
-                           ares_socket_t write_fd, struct timeval *now);
-static void read_tcp_data(ares_channel channel, fd_set *read_fds,
-                          ares_socket_t read_fd, struct timeval *now);
-static void read_udp_packets(ares_channel channel, fd_set *read_fds,
-                             ares_socket_t read_fd, struct timeval *now);
-static void advance_tcp_send_queue(ares_channel channel, int whichserver,
-                                   ssize_t num_bytes);
-static void process_timeouts(ares_channel channel, struct timeval *now);
-static void process_broken_connections(ares_channel channel,
-                                       struct timeval *now);
-static void process_answer(ares_channel channel, unsigned char *abuf,
-                           int alen, int whichserver, int tcp,
-                           struct timeval *now);
-static void handle_error(ares_channel channel, int whichserver,
-                         struct timeval *now);
-static void skip_server(ares_channel channel, struct query *query,
-                        int whichserver);
-static void next_server(ares_channel channel, struct query *query,
-                        struct timeval *now);
-static int configure_socket(ares_socket_t s, ares_channel channel);
-static int open_tcp_socket(ares_channel channel, struct server_state *server);
-static int open_udp_socket(ares_channel channel, struct server_state *server);
-static int same_questions(const unsigned char *qbuf, int qlen,
-                          const unsigned char *abuf, int alen);
-static int same_address(struct sockaddr *sa, struct ares_addr *aa);
-static void end_query(ares_channel channel, struct query *query, int status,
-                      unsigned char *abuf, int alen);
-
-/* return true if now is exactly check time or later */
-int ares__timedout(struct timeval *now,
-                   struct timeval *check)
-{
-  long secs = (now->tv_sec - check->tv_sec);
-
-  if(secs > 0)
-    return 1; /* yes, timed out */
-  if(secs < 0)
-    return 0; /* nope, not timed out */
-
-  /* if the full seconds were identical, check the sub second parts */
-  return (now->tv_usec - check->tv_usec >= 0);
-}
-
-/* add the specific number of milliseconds to the time in the first argument */
-int ares__timeadd(struct timeval *now,
-                  int millisecs)
-{
-  now->tv_sec += millisecs/1000;
-  now->tv_usec += (millisecs%1000)*1000;
-
-  if(now->tv_usec >= 1000000) {
-    ++(now->tv_sec);
-    now->tv_usec -= 1000000;
-  }
-
-  return 0;
-}
-
-/* return time offset between now and (future) check, in milliseconds */
-long ares__timeoffset(struct timeval *now,
-                      struct timeval *check)
-{
-  return (check->tv_sec - now->tv_sec)*1000 +
-         (check->tv_usec - now->tv_usec)/1000;
-}
-
-
-/*
- * generic process function
- */
-static void processfds(ares_channel channel,
-                       fd_set *read_fds, ares_socket_t read_fd,
-                       fd_set *write_fds, ares_socket_t write_fd)
-{
-  struct timeval now = ares__tvnow();
-
-  write_tcp_data(channel, write_fds, write_fd, &now);
-  read_tcp_data(channel, read_fds, read_fd, &now);
-  read_udp_packets(channel, read_fds, read_fd, &now);
-  process_timeouts(channel, &now);
-  process_broken_connections(channel, &now);
-}
-
-/* Something interesting happened on the wire, or there was a timeout.
- * See what's up and respond accordingly.
- */
-void ares_process(ares_channel channel, fd_set *read_fds, fd_set *write_fds)
-{
-  processfds(channel, read_fds, ARES_SOCKET_BAD, write_fds, ARES_SOCKET_BAD);
-}
-
-/* Something interesting happened on the wire, or there was a timeout.
- * See what's up and respond accordingly.
- */
-void ares_process_fd(ares_channel channel,
-                     ares_socket_t read_fd, /* use ARES_SOCKET_BAD or valid
-                                               file descriptors */
-                     ares_socket_t write_fd)
-{
-  processfds(channel, NULL, read_fd, NULL, write_fd);
-}
-
-
-/* Return 1 if the specified error number describes a readiness error, or 0
- * otherwise. This is mostly for HP-UX, which could return EAGAIN or
- * EWOULDBLOCK. See this man page
- *
- * http://devrsrc1.external.hp.com/STKS/cgi-bin/man2html?
- *     manpage=/usr/share/man/man2.Z/send.2
- */
-static int try_again(int errnum)
-{
-#if !defined EWOULDBLOCK && !defined EAGAIN
-#error "Neither EWOULDBLOCK nor EAGAIN defined"
-#endif
-  switch (errnum)
-    {
-#ifdef EWOULDBLOCK
-    case EWOULDBLOCK:
-      return 1;
-#endif
-#if defined EAGAIN && EAGAIN != EWOULDBLOCK
-    case EAGAIN:
-      return 1;
-#endif
-    }
-  return 0;
-}
-
-/* If any TCP sockets select true for writing, write out queued data
- * we have for them.
- */
-static void write_tcp_data(ares_channel channel,
-                           fd_set *write_fds,
-                           ares_socket_t write_fd,
-                           struct timeval *now)
-{
-  struct server_state *server;
-  struct send_request *sendreq;
-  struct iovec *vec;
-  int i;
-  ssize_t scount;
-  ssize_t wcount;
-  size_t n;
-
-  if(!write_fds && (write_fd == ARES_SOCKET_BAD))
-    /* no possible action */
-    return;
-
-  for (i = 0; i < channel->nservers; i++)
-    {
-      /* Make sure server has data to send and is selected in write_fds or
-         write_fd. */
-      server = &channel->servers[i];
-      if (!server->qhead || server->tcp_socket == ARES_SOCKET_BAD ||
-          server->is_broken)
-        continue;
-
-      if(write_fds) {
-        if(!FD_ISSET(server->tcp_socket, write_fds))
-          continue;
-      }
-      else {
-        if(server->tcp_socket != write_fd)
-          continue;
-      }
-
-      if(write_fds)
-        /* If there's an error and we close this socket, then open
-         * another with the same fd to talk to another server, then we
-         * don't want to think that it was the new socket that was
-         * ready. This is not disastrous, but is likely to result in
-         * extra system calls and confusion. */
-        FD_CLR(server->tcp_socket, write_fds);
-
-      /* Count the number of send queue items. */
-      n = 0;
-      for (sendreq = server->qhead; sendreq; sendreq = sendreq->next)
-        n++;
-
-      /* Allocate iovecs so we can send all our data at once. */
-      vec = malloc(n * sizeof(struct iovec));
-      if (vec)
-        {
-          /* Fill in the iovecs and send. */
-          n = 0;
-          for (sendreq = server->qhead; sendreq; sendreq = sendreq->next)
-            {
-              vec[n].iov_base = (char *) sendreq->data;
-              vec[n].iov_len = sendreq->len;
-              n++;
-            }
-          wcount = (ssize_t)writev(server->tcp_socket, vec, (int)n);
-          free(vec);
-          if (wcount < 0)
-            {
-              if (!try_again(SOCKERRNO))
-                  handle_error(channel, i, now);
-              continue;
-            }
-
-          /* Advance the send queue by as many bytes as we sent. */
-          advance_tcp_send_queue(channel, i, wcount);
-        }
-      else
-        {
-          /* Can't allocate iovecs; just send the first request. */
-          sendreq = server->qhead;
-
-          scount = swrite(server->tcp_socket, sendreq->data, sendreq->len);
-          if (scount < 0)
-            {
-              if (!try_again(SOCKERRNO))
-                  handle_error(channel, i, now);
-              continue;
-            }
-
-          /* Advance the send queue by as many bytes as we sent. */
-          advance_tcp_send_queue(channel, i, scount);
-        }
-    }
-}
-
-/* Consume the given number of bytes from the head of the TCP send queue. */
-static void advance_tcp_send_queue(ares_channel channel, int whichserver,
-                                   ssize_t num_bytes)
-{
-  struct send_request *sendreq;
-  struct server_state *server = &channel->servers[whichserver];
-  while (num_bytes > 0)
-    {
-      sendreq = server->qhead;
-      if ((size_t)num_bytes >= sendreq->len)
-       {
-         num_bytes -= sendreq->len;
-         server->qhead = sendreq->next;
-         if (server->qhead == NULL)
-           {
-             SOCK_STATE_CALLBACK(channel, server->tcp_socket, 1, 0);
-             server->qtail = NULL;
-           }
-         if (sendreq->data_storage != NULL)
-           free(sendreq->data_storage);
-         free(sendreq);
-       }
-      else
-       {
-         sendreq->data += num_bytes;
-         sendreq->len -= num_bytes;
-         num_bytes = 0;
-       }
-    }
-}
-
-/* If any TCP socket selects true for reading, read some data,
- * allocate a buffer if we finish reading the length word, and process
- * a packet if we finish reading one.
- */
-static void read_tcp_data(ares_channel channel, fd_set *read_fds,
-                          ares_socket_t read_fd, struct timeval *now)
-{
-  struct server_state *server;
-  int i;
-  ssize_t count;
-
-  if(!read_fds && (read_fd == ARES_SOCKET_BAD))
-    /* no possible action */
-    return;
-
-  for (i = 0; i < channel->nservers; i++)
-    {
-      /* Make sure the server has a socket and is selected in read_fds. */
-      server = &channel->servers[i];
-      if (server->tcp_socket == ARES_SOCKET_BAD || server->is_broken)
-        continue;
-
-      if(read_fds) {
-        if(!FD_ISSET(server->tcp_socket, read_fds))
-          continue;
-      }
-      else {
-        if(server->tcp_socket != read_fd)
-          continue;
-      }
-
-      if(read_fds)
-        /* If there's an error and we close this socket, then open
-         * another with the same fd to talk to another server, then we
-         * don't want to think that it was the new socket that was
-         * ready. This is not disastrous, but is likely to result in
-         * extra system calls and confusion. */
-        FD_CLR(server->tcp_socket, read_fds);
-
-      if (server->tcp_lenbuf_pos != 2)
-        {
-          /* We haven't yet read a length word, so read that (or
-           * what's left to read of it).
-           */
-          count = sread(server->tcp_socket,
-                        server->tcp_lenbuf + server->tcp_lenbuf_pos,
-                        2 - server->tcp_lenbuf_pos);
-          if (count <= 0)
-            {
-              if (!(count == -1 && try_again(SOCKERRNO)))
-                  handle_error(channel, i, now);
-              continue;
-            }
-
-          server->tcp_lenbuf_pos += (int)count;
-          if (server->tcp_lenbuf_pos == 2)
-            {
-              /* We finished reading the length word.  Decode the
-               * length and allocate a buffer for the data.
-               */
-              server->tcp_length = server->tcp_lenbuf[0] << 8
-                | server->tcp_lenbuf[1];
-              server->tcp_buffer = malloc(server->tcp_length);
-              if (!server->tcp_buffer)
-                handle_error(channel, i, now);
-              server->tcp_buffer_pos = 0;
-            }
-        }
-      else
-        {
-          /* Read data into the allocated buffer. */
-          count = sread(server->tcp_socket,
-                        server->tcp_buffer + server->tcp_buffer_pos,
-                        server->tcp_length - server->tcp_buffer_pos);
-          if (count <= 0)
-            {
-              if (!(count == -1 && try_again(SOCKERRNO)))
-                  handle_error(channel, i, now);
-              continue;
-            }
-
-          server->tcp_buffer_pos += (int)count;
-          if (server->tcp_buffer_pos == server->tcp_length)
-            {
-              /* We finished reading this answer; process it and
-               * prepare to read another length word.
-               */
-              process_answer(channel, server->tcp_buffer, server->tcp_length,
-                             i, 1, now);
-          if (server->tcp_buffer)
-                        free(server->tcp_buffer);
-              server->tcp_buffer = NULL;
-              server->tcp_lenbuf_pos = 0;
-              server->tcp_buffer_pos = 0;
-            }
-        }
-    }
-}
-
-/* If any UDP sockets select true for reading, process them. */
-static void read_udp_packets(ares_channel channel, fd_set *read_fds,
-                             ares_socket_t read_fd, struct timeval *now)
-{
-  struct server_state *server;
-  int i;
-  ssize_t count;
-  unsigned char buf[PACKETSZ + 1];
-#ifdef HAVE_RECVFROM
-  ares_socklen_t fromlen;
-  union {
-    struct sockaddr_in  sa4;
-    struct sockaddr_in6 sa6;
-  } from;
-#endif
-
-  if(!read_fds && (read_fd == ARES_SOCKET_BAD))
-    /* no possible action */
-    return;
-
-  for (i = 0; i < channel->nservers; i++)
-    {
-      /* Make sure the server has a socket and is selected in read_fds. */
-      server = &channel->servers[i];
-
-      if (server->udp_socket == ARES_SOCKET_BAD || server->is_broken)
-        continue;
-
-      if(read_fds) {
-        if(!FD_ISSET(server->udp_socket, read_fds))
-          continue;
-      }
-      else {
-        if(server->udp_socket != read_fd)
-          continue;
-      }
-
-      if(read_fds)
-        /* If there's an error and we close this socket, then open
-         * another with the same fd to talk to another server, then we
-         * don't want to think that it was the new socket that was
-         * ready. This is not disastrous, but is likely to result in
-         * extra system calls and confusion. */
-        FD_CLR(server->udp_socket, read_fds);
-
-      /* To reduce event loop overhead, read and process as many
-       * packets as we can. */
-      do {
-#ifdef HAVE_RECVFROM
-        if (server->addr.family == AF_INET)
-          fromlen = sizeof(from.sa4);
-        else
-          fromlen = sizeof(from.sa6);
-        count = (ssize_t)recvfrom(server->udp_socket, (void *)buf, sizeof(buf),
-                                  0, (struct sockaddr *)&from, &fromlen);
-#else
-        count = sread(server->udp_socket, buf, sizeof(buf));
-#endif
-        if (count == -1 && try_again(SOCKERRNO))
-          continue;
-        else if (count <= 0)
-          handle_error(channel, i, now);
-#ifdef HAVE_RECVFROM
-        else if (!same_address((struct sockaddr *)&from, &server->addr))
-          /* The address the response comes from does not match
-           * the address we sent the request to. Someone may be
-           * attempting to perform a cache poisoning attack. */
-          break;
-#endif
-        else
-          process_answer(channel, buf, (int)count, i, 0, now);
-       } while (count > 0);
-    }
-}
-
-/* If any queries have timed out, note the timeout and move them on. */
-static void process_timeouts(ares_channel channel, struct timeval *now)
-{
-  time_t t;  /* the time of the timeouts we're processing */
-  struct query *query;
-  struct list_node* list_head;
-  struct list_node* list_node;
-
-  /* Process all the timeouts that have fired since the last time we
-   * processed timeouts. If things are going well, then we'll have
-   * hundreds/thousands of queries that fall into future buckets, and
-   * only a handful of requests that fall into the "now" bucket, so
-   * this should be quite quick.
-   */
-  for (t = channel->last_timeout_processed; t <= now->tv_sec; t++)
-    {
-      list_head = &(channel->queries_by_timeout[t % ARES_TIMEOUT_TABLE_SIZE]);
-      for (list_node = list_head->next; list_node != list_head; )
-        {
-          query = list_node->data;
-          list_node = list_node->next;  /* in case the query gets deleted */
-          if (query->timeout.tv_sec && ares__timedout(now, &query->timeout))
-            {
-              query->error_status = ARES_ETIMEOUT;
-              ++query->timeouts;
-              next_server(channel, query, now);
-            }
-        }
-     }
-  channel->last_timeout_processed = now->tv_sec;
-}
-
-/* Handle an answer from a server. */
-static void process_answer(ares_channel channel, unsigned char *abuf,
-                           int alen, int whichserver, int tcp,
-                           struct timeval *now)
-{
-  int tc, rcode;
-  unsigned short id;
-  struct query *query;
-  struct list_node* list_head;
-  struct list_node* list_node;
-
-  /* If there's no room in the answer for a header, we can't do much
-   * with it. */
-  if (alen < HFIXEDSZ)
-    return;
-
-  /* Grab the query ID, truncate bit, and response code from the packet. */
-  id = DNS_HEADER_QID(abuf);
-  tc = DNS_HEADER_TC(abuf);
-  rcode = DNS_HEADER_RCODE(abuf);
-
-  /* Find the query corresponding to this packet. The queries are
-   * hashed/bucketed by query id, so this lookup should be quick.
-   * Note that both the query id and the questions must be the same;
-   * when the query id wraps around we can have multiple outstanding
-   * queries with the same query id, so we need to check both the id and
-   * question.
-   */
-  query = NULL;
-  list_head = &(channel->queries_by_qid[id % ARES_QID_TABLE_SIZE]);
-  for (list_node = list_head->next; list_node != list_head;
-       list_node = list_node->next)
-    {
-      struct query *q = list_node->data;
-      if ((q->qid == id) && same_questions(q->qbuf, q->qlen, abuf, alen))
-        {
-          query = q;
-          break;
-        }
-    }
-  if (!query)
-    return;
-
-  /* If we got a truncated UDP packet and are not ignoring truncation,
-   * don't accept the packet, and switch the query to TCP if we hadn't
-   * done so already.
-   */
-  if ((tc || alen > PACKETSZ) && !tcp && !(channel->flags & ARES_FLAG_IGNTC))
-    {
-      if (!query->using_tcp)
-        {
-          query->using_tcp = 1;
-          ares__send_query(channel, query, now);
-        }
-      return;
-    }
-
-  /* Limit alen to PACKETSZ if we aren't using TCP (only relevant if we
-   * are ignoring truncation.
-   */
-  if (alen > PACKETSZ && !tcp)
-    alen = PACKETSZ;
-
-  /* If we aren't passing through all error packets, discard packets
-   * with SERVFAIL, NOTIMP, or REFUSED response codes.
-   */
-  if (!(channel->flags & ARES_FLAG_NOCHECKRESP))
-    {
-      if (rcode == SERVFAIL || rcode == NOTIMP || rcode == REFUSED)
-        {
-          skip_server(channel, query, whichserver);
-          if (query->server == whichserver)
-            next_server(channel, query, now);
-          return;
-        }
-    }
-
-  end_query(channel, query, ARES_SUCCESS, abuf, alen);
-}
-
-/* Close all the connections that are no longer usable. */
-static void process_broken_connections(ares_channel channel,
-                                       struct timeval *now)
-{
-  int i;
-  for (i = 0; i < channel->nservers; i++)
-    {
-      struct server_state *server = &channel->servers[i];
-      if (server->is_broken)
-        {
-          handle_error(channel, i, now);
-        }
-    }
-}
-
-static void handle_error(ares_channel channel, int whichserver,
-                         struct timeval *now)
-{
-  struct server_state *server;
-  struct query *query;
-  struct list_node list_head;
-  struct list_node* list_node;
-
-  server = &channel->servers[whichserver];
-
-  /* Reset communications with this server. */
-  ares__close_sockets(channel, server);
-
-  /* Tell all queries talking to this server to move on and not try
-   * this server again. We steal the current list of queries that were
-   * in-flight to this server, since when we call next_server this can
-   * cause the queries to be re-sent to this server, which will
-   * re-insert these queries in that same server->queries_to_server
-   * list.
-   */
-  ares__init_list_head(&list_head);
-  ares__swap_lists(&list_head, &(server->queries_to_server));
-  for (list_node = list_head.next; list_node != &list_head; )
-    {
-      query = list_node->data;
-      list_node = list_node->next;  /* in case the query gets deleted */
-      assert(query->server == whichserver);
-      skip_server(channel, query, whichserver);
-      next_server(channel, query, now);
-    }
-  /* Each query should have removed itself from our temporary list as
-   * it re-sent itself or finished up...
-   */
-  assert(ares__is_list_empty(&list_head));
-}
-
-static void skip_server(ares_channel channel, struct query *query,
-                        int whichserver) {
-  /* The given server gave us problems with this query, so if we have
-   * the luxury of using other servers, then let's skip the
-   * potentially broken server and just use the others. If we only
-   * have one server and we need to retry then we should just go ahead
-   * and re-use that server, since it's our only hope; perhaps we
-   * just got unlucky, and retrying will work (eg, the server timed
-   * out our TCP connection just as we were sending another request).
-   */
-  if (channel->nservers > 1)
-    {
-      query->server_info[whichserver].skip_server = 1;
-    }
-}
-
-static void next_server(ares_channel channel, struct query *query,
-                        struct timeval *now)
-{
-  /* We need to try each server channel->tries times. We have channel->nservers
-   * servers to try. In total, we need to do channel->nservers * channel->tries
-   * attempts. Use query->try to remember how many times we already attempted
-   * this query. Use modular arithmetic to find the next server to try. */
-  while (++(query->try) < (channel->nservers * channel->tries))
-    {
-      struct server_state *server;
-
-      /* Move on to the next server. */
-      query->server = (query->server + 1) % channel->nservers;
-      server = &channel->servers[query->server];
-
-      /* We don't want to use this server if (1) we decided this
-       * connection is broken, and thus about to be closed, (2)
-       * we've decided to skip this server because of earlier
-       * errors we encountered, or (3) we already sent this query
-       * over this exact connection.
-       */
-      if (!server->is_broken &&
-           !query->server_info[query->server].skip_server &&
-           !(query->using_tcp &&
-             (query->server_info[query->server].tcp_connection_generation ==
-              server->tcp_connection_generation)))
-        {
-           ares__send_query(channel, query, now);
-           return;
-        }
-
-      /* You might think that with TCP we only need one try. However,
-       * even when using TCP, servers can time-out our connection just
-       * as we're sending a request, or close our connection because
-       * they die, or never send us a reply because they get wedged or
-       * tickle a bug that drops our request.
-       */
-    }
-
-  /* If we are here, all attempts to perform query failed. */
-  end_query(channel, query, query->error_status, NULL, 0);
-}
-
-void ares__send_query(ares_channel channel, struct query *query,
-                      struct timeval *now)
-{
-  struct send_request *sendreq;
-  struct server_state *server;
-  int timeplus;
-
-  server = &channel->servers[query->server];
-  if (query->using_tcp)
-    {
-      /* Make sure the TCP socket for this server is set up and queue
-       * a send request.
-       */
-      if (server->tcp_socket == ARES_SOCKET_BAD)
-        {
-          if (open_tcp_socket(channel, server) == -1)
-            {
-              skip_server(channel, query, query->server);
-              next_server(channel, query, now);
-              return;
-            }
-        }
-      sendreq = calloc(1, sizeof(struct send_request));
-      if (!sendreq)
-        {
-        end_query(channel, query, ARES_ENOMEM, NULL, 0);
-          return;
-        }
-      /* To make the common case fast, we avoid copies by using the
-       * query's tcpbuf for as long as the query is alive. In the rare
-       * case where the query ends while it's queued for transmission,
-       * then we give the sendreq its own copy of the request packet
-       * and put it in sendreq->data_storage.
-       */
-      sendreq->data_storage = NULL;
-      sendreq->data = query->tcpbuf;
-      sendreq->len = query->tcplen;
-      sendreq->owner_query = query;
-      sendreq->next = NULL;
-      if (server->qtail)
-        server->qtail->next = sendreq;
-      else
-        {
-          SOCK_STATE_CALLBACK(channel, server->tcp_socket, 1, 1);
-          server->qhead = sendreq;
-        }
-      server->qtail = sendreq;
-      query->server_info[query->server].tcp_connection_generation =
-        server->tcp_connection_generation;
-    }
-  else
-    {
-      if (server->udp_socket == ARES_SOCKET_BAD)
-        {
-          if (open_udp_socket(channel, server) == -1)
-            {
-              skip_server(channel, query, query->server);
-              next_server(channel, query, now);
-              return;
-            }
-        }
-      if (swrite(server->udp_socket, query->qbuf, query->qlen) == -1)
-        {
-          /* FIXME: Handle EAGAIN here since it likely can happen. */
-          skip_server(channel, query, query->server);
-          next_server(channel, query, now);
-          return;
-        }
-    }
-    timeplus = channel->timeout << (query->try / channel->nservers);
-    timeplus = (timeplus * (9 + (rand () & 7))) / 16;
-    query->timeout = *now;
-    ares__timeadd(&query->timeout,
-                  timeplus);
-    /* Keep track of queries bucketed by timeout, so we can process
-     * timeout events quickly.
-     */
-    ares__remove_from_list(&(query->queries_by_timeout));
-    ares__insert_in_list(
-        &(query->queries_by_timeout),
-        &(channel->queries_by_timeout[query->timeout.tv_sec %
-                                      ARES_TIMEOUT_TABLE_SIZE]));
-
-    /* Keep track of queries bucketed by server, so we can process server
-     * errors quickly.
-     */
-    ares__remove_from_list(&(query->queries_to_server));
-    ares__insert_in_list(&(query->queries_to_server),
-                         &(server->queries_to_server));
-}
-
-/*
- * setsocknonblock sets the given socket to either blocking or non-blocking
- * mode based on the 'nonblock' boolean argument. This function is highly
- * portable.
- */
-static int setsocknonblock(ares_socket_t sockfd,    /* operate on this */
-                    int nonblock   /* TRUE or FALSE */)
-{
-#if defined(USE_BLOCKING_SOCKETS)
-
-  return 0; /* returns success */
-
-#elif defined(HAVE_FCNTL_O_NONBLOCK)
-
-  /* most recent unix versions */
-  int flags;
-  flags = fcntl(sockfd, F_GETFL, 0);
-  if (FALSE != nonblock)
-    return fcntl(sockfd, F_SETFL, flags | O_NONBLOCK);
-  else
-    return fcntl(sockfd, F_SETFL, flags & (~O_NONBLOCK));
-
-#elif defined(HAVE_IOCTL_FIONBIO)
-
-  /* older unix versions */
-  int flags;
-  flags = nonblock;
-  return ioctl(sockfd, FIONBIO, &flags);
-
-#elif defined(HAVE_IOCTLSOCKET_FIONBIO)
-
-#ifdef WATT32
-  char flags;
-#else
-  /* Windows */
-  unsigned long flags;
-#endif
-  flags = nonblock;
-  return ioctlsocket(sockfd, FIONBIO, &flags);
-
-#elif defined(HAVE_IOCTLSOCKET_CAMEL_FIONBIO)
-
-  /* Amiga */
-  return IoctlSocket(sockfd, FIONBIO, (long)nonblock);
-
-#elif defined(HAVE_SETSOCKOPT_SO_NONBLOCK)
-
-  /* BeOS */
-  long b = nonblock ? 1 : 0;
-  return setsockopt(sockfd, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
-
-#else
-#  error "no non-blocking method was found/used/set"
-#endif
-}
-
-static int configure_socket(ares_socket_t s, ares_channel channel)
-{
-  setsocknonblock(s, TRUE);
-
-#if defined(FD_CLOEXEC) && !defined(MSDOS)
-  /* Configure the socket fd as close-on-exec. */
-  if (fcntl(s, F_SETFD, FD_CLOEXEC) == -1)
-    return -1;
-#endif
-
-  /* Set the socket's send and receive buffer sizes. */
-  if ((channel->socket_send_buffer_size > 0) &&
-      setsockopt(s, SOL_SOCKET, SO_SNDBUF,
-                 (void *)&channel->socket_send_buffer_size,
-                 sizeof(channel->socket_send_buffer_size)) == -1)
-    return -1;
-
-  if ((channel->socket_receive_buffer_size > 0) &&
-      setsockopt(s, SOL_SOCKET, SO_RCVBUF,
-                 (void *)&channel->socket_receive_buffer_size,
-                 sizeof(channel->socket_receive_buffer_size)) == -1)
-    return -1;
-
-  return 0;
- }
-
-static int open_tcp_socket(ares_channel channel, struct server_state *server)
-{
-  ares_socket_t s;
-  int opt;
-  ares_socklen_t salen;
-  union {
-    struct sockaddr_in  sa4;
-    struct sockaddr_in6 sa6;
-  } saddr;
-  struct sockaddr *sa;
-
-  switch (server->addr.family)
-    {
-      case AF_INET:
-        sa = (void *)&saddr.sa4;
-        salen = sizeof(saddr.sa4);
-        memset(sa, 0, salen);
-        saddr.sa4.sin_family = AF_INET;
-        saddr.sa4.sin_port = (unsigned short)(channel->tcp_port & 0xffff);
-        memcpy(&saddr.sa4.sin_addr, &server->addr.addrV4,
-               sizeof(server->addr.addrV4));
-        break;
-      case AF_INET6:
-        sa = (void *)&saddr.sa6;
-        salen = sizeof(saddr.sa6);
-        memset(sa, 0, salen);
-        saddr.sa6.sin6_family = AF_INET6;
-        saddr.sa6.sin6_port = (unsigned short)(channel->tcp_port & 0xffff);
-        memcpy(&saddr.sa6.sin6_addr, &server->addr.addrV6,
-               sizeof(server->addr.addrV6));
-        break;
-      default:
-        return -1;
-    }
-
-  /* Acquire a socket. */
-  s = socket(server->addr.family, SOCK_STREAM, 0);
-  if (s == ARES_SOCKET_BAD)
-    return -1;
-
-  /* Configure it. */
-  if (configure_socket(s, channel) < 0)
-    {
-       sclose(s);
-       return -1;
-    }
-
-#ifdef TCP_NODELAY
-  /*
-   * Disable the Nagle algorithm (only relevant for TCP sockets, and thus not
-   * in configure_socket). In general, in DNS lookups we're pretty much
-   * interested in firing off a single request and then waiting for a reply,
-   * so batching isn't very interesting in general.
-   */
-  opt = 1;
-  if (setsockopt(s, IPPROTO_TCP, TCP_NODELAY,
-                 (void *)&opt, sizeof(opt)) == -1)
-    {
-       sclose(s);
-       return -1;
-    }
-#endif
-
-  /* Connect to the server. */
-  if (connect(s, sa, salen) == -1)
-    {
-      int err = SOCKERRNO;
-
-      if (err != EINPROGRESS && err != EWOULDBLOCK)
-        {
-          sclose(s);
-          return -1;
-        }
-    }
-
-  if (channel->sock_create_cb)
-    {
-      int err = channel->sock_create_cb(s, SOCK_STREAM,
-                                        channel->sock_create_cb_data);
-      if (err < 0)
-        {
-          sclose(s);
-          return err;
-        }
-    }
-
-  SOCK_STATE_CALLBACK(channel, s, 1, 0);
-  server->tcp_buffer_pos = 0;
-  server->tcp_socket = s;
-  server->tcp_connection_generation = ++channel->tcp_connection_generation;
-  return 0;
-}
-
-static int open_udp_socket(ares_channel channel, struct server_state *server)
-{
-  ares_socket_t s;
-  ares_socklen_t salen;
-  union {
-    struct sockaddr_in  sa4;
-    struct sockaddr_in6 sa6;
-  } saddr;
-  struct sockaddr *sa;
-
-  switch (server->addr.family)
-    {
-      case AF_INET:
-        sa = (void *)&saddr.sa4;
-        salen = sizeof(saddr.sa4);
-        memset(sa, 0, salen);
-        saddr.sa4.sin_family = AF_INET;
-        saddr.sa4.sin_port = (unsigned short)(channel->udp_port & 0xffff);
-        memcpy(&saddr.sa4.sin_addr, &server->addr.addrV4,
-               sizeof(server->addr.addrV4));
-        break;
-      case AF_INET6:
-        sa = (void *)&saddr.sa6;
-        salen = sizeof(saddr.sa6);
-        memset(sa, 0, salen);
-        saddr.sa6.sin6_family = AF_INET6;
-        saddr.sa6.sin6_port = (unsigned short)(channel->udp_port & 0xffff);
-        memcpy(&saddr.sa6.sin6_addr, &server->addr.addrV6,
-               sizeof(server->addr.addrV6));
-        break;
-      default:
-        return -1;
-    }
-
-  /* Acquire a socket. */
-  s = socket(server->addr.family, SOCK_DGRAM, 0);
-  if (s == ARES_SOCKET_BAD)
-    return -1;
-
-  /* Set the socket non-blocking. */
-  if (configure_socket(s, channel) < 0)
-    {
-       sclose(s);
-       return -1;
-    }
-
-  /* Connect to the server. */
-  if (connect(s, sa, salen) == -1)
-    {
-      int err = SOCKERRNO;
-
-      if (err != EINPROGRESS && err != EWOULDBLOCK)
-        {
-          sclose(s);
-          return -1;
-        }
-    }
-
-  if (channel->sock_create_cb)
-    {
-      int err = channel->sock_create_cb(s, SOCK_DGRAM,
-                                        channel->sock_create_cb_data);
-      if (err < 0)
-        {
-          sclose(s);
-          return err;
-        }
-    }
-
-  SOCK_STATE_CALLBACK(channel, s, 1, 0);
-
-  server->udp_socket = s;
-  return 0;
-}
-
-static int same_questions(const unsigned char *qbuf, int qlen,
-                          const unsigned char *abuf, int alen)
-{
-  struct {
-    const unsigned char *p;
-    int qdcount;
-    char *name;
-    long namelen;
-    int type;
-    int dnsclass;
-  } q, a;
-  int i, j;
-
-  if (qlen < HFIXEDSZ || alen < HFIXEDSZ)
-    return 0;
-
-  /* Extract qdcount from the request and reply buffers and compare them. */
-  q.qdcount = DNS_HEADER_QDCOUNT(qbuf);
-  a.qdcount = DNS_HEADER_QDCOUNT(abuf);
-  if (q.qdcount != a.qdcount)
-    return 0;
-
-  /* For each question in qbuf, find it in abuf. */
-  q.p = qbuf + HFIXEDSZ;
-  for (i = 0; i < q.qdcount; i++)
-    {
-      /* Decode the question in the query. */
-      if (ares_expand_name(q.p, qbuf, qlen, &q.name, &q.namelen)
-          != ARES_SUCCESS)
-        return 0;
-      q.p += q.namelen;
-      if (q.p + QFIXEDSZ > qbuf + qlen)
-        {
-          free(q.name);
-          return 0;
-        }
-      q.type = DNS_QUESTION_TYPE(q.p);
-      q.dnsclass = DNS_QUESTION_CLASS(q.p);
-      q.p += QFIXEDSZ;
-
-      /* Search for this question in the answer. */
-      a.p = abuf + HFIXEDSZ;
-      for (j = 0; j < a.qdcount; j++)
-        {
-          /* Decode the question in the answer. */
-          if (ares_expand_name(a.p, abuf, alen, &a.name, &a.namelen)
-              != ARES_SUCCESS)
-            {
-              free(q.name);
-              return 0;
-            }
-          a.p += a.namelen;
-          if (a.p + QFIXEDSZ > abuf + alen)
-            {
-              free(q.name);
-              free(a.name);
-              return 0;
-            }
-          a.type = DNS_QUESTION_TYPE(a.p);
-          a.dnsclass = DNS_QUESTION_CLASS(a.p);
-          a.p += QFIXEDSZ;
-
-          /* Compare the decoded questions. */
-          if (strcasecmp(q.name, a.name) == 0 && q.type == a.type
-              && q.dnsclass == a.dnsclass)
-            {
-              free(a.name);
-              break;
-            }
-          free(a.name);
-        }
-
-      free(q.name);
-      if (j == a.qdcount)
-        return 0;
-    }
-  return 1;
-}
-
-static int same_address(struct sockaddr *sa, struct ares_addr *aa)
-{
-  void *addr1;
-  void *addr2;
-
-  if (sa->sa_family == aa->family)
-    {
-      switch (aa->family)
-        {
-          case AF_INET:
-            addr1 = &aa->addrV4;
-            addr2 = &((struct sockaddr_in *)sa)->sin_addr;
-            if (memcmp(addr1, addr2, sizeof(aa->addrV4)) == 0)
-              return 1; /* match */
-            break;
-          case AF_INET6:
-            addr1 = &aa->addrV6;
-            addr2 = &((struct sockaddr_in6 *)sa)->sin6_addr;
-            if (memcmp(addr1, addr2, sizeof(aa->addrV6)) == 0)
-              return 1; /* match */
-            break;
-          default:
-            break;
-        }
-    }
-  return 0; /* different */
-}
-
-static void end_query (ares_channel channel, struct query *query, int status,
-                       unsigned char *abuf, int alen)
-{
-  int i;
-
-  /* First we check to see if this query ended while one of our send
-   * queues still has pointers to it.
-   */
-  for (i = 0; i < channel->nservers; i++)
-    {
-      struct server_state *server = &channel->servers[i];
-      struct send_request *sendreq;
-      for (sendreq = server->qhead; sendreq; sendreq = sendreq->next)
-        if (sendreq->owner_query == query)
-          {
-            sendreq->owner_query = NULL;
-            assert(sendreq->data_storage == NULL);
-            if (status == ARES_SUCCESS)
-              {
-                /* We got a reply for this query, but this queued
-                 * sendreq points into this soon-to-be-gone query's
-                 * tcpbuf. Probably this means we timed out and queued
-                 * the query for retransmission, then received a
-                 * response before actually retransmitting. This is
-                 * perfectly fine, so we want to keep the connection
-                 * running smoothly if we can. But in the worst case
-                 * we may have sent only some prefix of the query,
-                 * with some suffix of the query left to send. Also,
-                 * the buffer may be queued on multiple queues. To
-                 * prevent dangling pointers to the query's tcpbuf and
-                 * handle these cases, we just give such sendreqs
-                 * their own copy of the query packet.
-                 */
-               sendreq->data_storage = malloc(sendreq->len);
-               if (sendreq->data_storage != NULL)
-                 {
-                   memcpy(sendreq->data_storage, sendreq->data, sendreq->len);
-                   sendreq->data = sendreq->data_storage;
-                 }
-              }
-            if ((status != ARES_SUCCESS) || (sendreq->data_storage == NULL))
-              {
-                /* We encountered an error (probably a timeout,
-                 * suggesting the DNS server we're talking to is
-                 * probably unreachable, wedged, or severely
-                 * overloaded) or we couldn't copy the request, so
-                 * mark the connection as broken. When we get to
-                 * process_broken_connections() we'll close the
-                 * connection and try to re-send requests to another
-                 * server.
-                 */
-               server->is_broken = 1;
-               /* Just to be paranoid, zero out this sendreq... */
-               sendreq->data = NULL;
-               sendreq->len = 0;
-             }
-          }
-    }
-
-  /* Invoke the callback */
-  query->callback(query->arg, status, query->timeouts, abuf, alen);
-  ares__free_query(query);
-
-  /* Simple cleanup policy: if no queries are remaining, close all
-   * network sockets unless STAYOPEN is set.
-   */
-  if (!(channel->flags & ARES_FLAG_STAYOPEN) &&
-      ares__is_list_empty(&(channel->all_queries)))
-    {
-      for (i = 0; i < channel->nservers; i++)
-        ares__close_sockets(channel, &channel->servers[i]);
-    }
-}
-
-void ares__free_query(struct query *query)
-{
-  /* Remove the query from all the lists in which it is linked */
-  ares__remove_from_list(&(query->queries_by_qid));
-  ares__remove_from_list(&(query->queries_by_timeout));
-  ares__remove_from_list(&(query->queries_to_server));
-  ares__remove_from_list(&(query->all_queries));
-  /* Zero out some important stuff, to help catch bugs */
-  query->callback = NULL;
-  query->arg = NULL;
-  /* Deallocate the memory associated with the query */
-  free(query->tcpbuf);
-  free(query->server_info);
-  free(query);
-}
diff --git a/ares/ares_query.3 b/ares/ares_query.3
deleted file mode 100644 (file)
index 93f64b2..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_QUERY 3 "24 July 1998"
-.SH NAME
-ares_query \- Initiate a single-question DNS query
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B typedef void (*ares_callback)(void *\fIarg\fP, int \fIstatus\fP,
-.B     int \fItimeouts\fP, unsigned char *\fIabuf\fP, int \fIalen\fP)
-.PP
-.B void ares_query(ares_channel \fIchannel\fP, const char *\fIname\fP,
-.B     int \fIdnsclass\fP, int \fItype\fP, ares_callback \fIcallback\fP,
-.B     void *\fIarg\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_query
-function initiates a single-question DNS query on the name service
-channel identified by
-.IR channel .
-The parameter
-.I name
-gives the query name as a NUL-terminated C string of period-separated
-labels optionally ending with a period; periods and backslashes within
-a label must be escaped with a backslash.  The parameters
-.I dnsclass
-and
-.I type
-give the class and type of the query using the values defined in
-.BR <arpa/nameser.h> .
-When the query is complete or has failed, the ares library will invoke
-.IR callback .
-Completion or failure of the query may happen immediately, or may
-happen during a later call to
-.BR ares_process (3)
-or
-.BR ares_destroy (3).
-.PP
-The callback argument
-.I arg
-is copied from the
-.B ares_query
-argument
-.IR arg .
-The callback argument
-.I status
-indicates whether the query succeeded and, if not, how it failed.  It
-may have any of the following values:
-.TP 19
-.B ARES_SUCCESS
-The query completed successfully.
-.TP 19
-.B ARES_ENODATA
-The query completed but contains no answers.
-.TP 19
-.B ARES_EFORMERR
-The query completed but the server claims that the query was
-malformatted.
-.TP 19
-.B ARES_ESERVFAIL
-The query completed but the server claims to have experienced a
-failure.  (This code can only occur if the
-.B ARES_FLAG_NOCHECKRESP
-flag was specified at channel initialization time; otherwise, such
-responses are ignored at the
-.BR ares_send (3)
-level.)
-.TP 19
-.B ARES_ENOTFOUND
-The query completed but the queried-for domain name was not found.
-.TP 19
-.B ARES_ENOTIMP
-The query completed but the server does not implement the operation
-requested by the query.  (This code can only occur if the
-.B ARES_FLAG_NOCHECKRESP
-flag was specified at channel initialization time; otherwise, such
-responses are ignored at the
-.BR ares_send (3)
-level.)
-.TP 19
-.B ARES_EREFUSED
-The query completed but the server refused the query.  (This code can
-only occur if the
-.B ARES_FLAG_NOCHECKRESP
-flag was specified at channel initialization time; otherwise, such
-responses are ignored at the
-.BR ares_send (3)
-level.)
-.TP 19
-.B ARES_EBADNAME
-The query name
-.I name
-could not be encoded as a domain name, either because it contained a
-zero-length label or because it contained a label of more than 63
-characters.
-.TP 19
-.B ARES_ETIMEOUT
-No name servers responded within the timeout period.
-.TP 19
-.B ARES_ECONNREFUSED
-No name servers could be contacted.
-.TP 19
-.B ARES_ENOMEM
-Memory was exhausted.
-.TP 19
-.B ARES_EDESTRUCTION
-The name service channel
-.I channel
-is being destroyed; the query will not be completed.
-.PP
-The callback argument
-.I timeouts
-reports how many times a query timed out during the execution of the
-given request.
-.PP
-If the query completed (even if there was something wrong with it, as
-indicated by some of the above error codes), the callback argument
-.I abuf
-points to a result buffer of length
-.IR alen .
-If the query did not complete,
-.I abuf
-will be NULL and
-.I alen
-will be 0.
-.SH SEE ALSO
-.BR ares_process (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_query.c b/ares/ares_query.c
deleted file mode 100644 (file)
index 2a717fb..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <stdlib.h>
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_private.h"
-
-struct qquery {
-  ares_callback callback;
-  void *arg;
-};
-
-static void qcallback(void *arg, int status, int timeouts, unsigned char *abuf, int alen);
-
-void ares__rc4(rc4_key* key, unsigned char *buffer_ptr, int buffer_len)
-{
-  unsigned char x;
-  unsigned char y;
-  unsigned char* state;
-  unsigned char xorIndex;
-  short counter;
-
-  x = key->x;
-  y = key->y;
-
-  state = &key->state[0];
-  for(counter = 0; counter < buffer_len; counter ++)
-  {
-    x = (unsigned char)((x + 1) % 256);
-    y = (unsigned char)((state[x] + y) % 256);
-    ARES_SWAP_BYTE(&state[x], &state[y]);
-
-    xorIndex = (unsigned char)((state[x] + state[y]) % 256);
-
-    buffer_ptr[counter] = (unsigned char)(buffer_ptr[counter]^state[xorIndex]);
-  }
-  key->x = x;
-  key->y = y;
-}
-
-static struct query* find_query_by_id(ares_channel channel, unsigned short id)
-{
-  unsigned short qid;
-  struct list_node* list_head;
-  struct list_node* list_node;
-  DNS_HEADER_SET_QID(((unsigned char*)&qid), id);
-
-  /* Find the query corresponding to this packet. */
-  list_head = &(channel->queries_by_qid[qid % ARES_QID_TABLE_SIZE]);
-  for (list_node = list_head->next; list_node != list_head;
-       list_node = list_node->next)
-    {
-       struct query *q = list_node->data;
-       if (q->qid == qid)
-         return q;
-    }
-  return NULL;
-}
-
-
-/* a unique query id is generated using an rc4 key. Since the id may already
-   be used by a running query (as infrequent as it may be), a lookup is
-   performed per id generation. In practice this search should happen only
-   once per newly generated id
-*/
-static unsigned short generate_unique_id(ares_channel channel)
-{
-  unsigned short id;
-
-  do {
-    id = ares__generate_new_id(&channel->id_key);
-  } while (find_query_by_id(channel, id));
-
-  return (unsigned short)id;
-}
-
-void ares_query(ares_channel channel, const char *name, int dnsclass,
-                int type, ares_callback callback, void *arg)
-{
-  struct qquery *qquery;
-  unsigned char *qbuf;
-  int qlen, rd, status;
-
-  /* Compose the query. */
-  rd = !(channel->flags & ARES_FLAG_NORECURSE);
-  status = ares_mkquery(name, dnsclass, type, channel->next_id, rd, &qbuf,
-                        &qlen);
-  if (status != ARES_SUCCESS)
-    {
-      if (qbuf != NULL) free(qbuf);
-      callback(arg, status, 0, NULL, 0);
-      return;
-    }
-
-  channel->next_id = generate_unique_id(channel);
-
-  /* Allocate and fill in the query structure. */
-  qquery = malloc(sizeof(struct qquery));
-  if (!qquery)
-    {
-      ares_free_string(qbuf);
-      callback(arg, ARES_ENOMEM, 0, NULL, 0);
-      return;
-    }
-  qquery->callback = callback;
-  qquery->arg = arg;
-
-  /* Send it off.  qcallback will be called when we get an answer. */
-  ares_send(channel, qbuf, qlen, qcallback, qquery);
-  ares_free_string(qbuf);
-}
-
-static void qcallback(void *arg, int status, int timeouts, unsigned char *abuf, int alen)
-{
-  struct qquery *qquery = (struct qquery *) arg;
-  unsigned int ancount;
-  int rcode;
-
-  if (status != ARES_SUCCESS)
-    qquery->callback(qquery->arg, status, timeouts, abuf, alen);
-  else
-    {
-      /* Pull the response code and answer count from the packet. */
-      rcode = DNS_HEADER_RCODE(abuf);
-      ancount = DNS_HEADER_ANCOUNT(abuf);
-
-      /* Convert errors. */
-      switch (rcode)
-        {
-        case NOERROR:
-          status = (ancount > 0) ? ARES_SUCCESS : ARES_ENODATA;
-          break;
-        case FORMERR:
-          status = ARES_EFORMERR;
-          break;
-        case SERVFAIL:
-          status = ARES_ESERVFAIL;
-          break;
-        case NXDOMAIN:
-          status = ARES_ENOTFOUND;
-          break;
-        case NOTIMP:
-          status = ARES_ENOTIMP;
-          break;
-        case REFUSED:
-          status = ARES_EREFUSED;
-          break;
-        }
-      qquery->callback(qquery->arg, status, timeouts, abuf, alen);
-    }
-  free(qquery);
-}
diff --git a/ares/ares_rules.h b/ares/ares_rules.h
deleted file mode 100644 (file)
index cdacf4a..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef __CARES_RULES_H
-#define __CARES_RULES_H
-
-/* $Id$ */
-
-/* Copyright (C) 2009 by Daniel Stenberg et al
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-/* ================================================================ */
-/*                    COMPILE TIME SANITY CHECKS                    */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * All checks done in this file are intentionally placed in a public
- * header file which is pulled by ares.h when an application is
- * being built using an already built c-ares library. Additionally
- * this file is also included and used when building the library.
- *
- * If compilation fails on this file it is certainly sure that the
- * problem is elsewhere. It could be a problem in the ares_build.h
- * header file, or simply that you are using different compilation
- * settings than those used to build the library.
- *
- * Nothing in this file is intended to be modified or adjusted by the
- * c-ares library user nor by the c-ares library builder.
- *
- * Do not deactivate any check, these are done to make sure that the
- * library is properly built and used.
- *
- * You can find further help on the c-ares development mailing list:
- * http://cool.haxx.se/mailman/listinfo/c-ares/
- *
- * NOTE 2
- * ------
- *
- * Some of the following compile time checks are based on the fact
- * that the dimension of a constant array can not be a negative one.
- * In this way if the compile time verification fails, the compilation
- * will fail issuing an error. The error description wording is compiler
- * dependent but it will be quite similar to one of the following:
- *
- *   "negative subscript or subscript is too large"
- *   "array must have at least one element"
- *   "-1 is an illegal array size"
- *   "size of array is negative"
- *
- * If you are building an application which tries to use an already
- * built c-ares library and you are getting this kind of errors on
- * this file, it is a clear indication that there is a mismatch between
- * how the library was built and how you are trying to use it for your
- * application. Your already compiled or binary library provider is the
- * only one who can give you the details you need to properly use it.
- */
-
-/*
- * Verify that some macros are actually defined.
- */
-
-#ifndef CARES_SIZEOF_LONG
-#  error "CARES_SIZEOF_LONG definition is missing!"
-   Error Compilation_aborted_CARES_SIZEOF_LONG_is_missing
-#endif
-
-#ifndef CARES_TYPEOF_ARES_SOCKLEN_T
-#  error "CARES_TYPEOF_ARES_SOCKLEN_T definition is missing!"
-   Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_is_missing
-#endif
-
-#ifndef CARES_SIZEOF_ARES_SOCKLEN_T
-#  error "CARES_SIZEOF_ARES_SOCKLEN_T definition is missing!"
-   Error Compilation_aborted_CARES_SIZEOF_ARES_SOCKLEN_T_is_missing
-#endif
-
-/*
- * Macros private to this header file.
- */
-
-#define CareschkszEQ(t, s) sizeof(t) == s ? 1 : -1
-
-#define CareschkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1
-
-/*
- * Verify that the size previously defined and expected for long
- * is the same as the one reported by sizeof() at compile time.
- */
-
-typedef char
-  __cares_rule_01__
-    [CareschkszEQ(long, CARES_SIZEOF_LONG)];
-
-/*
- * Verify that the size previously defined and expected for
- * ares_socklen_t is actually the the same as the one reported
- * by sizeof() at compile time.
- */
-
-typedef char
-  __cares_rule_02__
-    [CareschkszEQ(ares_socklen_t, CARES_SIZEOF_ARES_SOCKLEN_T)];
-
-/*
- * Verify at compile time that the size of ares_socklen_t as reported
- * by sizeof() is greater or equal than the one reported for int for
- * the current compilation.
- */
-
-typedef char
-  __cares_rule_03__
-    [CareschkszGE(ares_socklen_t, int)];
-
-/* ================================================================ */
-/*          EXTERNALLY AND INTERNALLY VISIBLE DEFINITIONS           */
-/* ================================================================ */
-
-/*
- * Get rid of macros private to this header file.
- */
-
-#undef CareschkszEQ
-#undef CareschkszGE
-
-/*
- * Get rid of macros not intended to exist beyond this point.
- */
-
-#undef CARES_PULL_WS2TCPIP_H
-#undef CARES_PULL_SYS_TYPES_H
-#undef CARES_PULL_SYS_SOCKET_H
-
-#undef CARES_TYPEOF_ARES_SOCKLEN_T
-
-#endif /* __CARES_RULES_H */
diff --git a/ares/ares_save_options.3 b/ares/ares_save_options.3
deleted file mode 100644 (file)
index 0dd4b4e..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_SAVE_OPTIONS 3 "5 March 2010"
-.SH NAME
-ares_save_options \- Save configuration values obtained from initialized ares_channel
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_save_options(ares_channel \fIchannel\fP, struct ares_options *\fIoptions\fP, int *\fIoptmask\fP)
-.fi
-.SH DESCRIPTION
-The \fBares_save_options(3)\fP function saves the channel data identified by
-.IR channel ,
-into the options struct identified by
-.IR options ,
-and saves the mask of options which are set to the integer
-pointer (passed by reference) identified by
-.IR optmask .
-
-The resultant options and optmask are then able to be
-passed directly to ares_init_options.  When the options
-are no longer needed, ares_destroy_options should be called
-to free any associated memory.
-.SH RETURN VALUES
-.B ares_save_options(3)
-can return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The channel data was successfuly stored
-.TP 15
-.B ARES_ENOMEM
-The memory was exhausted
-.TP 15
-.B ARES_ENODATA
-The channel data identified by 
-.IR channel
-were invalid.
-.SH NOTE
-Since c-ares 1.6.0 the ares_options struct has been "locked" meaning that it
-won't be extended to cover new functions. This function will remain
-functioning, but it can only return config data that can be represented in
-this config struct, which may no longer be the complete set of config
-options. \fBares_dup(3)\fP will not have that restriction.
-
-The ares_options struct can not handle potential IPv6 name servers the
-ares_channel might be configured to use. Function \fBares_save_options(3)\fP
-will only return IPv4 servers if any. In order to retrieve all name servers
-an ares_channel might be using, function \fBares_get_servers(3)\fP must be
-used instead.
-.SH SEE ALSO
-.BR ares_destroy_options (3),
-.BR ares_init_options (3),
-.BR ares_get_servers (3),
-.BR ares_dup (3)
-.SH AVAILABILITY
-ares_save_options(3) was added in c-ares 1.4.0
-.SH AUTHOR
-Brad House
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_search.3 b/ares/ares_search.3
deleted file mode 100644 (file)
index f5bf80d..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_SEARCH 3 "24 July 1998"
-.SH NAME
-ares_search \- Initiate a DNS query with domain search
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B typedef void (*ares_callback)(void *\fIarg\fP, int \fIstatus\fP,
-.B     int \fItimeouts\fP, unsigned char *\fIabuf\fP, int \fIalen\fP)
-.PP
-.B void ares_search(ares_channel \fIchannel\fP, const char *\fIname\fP,
-.B     int \fIdnsclass\fP, int \fItype\fP, ares_callback \fIcallback\fP,
-.B     void *\fIarg\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_search
-function initiates a series of single-question DNS queries on the name
-service channel identified by
-.IR channel ,
-using the channel's search domains as well as a host alias file given
-by the HOSTALIAS environment variable.  The parameter
-.I name
-gives the alias name or the base of the query name as a NUL-terminated
-C string of period-separated labels; if it ends with a period, the
-channel's search domains will not be used.  Periods and backslashes
-within a label must be escaped with a backslash.  The parameters
-.I dnsclass
-and
-.I type
-give the class and type of the query using the values defined in
-.BR <arpa/nameser.h> .
-When the query sequence is complete or has failed, the ares library
-will invoke
-.IR callback .
-Completion or failure of the query sequence may happen immediately, or
-may happen during a later call to
-.BR ares_process (3)
-or
-.BR ares_destroy (3).
-.PP
-The callback argument
-.I arg
-is copied from the
-.B ares_search
-argument
-.IR arg .
-The callback argument
-.I status
-indicates whether the query sequence ended with a successful query
-and, if not, how the query sequence failed.  It may have any of the
-following values:
-.TP 19
-.B ARES_SUCCESS
-A query completed successfully.
-.TP 19
-.B ARES_ENODATA
-No query completed successfully; when the query was tried without a
-search domain appended, a response was returned with no answers.
-.TP 19
-.B ARES_EFORMERR
-A query completed but the server claimed that the query was
-malformatted.
-.TP 19
-.B ARES_ESERVFAIL
-No query completed successfully; when the query was tried without a
-search domain appended, the server claimed to have experienced a
-failure.  (This code can only occur if the
-.B ARES_FLAG_NOCHECKRESP
-flag was specified at channel initialization time; otherwise, such
-responses are ignored at the
-.BR ares_send (3)
-level.)
-.TP 19
-.B ARES_ENOTFOUND
-No query completed successfully; when the query was tried without a
-search domain appended, the server reported that the queried-for
-domain name was not found.
-.TP 19
-.B ARES_ENOTIMP
-A query completed but the server does not implement the operation
-requested by the query.  (This code can only occur if the
-.B ARES_FLAG_NOCHECKRESP
-flag was specified at channel initialization time; otherwise, such
-responses are ignored at the
-.BR ares_send (3)
-level.)
-.TP 19
-.B ARES_EREFUSED
-A query completed but the server refused the query.  (This code can
-only occur returned if the
-.B ARES_FLAG_NOCHECKRESP
-flag was specified at channel initialization time; otherwise, such
-responses are ignored at the
-.BR ares_send (3)
-level.)
-.TP 19
-.B ARES_TIMEOUT
-No name servers responded to a query within the timeout period.
-.TP 19
-.B ARES_ECONNREFUSED
-No name servers could be contacted.
-.TP 19
-.B ARES_ENOMEM
-Memory was exhausted.
-.TP 19
-.B ARES_EDESTRUCTION
-The name service channel
-.I channel
-is being destroyed; the query will not be completed.
-.PP
-The callback argument
-.I timeouts
-reports how many times a query timed out during the execution of the
-given request.
-.PP
-If a query completed successfully, the callback argument
-.I abuf
-points to a result buffer of length
-.IR alen .
-If the query did not complete successfully,
-.I abuf
-will usually be NULL and
-.I alen
-will usually be 0, but in some cases an unsuccessful query result may
-be placed in
-.IR abuf .
-.SH SEE ALSO
-.BR ares_process (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_search.c b/ares/ares_search.c
deleted file mode 100644 (file)
index 8673c28..0000000
+++ /dev/null
@@ -1,323 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-
-#include "ares.h"
-#include "ares_private.h"
-
-struct search_query {
-  /* Arguments passed to ares_search */
-  ares_channel channel;
-  char *name;                   /* copied into an allocated buffer */
-  int dnsclass;
-  int type;
-  ares_callback callback;
-  void *arg;
-
-  int status_as_is;             /* error status from trying as-is */
-  int next_domain;              /* next search domain to try */
-  int trying_as_is;             /* current query is for name as-is */
-  int timeouts;                 /* number of timeouts we saw for this request */
-  int ever_got_nodata;          /* did we ever get ARES_ENODATA along the way? */
-};
-
-static void search_callback(void *arg, int status, int timeouts,
-                            unsigned char *abuf, int alen);
-static void end_squery(struct search_query *squery, int status,
-                       unsigned char *abuf, int alen);
-static int cat_domain(const char *name, const char *domain, char **s);
-static int single_domain(ares_channel channel, const char *name, char **s);
-
-void ares_search(ares_channel channel, const char *name, int dnsclass,
-                 int type, ares_callback callback, void *arg)
-{
-  struct search_query *squery;
-  char *s;
-  const char *p;
-  int status, ndots;
-
-  /* If name only yields one domain to search, then we don't have
-   * to keep extra state, so just do an ares_query().
-   */
-  status = single_domain(channel, name, &s);
-  if (status != ARES_SUCCESS)
-    {
-      callback(arg, status, 0, NULL, 0);
-      return;
-    }
-  if (s)
-    {
-      ares_query(channel, s, dnsclass, type, callback, arg);
-      free(s);
-      return;
-    }
-
-  /* Allocate a search_query structure to hold the state necessary for
-   * doing multiple lookups.
-   */
-  squery = malloc(sizeof(struct search_query));
-  if (!squery)
-    {
-      callback(arg, ARES_ENOMEM, 0, NULL, 0);
-      return;
-    }
-  squery->channel = channel;
-  squery->name = strdup(name);
-  if (!squery->name)
-    {
-      free(squery);
-      callback(arg, ARES_ENOMEM, 0, NULL, 0);
-      return;
-    }
-  squery->dnsclass = dnsclass;
-  squery->type = type;
-  squery->status_as_is = -1;
-  squery->callback = callback;
-  squery->arg = arg;
-  squery->timeouts = 0;
-  squery->ever_got_nodata = 0;
-
-  /* Count the number of dots in name. */
-  ndots = 0;
-  for (p = name; *p; p++)
-    {
-      if (*p == '.')
-        ndots++;
-    }
-
-  /* If ndots is at least the channel ndots threshold (usually 1),
-   * then we try the name as-is first.  Otherwise, we try the name
-   * as-is last.
-   */
-  if (ndots >= channel->ndots)
-    {
-      /* Try the name as-is first. */
-      squery->next_domain = 0;
-      squery->trying_as_is = 1;
-      ares_query(channel, name, dnsclass, type, search_callback, squery);
-    }
-  else
-    {
-      /* Try the name as-is last; start with the first search domain. */
-      squery->next_domain = 1;
-      squery->trying_as_is = 0;
-      status = cat_domain(name, channel->domains[0], &s);
-      if (status == ARES_SUCCESS)
-        {
-          ares_query(channel, s, dnsclass, type, search_callback, squery);
-          free(s);
-        }
-      else
-      {
-        /* failed, free the malloc()ed memory */
-        free(squery->name);
-        free(squery);
-        callback(arg, status, 0, NULL, 0);
-      }
-    }
-}
-
-static void search_callback(void *arg, int status, int timeouts,
-                            unsigned char *abuf, int alen)
-{
-  struct search_query *squery = (struct search_query *) arg;
-  ares_channel channel = squery->channel;
-  char *s;
-
-  squery->timeouts += timeouts;
-
-  /* Stop searching unless we got a non-fatal error. */
-  if (status != ARES_ENODATA && status != ARES_ESERVFAIL
-      && status != ARES_ENOTFOUND)
-    end_squery(squery, status, abuf, alen);
-  else
-    {
-      /* Save the status if we were trying as-is. */
-      if (squery->trying_as_is)
-        squery->status_as_is = status;
-
-      /*
-       * If we ever get ARES_ENODATA along the way, record that; if the search
-       * should run to the very end and we got at least one ARES_ENODATA,
-       * then callers like ares_gethostbyname() may want to try a T_A search
-       * even if the last domain we queried for T_AAAA resource records
-       * returned ARES_ENOTFOUND.
-       */
-      if (status == ARES_ENODATA)
-        squery->ever_got_nodata = 1;
-
-      if (squery->next_domain < channel->ndomains)
-        {
-          /* Try the next domain. */
-          status = cat_domain(squery->name,
-                              channel->domains[squery->next_domain], &s);
-          if (status != ARES_SUCCESS)
-            end_squery(squery, status, NULL, 0);
-          else
-            {
-              squery->trying_as_is = 0;
-              squery->next_domain++;
-              ares_query(channel, s, squery->dnsclass, squery->type,
-                         search_callback, squery);
-              free(s);
-            }
-        }
-      else if (squery->status_as_is == -1)
-        {
-          /* Try the name as-is at the end. */
-          squery->trying_as_is = 1;
-          ares_query(channel, squery->name, squery->dnsclass, squery->type,
-                     search_callback, squery);
-        }
-      else {
-        if (squery->status_as_is == ARES_ENOTFOUND && squery->ever_got_nodata) {
-          end_squery(squery, ARES_ENODATA, NULL, 0);
-        }
-        else
-          end_squery(squery, squery->status_as_is, NULL, 0);
-      }
-    }
-}
-
-static void end_squery(struct search_query *squery, int status,
-                       unsigned char *abuf, int alen)
-{
-  squery->callback(squery->arg, status, squery->timeouts, abuf, alen);
-  free(squery->name);
-  free(squery);
-}
-
-/* Concatenate two domains. */
-static int cat_domain(const char *name, const char *domain, char **s)
-{
-  size_t nlen = strlen(name);
-  size_t dlen = strlen(domain);
-
-  *s = malloc(nlen + 1 + dlen + 1);
-  if (!*s)
-    return ARES_ENOMEM;
-  memcpy(*s, name, nlen);
-  (*s)[nlen] = '.';
-  memcpy(*s + nlen + 1, domain, dlen);
-  (*s)[nlen + 1 + dlen] = 0;
-  return ARES_SUCCESS;
-}
-
-/* Determine if this name only yields one query.  If it does, set *s to
- * the string we should query, in an allocated buffer.  If not, set *s
- * to NULL.
- */
-static int single_domain(ares_channel channel, const char *name, char **s)
-{
-  size_t len = strlen(name);
-  const char *hostaliases;
-  FILE *fp;
-  char *line = NULL;
-  int status;
-  size_t linesize;
-  const char *p, *q;
-  int error;
-
-  /* If the name contains a trailing dot, then the single query is the name
-   * sans the trailing dot.
-   */
-  if (name[len - 1] == '.')
-    {
-      *s = strdup(name);
-      return (*s) ? ARES_SUCCESS : ARES_ENOMEM;
-    }
-
-  if (!(channel->flags & ARES_FLAG_NOALIASES) && !strchr(name, '.'))
-    {
-      /* The name might be a host alias. */
-      hostaliases = getenv("HOSTALIASES");
-      if (hostaliases)
-        {
-          fp = fopen(hostaliases, "r");
-          if (fp)
-            {
-              while ((status = ares__read_line(fp, &line, &linesize))
-                     == ARES_SUCCESS)
-                {
-                  if (strncasecmp(line, name, len) != 0 ||
-                      !ISSPACE(line[len]))
-                    continue;
-                  p = line + len;
-                  while (ISSPACE(*p))
-                    p++;
-                  if (*p)
-                    {
-                      q = p + 1;
-                      while (*q && !ISSPACE(*q))
-                        q++;
-                      *s = malloc(q - p + 1);
-                      if (*s)
-                        {
-                          memcpy(*s, p, q - p);
-                          (*s)[q - p] = 0;
-                        }
-                      free(line);
-                      fclose(fp);
-                      return (*s) ? ARES_SUCCESS : ARES_ENOMEM;
-                    }
-                }
-              free(line);
-              fclose(fp);
-              if (status != ARES_SUCCESS)
-                return status;
-            }
-          else
-            {
-              error = errno;
-              switch(error)
-                {
-                case ENOENT:
-                case ESRCH:
-                  break;
-                default:
-                  DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n",
-                                 error, strerror(error)));
-                  DEBUGF(fprintf(stderr, "Error opening file: %s\n",
-                                 hostaliases));
-                  *s = NULL;
-                  return ARES_EFILE;
-                }
-            }
-        }
-    }
-
-  if (channel->flags & ARES_FLAG_NOSEARCH || channel->ndomains == 0)
-    {
-      /* No domain search to do; just try the name as-is. */
-      *s = strdup(name);
-      return (*s) ? ARES_SUCCESS : ARES_ENOMEM;
-    }
-
-  *s = NULL;
-  return ARES_SUCCESS;
-}
diff --git a/ares/ares_send.3 b/ares/ares_send.3
deleted file mode 100644 (file)
index e8a2404..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_SEND 3 "25 July 1998"
-.SH NAME
-ares_send \- Initiate a DNS query
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B typedef void (*ares_callback)(void *\fIarg\fP, int \fIstatus\fP,
-.B     int \fItimeouts\fP, unsigned char *\fIabuf\fP, int \fIalen\fP)
-.PP
-.B void ares_send(ares_channel \fIchannel\fP, const unsigned char *\fIqbuf\fP,
-.B     int \fIqlen\fP, ares_callback \fIcallback\fP, void *\fIarg\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_send
-function initiates a DNS query on the name service channel identified
-by
-.IR channel .
-The parameters
-.I qbuf
-and
-.I qlen
-give the DNS query, which should already have been formatted according
-to the DNS protocol.  When the query is complete or has failed, the
-ares library will invoke
-.IR callback .
-Completion or failure of the query may happen immediately, or may
-happen during a later call to
-.BR ares_process (3)
-or
-.BR ares_destroy (3).
-.PP
-The callback argument
-.I arg
-is copied from the
-.B ares_send
-argument
-.IR arg .
-The callback argument
-.I status
-indicates whether the query succeeded and, if not, how it failed.  It
-may have any of the following values:
-.TP 19
-.B ARES_SUCCESS
-The query completed.
-.TP 19
-.B ARES_EBADQUERY
-The query buffer was poorly formed (was not long enough for a DNS
-header or was too long for TCP transmission).
-.TP 19
-.B ARES_ETIMEOUT
-No name servers responded within the timeout period.
-.TP 19
-.B ARES_ECONNREFUSED
-No name servers could be contacted.
-.TP 19
-.B ARES_ENOMEM
-Memory was exhausted.
-.TP 19
-.B ARES_EDESTRUCTION
-The name service channel
-.I channel
-is being destroyed; the query will not be completed.
-.PP
-The callback argument
-.I timeouts
-reports how many times a query timed out during the execution of the
-given request.
-.PP
-If the query completed, the callback argument
-.I abuf
-points to a result buffer of length
-.IR alen .
-If the query did not complete,
-.I abuf
-will be NULL and
-.I alen
-will be 0.
-.PP
-Unless the flag
-.B ARES_FLAG_NOCHECKRESP
-was set at channel initialization time,
-.B ares_send
-will normally ignore responses whose questions do not match the
-questions in
-.IR qbuf ,
-as well as responses with reply codes of
-.BR SERVFAIL ,
-.BR NOTIMP ,
-and
-.BR REFUSED .
-Unlike other query functions in the ares library, however,
-.B ares_send
-does not inspect the header of the reply packet to determine the error
-status, so a callback status of
-.B ARES_SUCCESS
-does not reflect as much about the response as for other query
-functions.
-.SH SEE ALSO
-.BR ares_process (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_send.c b/ares/ares_send.c
deleted file mode 100644 (file)
index c2b0065..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include "ares.h"
-#include "ares_dns.h"
-#include "ares_private.h"
-
-void ares_send(ares_channel channel, const unsigned char *qbuf, int qlen,
-               ares_callback callback, void *arg)
-{
-  struct query *query;
-  int i;
-  struct timeval now;
-
-  /* Verify that the query is at least long enough to hold the header. */
-  if (qlen < HFIXEDSZ || qlen >= (1 << 16))
-    {
-      callback(arg, ARES_EBADQUERY, 0, NULL, 0);
-      return;
-    }
-
-  /* Allocate space for query and allocated fields. */
-  query = malloc(sizeof(struct query));
-  if (!query)
-    {
-      callback(arg, ARES_ENOMEM, 0, NULL, 0);
-      return;
-    }
-  query->tcpbuf = malloc(qlen + 2);
-  if (!query->tcpbuf)
-    {
-      free(query);
-      callback(arg, ARES_ENOMEM, 0, NULL, 0);
-      return;
-    }
-  query->server_info = malloc(channel->nservers *
-                              sizeof(query->server_info[0]));
-  if (!query->server_info)
-    {
-      free(query->tcpbuf);
-      free(query);
-      callback(arg, ARES_ENOMEM, 0, NULL, 0);
-      return;
-    }
-
-  /* Compute the query ID.  Start with no timeout. */
-  query->qid = (unsigned short)DNS_HEADER_QID(qbuf);
-  query->timeout.tv_sec = 0;
-  query->timeout.tv_usec = 0;
-
-  /* Form the TCP query buffer by prepending qlen (as two
-   * network-order bytes) to qbuf.
-   */
-  query->tcpbuf[0] = (unsigned char)((qlen >> 8) & 0xff);
-  query->tcpbuf[1] = (unsigned char)(qlen & 0xff);
-  memcpy(query->tcpbuf + 2, qbuf, qlen);
-  query->tcplen = qlen + 2;
-
-  /* Fill in query arguments. */
-  query->qbuf = query->tcpbuf + 2;
-  query->qlen = qlen;
-  query->callback = callback;
-  query->arg = arg;
-
-  /* Initialize query status. */
-  query->try = 0;
-
-  /* Choose the server to send the query to. If rotation is enabled, keep track
-   * of the next server we want to use. */
-  query->server = channel->last_server;
-  if (channel->rotate == 1)
-    channel->last_server = (channel->last_server + 1) % channel->nservers;
-
-  for (i = 0; i < channel->nservers; i++)
-    {
-      query->server_info[i].skip_server = 0;
-      query->server_info[i].tcp_connection_generation = 0;
-    }
-  query->using_tcp = (channel->flags & ARES_FLAG_USEVC) || qlen > PACKETSZ;
-  query->error_status = ARES_ECONNREFUSED;
-  query->timeouts = 0;
-
-  /* Initialize our list nodes. */
-  ares__init_list_node(&(query->queries_by_qid),     query);
-  ares__init_list_node(&(query->queries_by_timeout), query);
-  ares__init_list_node(&(query->queries_to_server),  query);
-  ares__init_list_node(&(query->all_queries),        query);
-
-  /* Chain the query into the list of all queries. */
-  ares__insert_in_list(&(query->all_queries), &(channel->all_queries));
-  /* Keep track of queries bucketed by qid, so we can process DNS
-   * responses quickly.
-   */
-  ares__insert_in_list(
-    &(query->queries_by_qid),
-    &(channel->queries_by_qid[query->qid % ARES_QID_TABLE_SIZE]));
-
-  /* Perform the first query action. */
-  now = ares__tvnow();
-  ares__send_query(channel, query, &now);
-}
diff --git a/ares/ares_set_servers.3 b/ares/ares_set_servers.3
deleted file mode 100644 (file)
index 949b81f..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\" Copyright (C) 2008-2010 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_SET_SERVERS 3 "5 March 2010"
-.SH NAME
-ares_set_servers \- Initialize an ares_channel name servers configuration
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B int ares_set_servers(ares_channel \fIchannel\fP, struct ares_addr_node *\fIservers\fP)
-.fi
-.SH DESCRIPTION
-The \fBares_set_servers(3)\fP function initializes name servers configuration
-for the channel data identified by
-.IR channel ,
-from a
-.IR servers
-pointer to a linked list of ares_addr_node structs holding name servers
-address data.
-
-The name server linked list pointer argument may be the result of a previous
-call to \fBares_get_servers(3)\fP or a linked list of ares_addr_node structs
-setup by other means.
-
-This function replaces any potentially previously configured name servers
-with the ones given in the linked list. So, in order to configure a channel
-with more than one name server all the desired ones must be specified in a 
-single list.
-
-\fBares_set_servers(3)\fP does not take ownership of the linked list argument.
-The caller is responsible to free the linked list when no longer needed.
-
-This function is capable of handling IPv4 and IPv6 name server
-addresses simultaneously, rendering \fBares_init_options(3)\fP with
-optmask \fBARES_OPT_SERVERS\fP functionally obsolete except for
-IPv4-only name server usage.
-
-.SH RETURN VALUES
-.B ares_set_servers(3)
-may return any of the following values:
-.TP 15
-.B ARES_SUCCESS
-The name servers configuration was successfuly initialized.
-.TP 15
-.B ARES_ENOMEM
-The process's available memory was exhausted.
-.TP 15
-.B ARES_ENODATA
-The channel data identified by 
-.IR channel
-was invalid.
-.TP 15
-.B ARES_ENOTINITIALIZED
-c-ares library initialization not yet performed.
-.SH SEE ALSO
-.BR ares_get_servers (3),
-.BR ares_init_options (3),
-.BR ares_dup(3)
-.SH AVAILABILITY
-ares_set_servers(3) was added in c-ares 1.7.1
-.SH AUTHOR
-Implementation of this function and associated library internals are based
-on code, comments and feedback provided November and December of 2008 by
-Daniel Stenberg, Gregor Jasny, Phil Blundell and Yang Tse, December 2009
-by Cedric Bail, February 2010 by Jakub Hrozek. On March 2010 Yang Tse
-shuffled all the bits and this function popped out.
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
-.br
-Copyright (C) 2008-2010 by Daniel Stenberg
diff --git a/ares/ares_set_socket_callback.3 b/ares/ares_set_socket_callback.3
deleted file mode 100644 (file)
index fb598ca..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-.\" $Id$
-.\"
-.TH ARES_SET_SOCKET_CALLBACK 3 "20 Nov 2009"
-.SH NAME
-ares_set_socket_callback \- Set a socket creation callback
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B void ares_set_socket_callback(ares_channel \fIchannel\fP,
-                             ares_sock_create_callback \fIcallback\fP,
-                             void *\fIuserdata\fP)
-.PP
-.B cc file.c -lcares
-.fi
-.SH DESCRIPTION
-.PP
-This function sets a \fIcallback\fP in the given ares channel handle. This
-callback function will be invoked after the socket has been created, and
-connected to the remote server. The callback must return ARES_SUCCESS if
-things are fine, or use the standard ares error codes to signal errors
-back. Returned errors will abort the ares operation.
-.SH SEE ALSO
-.BR ares_init_options (3)
-.SH AVAILABILITY
-ares_set_socket_callback(3) was added in c-ares 1.6.0
-.SH AUTHOR
-Gregor Jasny
-
diff --git a/ares/ares_setup.h b/ares/ares_setup.h
deleted file mode 100644 (file)
index ce81b1f..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-#ifndef HEADER_CARES_SETUP_H
-#define HEADER_CARES_SETUP_H
-
-/* $Id$ */
-
-/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-/*
- * Define WIN32 when build target is Win32 API
- */
-
-#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
-#define WIN32
-#endif
-
-/*
- * Include configuration script results or hand-crafted
- * configuration file for platforms which lack config tool.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "ares_config.h"
-#else
-
-#ifdef WIN32
-#include "config-win32.h"
-#endif
-
-#endif /* HAVE_CONFIG_H */
-
-/* ================================================================ */
-/* Definition of preprocessor macros/symbols which modify compiler  */
-/* behaviour or generated code characteristics must be done here,   */
-/* as appropriate, before any system header file is included. It is */
-/* also possible to have them defined in the config file included   */
-/* before this point. As a result of all this we frown inclusion of */
-/* system header files in our config files, avoid this at any cost. */
-/* ================================================================ */
-
-/*
- * AIX 4.3 and newer needs _THREAD_SAFE defined to build
- * proper reentrant code. Others may also need it.
- */
-
-#ifdef NEED_THREAD_SAFE
-#  ifndef _THREAD_SAFE
-#    define _THREAD_SAFE
-#  endif
-#endif
-
-/*
- * Tru64 needs _REENTRANT set for a few function prototypes and
- * things to appear in the system header files. Unixware needs it
- * to build proper reentrant code. Others may also need it.
- */
-
-#ifdef NEED_REENTRANT
-#  ifndef _REENTRANT
-#    define _REENTRANT
-#  endif
-#endif
-
-/* ================================================================ */
-/*  If you need to include a system header file for your platform,  */
-/*  please, do it beyond the point further indicated in this file.  */
-/* ================================================================ */
-
-/*
- * c-ares external interface definitions are also used internally,
- * and might also include required system header files to define them.
- */
-
-#include <ares_build.h>
-
-/*
- * Compile time sanity checks must also be done when building the library.
- */
-
-#include <ares_rules.h>
-
-/* ================================================================= */
-/* No system header file shall be included in this file before this  */
-/* point. The only allowed ones are those included from ares_build.h */
-/* ================================================================= */
-
-/*
- * Include header files for windows builds before redefining anything.
- * Use this preproessor block only to include or exclude windows.h,
- * winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
- * to any other further and independent block.  Under Cygwin things work
- * just as under linux (e.g. <sys/socket.h>) and the winsock headers should
- * never be included when __CYGWIN__ is defined.  configure script takes
- * care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
- * neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
- */
-
-#ifdef HAVE_WINDOWS_H
-#  ifndef WIN32_LEAN_AND_MEAN
-#    define WIN32_LEAN_AND_MEAN
-#  endif
-#  include <windows.h>
-#  ifdef HAVE_WINSOCK2_H
-#    include <winsock2.h>
-#    ifdef HAVE_WS2TCPIP_H
-#       include <ws2tcpip.h>
-#    endif
-#  else
-#    ifdef HAVE_WINSOCK_H
-#      include <winsock.h>
-#    endif
-#  endif
-#endif
-
-/*
- * Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
- * define USE_WINSOCK to 1 if we have and use WINSOCK  API, else
- * undefine USE_WINSOCK.
- */
-
-#undef USE_WINSOCK
-
-#ifdef HAVE_WINSOCK2_H
-#  define USE_WINSOCK 2
-#else
-#  ifdef HAVE_WINSOCK_H
-#    define USE_WINSOCK 1
-#  endif
-#endif
-
-/*
- * Work-arounds for systems without configure support
- */
-
-#ifndef HAVE_CONFIG_H
-
-#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER) && !defined(__WATCOMC__)
-#define HAVE_SYS_TIME_H
-#endif
-
-#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
-#define HAVE_UNISTD_H 1
-#endif
-
-#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
-#define HAVE_SYS_UIO_H
-#endif
-
-#endif /* HAVE_CONFIG_H */
-
-#ifdef __POCC__
-#  include <sys/types.h>
-#  include <unistd.h>
-#  define ESRCH 3
-#endif
-
-/*
- * Recent autoconf versions define these symbols in ares_config.h. We don't
- * want them (since they collide with the libcurl ones when we build
- *  --enable-debug) so we undef them again here.
- */
-
-#undef PACKAGE_STRING
-#undef PACKAGE_TARNAME
-#undef PACKAGE_VERSION
-#undef PACKAGE_BUGREPORT
-#undef PACKAGE_NAME
-#undef VERSION
-#undef PACKAGE
-
-/* IPv6 compatibility */
-#if !defined(HAVE_AF_INET6)
-#if defined(HAVE_PF_INET6)
-#define AF_INET6 PF_INET6
-#else
-#define AF_INET6 AF_MAX+1
-#endif
-#endif
-
-/*
- * Include macros and defines that should only be processed once.
- */
-
-#ifndef __SETUP_ONCE_H
-#include "setup_once.h"
-#endif
-
-#endif /* HEADER_CARES_SETUP_H */
diff --git a/ares/ares_strcasecmp.c b/ares/ares_strcasecmp.c
deleted file mode 100644 (file)
index 30d64b9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include "ares_strcasecmp.h"
-
-#ifndef HAVE_STRCASECMP
-int ares_strcasecmp(const char *a, const char *b)
-{
-#if defined(HAVE_STRCMPI)
-  return strcmpi(a, b);
-#elif defined(HAVE_STRICMP)
-  return stricmp(a, b);
-#else
-  size_t i;
-
-  for (i = 0; i < (size_t)-1; i++) {
-    int c1 = ISUPPER(a[i]) ? tolower(a[i]) : a[i];
-    int c2 = ISUPPER(b[i]) ? tolower(b[i]) : b[i];
-    if (c1 != c2)
-      return c1-c2;
-    if (!c1)
-      break;
-  }
-  return 0;
-#endif
-}
-#endif
-
-#ifndef HAVE_STRNCASECMP
-int ares_strncasecmp(const char *a, const char *b, size_t n)
-{
-#if defined(HAVE_STRNCMPI)
-  return strncmpi(a, b, n);
-#elif defined(HAVE_STRNICMP)
-  return strnicmp(a, b, n);
-#else
-  size_t i;
-
-  for (i = 0; i < n; i++) {
-    int c1 = ISUPPER(a[i]) ? tolower(a[i]) : a[i];
-    int c2 = ISUPPER(b[i]) ? tolower(b[i]) : b[i];
-    if (c1 != c2)
-      return c1-c2;
-    if (!c1)
-      break;
-  }
-  return 0;
-#endif
-}
-#endif
-
diff --git a/ares/ares_strcasecmp.h b/ares/ares_strcasecmp.h
deleted file mode 100644 (file)
index 28164d7..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef HEADER_CARES_STRCASECMP_H
-#define HEADER_CARES_STRCASECMP_H
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifndef HAVE_STRCASECMP
-extern int ares_strcasecmp(const char *a, const char *b);
-#endif
-
-#ifndef HAVE_STRNCASECMP
-extern int ares_strncasecmp(const char *a, const char *b, size_t n);
-#endif
-
-#endif /* HEADER_CARES_STRCASECMP_H */
diff --git a/ares/ares_strdup.c b/ares/ares_strdup.c
deleted file mode 100644 (file)
index 6742c6f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include "ares_strdup.h"
-
-#ifndef HAVE_STRDUP
-char *ares_strdup(const char *s1)
-{
-  size_t sz;
-  char * s2;
-
-  if(s1) {
-    sz = strlen(s1);
-    if(sz < (size_t)-1) {
-      sz++;
-      if(sz < ((size_t)-1) / sizeof(char)) {
-        s2 = malloc(sz * sizeof(char));
-        if(s2) {
-          memcpy(s2, s1, sz * sizeof(char));
-          return s2;
-        }
-      }
-    }
-  }
-  return (char *)NULL;
-}
-#endif
diff --git a/ares/ares_strdup.h b/ares/ares_strdup.h
deleted file mode 100644 (file)
index 980da52..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef HEADER_CARES_STRDUP_H
-#define HEADER_CARES_STRDUP_H
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifndef HAVE_STRDUP
-extern char *ares_strdup(const char *s1);
-#endif
-
-#endif /* HEADER_CARES_STRDUP_H */
diff --git a/ares/ares_strerror.3 b/ares/ares_strerror.3
deleted file mode 100644 (file)
index 0a46cec..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_STRERROR 3 "25 July 1998"
-.SH NAME
-ares_strerror \- Get the description of an ares library error code
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B const char *ares_strerror(int \fIcode\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_strerror
-function gets the description of the ares library error code
-.IR code ,
-returning the result as a NUL-terminated C string.
-.SH NOTES
-This function is not compatible with ares, it takes a different set of
-arguments.
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_strerror.c b/ares/ares_strerror.c
deleted file mode 100644 (file)
index 70af5b6..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include <assert.h>
-#include "ares.h"
-
-const char *ares_strerror(int code)
-{
-  /* Return a string literal from a table. */
-  const char *errtext[] = {
-    "Successful completion",
-    "DNS server returned answer with no data",
-    "DNS server claims query was misformatted",
-    "DNS server returned general failure",
-    "Domain name not found",
-    "DNS server does not implement requested operation",
-    "DNS server refused query",
-    "Misformatted DNS query",
-    "Misformatted domain name",
-    "Unsupported address family",
-    "Misformatted DNS reply",
-    "Could not contact DNS servers",
-    "Timeout while contacting DNS servers",
-    "End of file",
-    "Error reading file",
-    "Out of memory",
-    "Channel is being destroyed",
-    "Misformatted string",
-    "Illegal flags specified",
-    "Given hostname is not numeric",
-    "Illegal hints flags specified",
-    "c-ares library initialization not yet performed",
-    "Error loading iphlpapi.dll",
-    "Could not find GetNetworkParams function",
-    "DNS query cancelled"
-  };
-
-  if(code >= 0 && code < (int)(sizeof(errtext) / sizeof(*errtext)))
-    return errtext[code];
-  else
-    return "unknown";
-}
diff --git a/ares/ares_timeout.3 b/ares/ares_timeout.3
deleted file mode 100644 (file)
index 5230871..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 1998 by the Massachusetts Institute of Technology.
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_TIMEOUT 3 "25 July 1998"
-.SH NAME
-ares_fds \- Get file descriptors to select on for name service
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B struct timeval *ares_timeout(ares_channel \fIchannel\fP,
-.B     struct timeval *\fImaxtv\fP, struct timeval *\fItv\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_timeout
-function determines the maximum time for which the caller should wait before
-invoking \fIares_process(3)\fP to process timeouts.  The parameter
-.I maxtv
-specifies a existing maximum timeout, or
-.B NULL
-if the caller does not wish to apply a maximum timeout.  The parameter
-.I tv
-must point to a writable buffer of type
-.BR "struct timeval" .
-It is valid for
-.I maxtv
-and
-.I tv
-to have the same value.
-.PP
-If no queries have timeouts pending sooner than the given maximum
-timeout,
-.B ares_timeout
-returns the value of
-.IR maxtv;
-otherwise
-.B ares_timeout
-stores the appropriate timeout value into the buffer pointed to by
-.I tv
-and returns the value of
-.IR tv .
-.SH SEE ALSO
-.BR ares_fds (3),
-.BR ares_process (3)
-.SH AUTHOR
-Greg Hudson, MIT Information Systems
-.br
-Copyright 1998 by the Massachusetts Institute of Technology.
diff --git a/ares/ares_timeout.c b/ares/ares_timeout.c
deleted file mode 100644 (file)
index 72ea0dc..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#include <time.h>
-
-#include "ares.h"
-#include "ares_private.h"
-
-/* WARNING: Beware that this is linear in the number of outstanding
- * requests! You are probably far better off just calling ares_process()
- * once per second, rather than calling ares_timeout() to figure out
- * when to next call ares_process().
- */
-struct timeval *ares_timeout(ares_channel channel, struct timeval *maxtv,
-                             struct timeval *tvbuf)
-{
-  struct query *query;
-  struct list_node* list_head;
-  struct list_node* list_node;
-  struct timeval now;
-  struct timeval nextstop;
-  long offset, min_offset;
-
-  /* No queries, no timeout (and no fetch of the current time). */
-  if (ares__is_list_empty(&(channel->all_queries)))
-    return maxtv;
-
-  /* Find the minimum timeout for the current set of queries. */
-  now = ares__tvnow();
-  min_offset = -1;
-
-  list_head = &(channel->all_queries);
-  for (list_node = list_head->next; list_node != list_head;
-       list_node = list_node->next)
-    {
-      query = list_node->data;
-      if (query->timeout.tv_sec == 0)
-        continue;
-      offset = ares__timeoffset(&now, &query->timeout);
-      if (offset < 0)
-        offset = 0;
-      if (min_offset == -1 || offset < min_offset)
-        min_offset = offset;
-    }
-
-  if(min_offset != -1) {
-    nextstop.tv_sec = min_offset/1000;
-    nextstop.tv_usec = (min_offset%1000)*1000;
-  }
-
-  /* If we found a minimum timeout and it's sooner than the one specified in
-   * maxtv (if any), return it.  Otherwise go with maxtv.
-   */
-  if (min_offset != -1 && (!maxtv || ares__timedout(maxtv, &nextstop)))
-    {
-      *tvbuf = nextstop;
-      return tvbuf;
-    }
-  else
-    return maxtv;
-}
diff --git a/ares/ares_version.3 b/ares/ares_version.3
deleted file mode 100644 (file)
index ec9c179..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 2004 by Daniel Stenberg
-.\"
-.\" Permission to use, copy, modify, and distribute this
-.\" software and its documentation for any purpose and without
-.\" fee is hereby granted, provided that the above copyright
-.\" notice appear in all copies and that both that copyright
-.\" notice and this permission notice appear in supporting
-.\" documentation, and that the name of M.I.T. not be used in
-.\" advertising or publicity pertaining to distribution of the
-.\" software without specific, written prior permission.
-.\" M.I.T. makes no representations about the suitability of
-.\" this software for any purpose.  It is provided "as is"
-.\" without express or implied warranty.
-.\"
-.TH ARES_VERSION 3 "29 January 2004"
-.SH NAME
-ares_version \- Get the version number of the library
-.SH SYNOPSIS
-.nf
-.B #include <ares.h>
-.PP
-.B const char *ares_version(int *\fIversion\fP)
-.fi
-.SH DESCRIPTION
-The
-.B ares_version
-function gets the library version as a string and optionally as an integer
-stored in the
-.IR version ,
-argument. If you pass a NULL, no integer is attempted to be returned.
-
-The integer is built up as 24bit number, with 8 separate bits used for major
-number, minor number and patch number. This makes a version string such as
-1.2.3 will be returned as the hexadecimal number 0x010203 (decimal 66051).
-.SH NOTES
-This function is not compatible with ares.
-.SH AUTHOR
-Daniel Stenberg
-
diff --git a/ares/ares_version.c b/ares/ares_version.c
deleted file mode 100644 (file)
index 0f7d037..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/* $Id$ */
-
-#include "ares_setup.h"
-#include "ares.h"
-
-const char *ares_version(int *version)
-{
-  if(version)
-    *version = ARES_VERSION;
-
-  return ARES_VERSION_STR;
-}
diff --git a/ares/ares_version.h b/ares/ares_version.h
deleted file mode 100644 (file)
index 07c80ba..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/* $Id$ */
-
-#ifndef ARES__VERSION_H
-#define ARES__VERSION_H
-
-#define ARES_VERSION_MAJOR 1
-#define ARES_VERSION_MINOR 7
-#define ARES_VERSION_PATCH 1
-#define ARES_VERSION ((ARES_VERSION_MAJOR<<16)|\
-                       (ARES_VERSION_MINOR<<8)|\
-                       (ARES_VERSION_PATCH))
-#define ARES_VERSION_STR "1.7.1-CVS"
-
-#if (ARES_VERSION >= 0x010700)
-#  define CARES_HAVE_ARES_LIBRARY_INIT 1
-#  define CARES_HAVE_ARES_LIBRARY_CLEANUP 1
-#else
-#  undef CARES_HAVE_ARES_LIBRARY_INIT
-#  undef CARES_HAVE_ARES_LIBRARY_CLEANUP
-#endif
-
-#endif
diff --git a/ares/ares_writev.c b/ares/ares_writev.c
deleted file mode 100644 (file)
index 4c12942..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_LIMITS_H
-#  include <limits.h>
-#endif
-
-#include "ares.h"
-#include "ares_private.h"
-
-#ifndef HAVE_WRITEV
-ssize_t ares_writev(ares_socket_t s, const struct iovec *iov, int iovcnt)
-{
-  char *buffer, *bp;
-  int i;
-  size_t bytes = 0;
-  ssize_t result;
-
-  /* Validate iovcnt */
-  if (iovcnt <= 0)
-  {
-    SET_ERRNO(EINVAL);
-    return (-1);
-  }
-
-  /* Validate and find the sum of the iov_len values in the iov array */
-  for (i = 0; i < iovcnt; i++)
-  {
-    if (iov[i].iov_len > INT_MAX - bytes)
-    {
-      SET_ERRNO(EINVAL);
-      return (-1);
-    }
-    bytes += iov[i].iov_len;
-  }
-
-  if (bytes == 0)
-    return (0);
-
-  /* Allocate a temporary buffer to hold the data */
-  buffer = malloc(bytes);
-  if (!buffer)
-  {
-    SET_ERRNO(ENOMEM);
-    return (-1);
-  }
-
-  /* Copy the data into buffer */
-  for (bp = buffer, i = 0; i < iovcnt; ++i)
-  {
-    memcpy (bp, iov[i].iov_base, iov[i].iov_len);
-    bp += iov[i].iov_len;
-  }
-
-  /* Send buffer contents */
-  result = swrite(s, buffer, bytes);
-
-  free(buffer);
-
-  return (result);
-}
-#endif
-
diff --git a/ares/ares_writev.h b/ares/ares_writev.h
deleted file mode 100644 (file)
index 860b294..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef HEADER_CARES_WRITEV_H
-#define HEADER_CARES_WRITEV_H
-
-/* $Id$ */
-
-/* Copyright 1998 by the Massachusetts Institute of Technology.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include "ares_setup.h"
-#include "ares.h"
-
-#ifndef HAVE_WRITEV
-
-/* Structure for scatter/gather I/O. */
-struct iovec
-{
-  void *iov_base;  /* Pointer to data. */
-  size_t iov_len;  /* Length of data.  */
-};
-
-extern ssize_t ares_writev(ares_socket_t s, const struct iovec *iov, int iovcnt);
-
-#endif
-
-#endif /* HEADER_CARES_WRITEV_H */
diff --git a/ares/bitncmp.c b/ares/bitncmp.c
deleted file mode 100644 (file)
index 2ec8dc5..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* $Id$ */
-
-/*
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 1996,1999 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifndef HAVE_BITNCMP
-
-#include "ares_setup.h"
-#include "bitncmp.h"
-
-/*
- * int
- * bitncmp(l, r, n)
- *     compare bit masks l and r, for n bits.
- * return:
- *     -1, 1, or 0 in the libc tradition.
- * note:
- *     network byte order assumed.  this means 192.5.5.240/28 has
- *     0x11110000 in its fourth octet.
- * author:
- *     Paul Vixie (ISC), June 1996
- */
-int
-ares_bitncmp(const void *l, const void *r, int n) {
-       unsigned int lb, rb;
-       int x, b;
-
-       b = n / 8;
-       x = memcmp(l, r, b);
-       if (x || (n % 8) == 0)
-               return (x);
-
-       lb = ((const unsigned char *)l)[b];
-       rb = ((const unsigned char *)r)[b];
-       for (b = n % 8; b > 0; b--) {
-               if ((lb & 0x80) != (rb & 0x80)) {
-                       if (lb & 0x80)
-                               return (1);
-                       return (-1);
-               }
-               lb <<= 1;
-               rb <<= 1;
-       }
-       return (0);
-}
-#endif
diff --git a/ares/bitncmp.h b/ares/bitncmp.h
deleted file mode 100644 (file)
index acdd45f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef __ARES_BITNCMP_H
-#define __ARES_BITNCMP_H
-
-/* $Id$ */
-
-/* Copyright (C) 2005 by Dominick Meglio
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#ifndef HAVE_BITNCMP
-int ares_bitncmp(const void *l, const void *r, int n);
-#else
-#define ares_bitncmp(x,y,z) bitncmp(x,y,z)
-#endif
-
-#endif /* __ARES_BITNCMP_H */
diff --git a/ares/buildconf b/ares/buildconf
deleted file mode 100755 (executable)
index f2e9ea5..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/bin/sh
-
-#--------------------------------------------------------------------------
-# findtool works as 'which' but we use a different name to make it more
-# obvious we aren't using 'which'! ;-)
-#
-findtool(){
-  file="$1"
-
-  old_IFS=$IFS; IFS=':'
-  for path in $PATH
-  do
-    IFS=$old_IFS
-    # echo "checks for $file in $path" >&2
-    if test -f "$path/$file"; then
-      echo "$path/$file"
-      return
-    fi
-  done
-  IFS=$old_IFS
-}
-
-#--------------------------------------------------------------------------
-# removethis() removes all files and subdirectories with the given name,
-# inside and below the current subdirectory at invocation time.
-#
-removethis(){
-  if test "$#" = "1"; then
-    find . -depth -name $1 -print > buildconf.tmp.$$
-    while read fdname
-    do
-      if test -f "$fdname"; then
-        rm -f "$fdname"
-      elif test -d "$fdname"; then
-        rm -f -r "$fdname"
-      fi
-    done < buildconf.tmp.$$
-    rm -f buildconf.tmp.$$
-  fi
-}
-
-#--------------------------------------------------------------------------
-# Ensure that buildconf runs from the subdirectory where configure.ac lives
-#
-if test ! -f configure.ac ||
-  test ! -f ares_init.c ||
-  test ! -f m4/cares-functions.m4; then
-  echo "Can not run buildconf from outside of c-ares source subdirectory!"
-  echo "Change to the subdirectory where buildconf is found, and try again."
-  exit 1
-fi
-
-#--------------------------------------------------------------------------
-# this approach that tries 'glibtool' first is some kind of work-around for
-# some BSD-systems I believe that use to provide the GNU libtool named
-# glibtool, with 'libtool' being something completely different.
-libtool=`findtool glibtool 2>/dev/null`
-if test ! -x "$libtool"; then
-  libtool=`findtool ${LIBTOOL:-libtool}`
-fi
-
-if test -z "$LIBTOOLIZE"; then
-  # set the LIBTOOLIZE here so that glibtoolize is used if glibtool was found
-  # $libtool is already the full path
-  libtoolize="${libtool}ize"
-else
-  libtoolize=`findtool $LIBTOOLIZE`
-fi
-
-#--------------------------------------------------------------------------
-# Remove files generated on previous buildconf/configure run.
-#
-for fname in .deps \
-    .libs \
-    *.la \
-    *.lo \
-    *.a \
-    *.o \
-    Makefile \
-    Makefile.in \
-    aclocal.m4 \
-    aclocal.m4.bak \
-    ares_build.h \
-    ares_config.h \
-    ares_config.h.in \
-    autom4te.cache \
-    compile \
-    config.guess \
-    config.log \
-    config.lt \
-    config.status \
-    config.sub \
-    configure \
-    depcomp \
-    libcares.pc \
-    libtool \
-    libtool.m4 \
-    ltmain.sh \
-    ltoptions.m4 \
-    ltsugar.m4 \
-    ltversion.m4 \
-    lt~obsolete.m4 \
-    missing \
-    stamp-h1 \
-    stamp-h2 ; do
-  removethis "$fname"
-done
-
-#--------------------------------------------------------------------------
-# run the correct scripts now
-#
-
-${libtoolize} --copy --automake --force
-${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS
-${AUTOHEADER:-autoheader}
-${AUTOCONF:-autoconf}
-${AUTOMAKE:-automake} --add-missing --copy
diff --git a/ares/buildconf.bat b/ares/buildconf.bat
deleted file mode 100644 (file)
index 4b6a6e2..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-@echo off
-REM
-REM $Id$
-REM
-REM This batch file must be used to set up a CVS tree to build on
-REM systems where there is no autotools support (i.e. Microsoft).
-REM
-REM This file is not included nor needed for c-ares' release
-REM archives, neither for c-ares' daily snapshot archives.
-
-if exist CVS-INFO goto start_doing
-ECHO ERROR: This file shall only be used with a c-ares CVS tree checkout.
-goto end_all
-:start_doing
-
-if not exist ares_build.h.dist goto end_ares_build_h
-copy /Y ares_build.h.dist ares_build.h
-:end_ares_build_h
-
-:end_all
-
diff --git a/ares/cares.rc b/ares/cares.rc
deleted file mode 100644 (file)
index 4dfacc4..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/* $Id$ */
-
-/* Copyright (C) 2009 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#include <winver.h>
-#include "ares_version.h"
-
-LANGUAGE  0x09,0x01
-
-#define RC_VERSION  ARES_VERSION_MAJOR, ARES_VERSION_MINOR, ARES_VERSION_PATCH, 0
-
-VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     RC_VERSION
-  PRODUCTVERSION  RC_VERSION
-  FILEFLAGSMASK   0x3fL
-#if defined(DEBUGBUILD) || defined(_DEBUG)
-  FILEFLAGS 1
-#else
-  FILEFLAGS 0
-#endif
-  FILEOS      VOS__WINDOWS32
-  FILETYPE    VFT_DLL
-  FILESUBTYPE 0x0L
-
-BEGIN
-  BLOCK "StringFileInfo"
-  BEGIN
-    BLOCK "040904b0"
-    BEGIN
-      VALUE "CompanyName",      "The c-ares library, http://c-ares.haxx.se/\0"
-#if defined(DEBUGBUILD) || defined(_DEBUG)
-      VALUE "FileDescription",  "c-ares Debug Shared Library\0"
-      VALUE "FileVersion",      ARES_VERSION_STR "\0"
-      VALUE "InternalName",     "c-ares\0"
-      VALUE "OriginalFilename", "caresd.dll\0"
-#else
-      VALUE "FileDescription",  "c-ares Shared Library\0"
-      VALUE "FileVersion",      ARES_VERSION_STR "\0"
-      VALUE "InternalName",     "c-ares\0"
-      VALUE "OriginalFilename", "cares.dll\0"
-#endif
-      VALUE "ProductName",      "The c-ares library\0"
-      VALUE "ProductVersion",   ARES_VERSION_STR "\0"
-      VALUE "LegalCopyright",   "© 2004 - 2009 Daniel Stenberg, <daniel@haxx.se>.\0"
-      VALUE "License",          "http://c-ares.haxx.se/license.html\0"
-    END
-  END
-
-  BLOCK "VarFileInfo"
-  BEGIN
-    VALUE "Translation", 0x409, 1200
-  END
-END
diff --git a/ares/config-win32.h b/ares/config-win32.h
deleted file mode 100644 (file)
index d7b1179..0000000
+++ /dev/null
@@ -1,354 +0,0 @@
-#ifndef __ARES_CONFIG_WIN32_H
-#define __ARES_CONFIG_WIN32_H
-
-/* $Id$ */
-
-/* Copyright (C) 2004 - 2008 by Daniel Stenberg et al
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-/* ================================================================ */
-/*    ares/config-win32.h - Hand crafted config file for Windows    */
-/* ================================================================ */
-
-/* ---------------------------------------------------------------- */
-/*                          HEADER FILES                            */
-/* ---------------------------------------------------------------- */
-
-/* Define if you have the <getopt.h> header file.  */
-#if defined(__MINGW32__) || defined(__POCC__)
-#define HAVE_GETOPT_H 1
-#endif
-
-/* Define if you have the <limits.h> header file.  */
-#define HAVE_LIMITS_H 1
-
-/* Define if you have the <process.h> header file.  */
-#ifndef __SALFORDC__
-#define HAVE_PROCESS_H 1
-#endif
-
-/* Define if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H 1
-
-/* Define if you have the <sys/time.h> header file */
-/* #define HAVE_SYS_TIME_H 1 */
-
-/* Define if you have the <time.h> header file.  */
-#define HAVE_TIME_H 1
-
-/* Define if you have the <unistd.h> header file.  */
-#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \
-    defined(__POCC__)
-#define HAVE_UNISTD_H 1
-#endif
-
-/* Define if you have the <windows.h> header file.  */
-#define HAVE_WINDOWS_H 1
-
-/* Define if you have the <winsock.h> header file.  */
-#define HAVE_WINSOCK_H 1
-
-/* Define if you have the <winsock2.h> header file.  */
-#ifndef __SALFORDC__
-#define HAVE_WINSOCK2_H 1
-#endif
-
-/* Define if you have the <ws2tcpip.h> header file.  */
-#ifndef __SALFORDC__
-#define HAVE_WS2TCPIP_H 1
-#endif
-
-/* ---------------------------------------------------------------- */
-/*                        OTHER HEADER INFO                         */
-/* ---------------------------------------------------------------- */
-
-/* Define if sig_atomic_t is an available typedef. */
-#define HAVE_SIG_ATOMIC_T 1
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>.  */
-/* #define TIME_WITH_SYS_TIME 1 */
-
-/* ---------------------------------------------------------------- */
-/*                             FUNCTIONS                            */
-/* ---------------------------------------------------------------- */
-
-/* Define if you have the closesocket function.  */
-#define HAVE_CLOSESOCKET 1
-
-/* Define if you have the gethostname function.  */
-#define HAVE_GETHOSTNAME 1
-
-/* Define if you have the ioctlsocket function. */
-#define HAVE_IOCTLSOCKET 1
-
-/* Define if you have a working ioctlsocket FIONBIO function. */
-#define HAVE_IOCTLSOCKET_FIONBIO 1
-
-/* Define if you have the strcasecmp function. */
-/* #define HAVE_STRCASECMP 1 */
-
-/* Define if you have the strdup function. */
-#define HAVE_STRDUP 1
-
-/* Define if you have the stricmp function. */
-#define HAVE_STRICMP 1
-
-/* Define if you have the strncasecmp function. */
-/* #define HAVE_STRNCASECMP 1 */
-
-/* Define if you have the strnicmp function. */
-#define HAVE_STRNICMP 1
-
-/* Define if you have the recv function. */
-#define HAVE_RECV 1
-
-/* Define to the type of arg 1 for recv. */
-#define RECV_TYPE_ARG1 SOCKET
-
-/* Define to the type of arg 2 for recv. */
-#define RECV_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for recv. */
-#define RECV_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recv. */
-#define RECV_TYPE_ARG4 int
-
-/* Define to the function return type for recv. */
-#define RECV_TYPE_RETV int
-
-/* Define if you have the recvfrom function. */
-#define HAVE_RECVFROM 1
-
-/* Define to the type of arg 1 for recvfrom. */
-#define RECVFROM_TYPE_ARG1 SOCKET
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char
-
-/* Define to the type of arg 3 for recvfrom. */
-#define RECVFROM_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recvfrom. */
-#define RECVFROM_TYPE_ARG4 int
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int
-
-/* Define to the function return type for recvfrom. */
-#define RECVFROM_TYPE_RETV int
-
-/* Define if you have the send function. */
-#define HAVE_SEND 1
-
-/* Define to the type of arg 1 for send. */
-#define SEND_TYPE_ARG1 SOCKET
-
-/* Define to the type qualifier of arg 2 for send. */
-#define SEND_QUAL_ARG2 const
-
-/* Define to the type of arg 2 for send. */
-#define SEND_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for send. */
-#define SEND_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for send. */
-#define SEND_TYPE_ARG4 int
-
-/* Define to the function return type for send. */
-#define SEND_TYPE_RETV int
-
-/* Specifics for the Watt-32 tcp/ip stack */
-#ifdef WATT32
-  #define SOCKET              int
-  #define NS_INADDRSZ         4
-  #define HAVE_ARPA_NAMESER_H 1
-  #define HAVE_ARPA_INET_H    1
-  #define HAVE_NETDB_H        1
-  #define HAVE_NETINET_IN_H   1
-  #define HAVE_SYS_SOCKET_H   1
-  #define HAVE_NETINET_TCP_H  1
-  #define HAVE_AF_INET6       1
-  #define HAVE_PF_INET6       1
-  #define HAVE_STRUCT_IN6_ADDR     1
-  #define HAVE_STRUCT_SOCKADDR_IN6 1
-  #undef HAVE_WINSOCK_H
-  #undef HAVE_WINSOCK2_H
-  #undef HAVE_WS2TCPIP_H
-#endif
-
-/* ---------------------------------------------------------------- */
-/*                       TYPEDEF REPLACEMENTS                       */
-/* ---------------------------------------------------------------- */
-
-/* Define this if in_addr_t is not an available 'typedefed' type */
-#define in_addr_t unsigned long
-
-/* Define as the return type of signal handlers (int or void).  */
-#define RETSIGTYPE void
-
-/* Define ssize_t if it is not an available 'typedefed' type */
-#ifndef _SSIZE_T_DEFINED
-#  if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || \
-      defined(__POCC__) || \
-      defined(__MINGW32__)
-#  elif defined(_WIN64)
-#    define _SSIZE_T_DEFINED
-#    define ssize_t __int64
-#  else
-#    define _SSIZE_T_DEFINED
-#    define ssize_t int
-#  endif
-#endif
-
-/* ---------------------------------------------------------------- */
-/*                            TYPE SIZES                            */
-/* ---------------------------------------------------------------- */
-
-/* The size of `int', as computed by sizeof. */
-#define SIZEOF_INT 4
-
-/* The size of `short', as computed by sizeof. */
-#define SIZEOF_SHORT 2
-
-/* ---------------------------------------------------------------- */
-/*                          STRUCT RELATED                          */
-/* ---------------------------------------------------------------- */
-
-/* Define this if you have struct addrinfo */
-#define HAVE_STRUCT_ADDRINFO 1
-
-/* Define this if you have struct sockaddr_storage */
-#ifndef __SALFORDC__
-#define HAVE_STRUCT_SOCKADDR_STORAGE 1
-#endif
-
-/* Define this if you have struct timeval */
-#define HAVE_STRUCT_TIMEVAL 1
-
-/* ---------------------------------------------------------------- */
-/*                        COMPILER SPECIFIC                         */
-/* ---------------------------------------------------------------- */
-
-/* Define to avoid VS2005 complaining about portable C functions */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-#define _CRT_SECURE_NO_DEPRECATE 1
-#define _CRT_NONSTDC_NO_DEPRECATE 1
-#endif
-
-/* Officially, Microsoft's Windows SDK versions 6.X do not support Windows
-   2000 as a supported build target. VS2008 default installations provide an
-   embedded Windows SDK v6.0A along with the claim that Windows 2000 is a
-   valid build target for VS2008. Popular belief is that binaries built using
-   Windows SDK versions 6.X and Windows 2000 as a build target are functional */
-#if defined(_MSC_VER) && (_MSC_VER >= 1500)
-#  define VS2008_MINIMUM_TARGET 0x0500
-#endif
-
-/* When no build target is specified VS2008 default build target is Windows
-   Vista, which leaves out even Winsows XP. If no build target has been given
-   for VS2008 we will target the minimum Officially supported build target,
-   which happens to be Windows XP. */
-#if defined(_MSC_VER) && (_MSC_VER >= 1500)
-#  define VS2008_DEFAULT_TARGET  0x0501
-#endif
-
-/* VS2008 default target settings and minimum build target check */
-#if defined(_MSC_VER) && (_MSC_VER >= 1500)
-#  ifndef _WIN32_WINNT
-#    define _WIN32_WINNT VS2008_DEFAULT_TARGET
-#  endif
-#  ifndef WINVER
-#    define WINVER VS2008_DEFAULT_TARGET
-#  endif
-#  if (_WIN32_WINNT < VS2008_MINIMUM_TARGET) || (WINVER < VS2008_MINIMUM_TARGET)
-#    error VS2008 does not support Windows build targets prior to Windows 2000
-#  endif
-#endif
-
-/* When no build target is specified Pelles C 5.00 and later default build
-   target is Windows Vista. We override default target to be Windows 2000. */
-#if defined(__POCC__) && (__POCC__ >= 500)
-#  ifndef _WIN32_WINNT
-#    define _WIN32_WINNT 0x0500
-#  endif
-#  ifndef WINVER
-#    define WINVER 0x0500
-#  endif
-#endif
-
-/* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is
-   quite convoluted, compiler dependent and even build target dependent. */
-#if defined(HAVE_WS2TCPIP_H)
-#  if defined(__POCC__)
-#    define HAVE_FREEADDRINFO 1
-#    define HAVE_GETADDRINFO  1
-#    define HAVE_GETNAMEINFO  1
-#  elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
-#    define HAVE_FREEADDRINFO 1
-#    define HAVE_GETADDRINFO  1
-#    define HAVE_GETNAMEINFO  1
-#  elif defined(_MSC_VER) && (_MSC_VER >= 1200)
-#    define HAVE_FREEADDRINFO 1
-#    define HAVE_GETADDRINFO  1
-#    define HAVE_GETNAMEINFO  1
-#  endif
-#endif
-
-#if defined(__POCC__)
-#  ifndef _MSC_VER
-#    error Microsoft extensions /Ze compiler option is required
-#  endif
-#  ifndef __POCC__OLDNAMES
-#    error Compatibility names /Go compiler option is required
-#  endif
-#endif
-
-/* ---------------------------------------------------------------- */
-/*                         IPV6 COMPATIBILITY                       */
-/* ---------------------------------------------------------------- */
-
-/* Define this if you have address family AF_INET6 */
-#ifdef HAVE_WINSOCK2_H
-#define HAVE_AF_INET6 1
-#endif
-
-/* Define this if you have protocol family PF_INET6 */
-#ifdef HAVE_WINSOCK2_H
-#define HAVE_PF_INET6 1
-#endif
-
-/* Define this if you have struct in6_addr */
-#ifdef HAVE_WS2TCPIP_H
-#define HAVE_STRUCT_IN6_ADDR 1
-#endif
-
-/* Define this if you have struct sockaddr_in6 */
-#ifdef HAVE_WS2TCPIP_H
-#define HAVE_STRUCT_SOCKADDR_IN6 1
-#endif
-
-/* Define this if you have sockaddr_in6 with scopeid */
-#ifdef HAVE_WS2TCPIP_H
-#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
-#endif
-
-
-#endif  /* __ARES_CONFIG_WIN32_H */
diff --git a/ares/config.dos b/ares/config.dos
deleted file mode 100644 (file)
index 7439aa3..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-#ifndef HEADER_CONFIG_DOS_H
-#define HEADER_CONFIG_DOS_H
-
-/* $Id$ */
-
-/* ================================================================ */
-/*       ares/config.dos - Hand crafted config file for DOS         */
-/* ================================================================ */
-
-#define PACKAGE  "c-ares"
-
-#define HAVE_GETTIMEOFDAY      1
-#define HAVE_IOCTLSOCKET       1
-#define HAVE_IOCTLSOCKET_FIONBIO   1
-#define HAVE_LIMITS_H          1
-#define HAVE_NET_IF_H          1
-#define HAVE_RECV              1
-#define HAVE_RECVFROM          1
-#define HAVE_SEND              1
-#define HAVE_STRDUP            1
-#define HAVE_STRICMP           1
-#define HAVE_STRUCT_IN6_ADDR   1
-#define HAVE_STRUCT_TIMEVAL    1
-#define HAVE_SYS_IOCTL_H       1
-#define HAVE_SYS_SOCKET_H      1
-#define HAVE_SYS_STAT_H        1
-#define HAVE_SYS_TYPES_H       1
-#define HAVE_TIME_H            1
-#define HAVE_UNISTD_H          1
-
-#define NEED_MALLOC_H          1
-
-#define RETSIGTYPE             void
-#define SIZEOF_INT             4
-#define SIZEOF_SHORT           2
-#define TIME_WITH_SYS_TIME     1
-
-/* Qualifiers for send(), recv(), recvfrom() and getnameinfo(). */
-
-#define SEND_TYPE_ARG1         int
-#define SEND_QUAL_ARG2         const
-#define SEND_TYPE_ARG2         void *
-#define SEND_TYPE_ARG3         int
-#define SEND_TYPE_ARG4         int
-#define SEND_TYPE_RETV         int
-
-#define RECV_TYPE_ARG1         int
-#define RECV_TYPE_ARG2         void *
-#define RECV_TYPE_ARG3         int
-#define RECV_TYPE_ARG4         int
-#define RECV_TYPE_RETV         int
-
-#define RECVFROM_TYPE_ARG1     int
-#define RECVFROM_TYPE_ARG2     void
-#define RECVFROM_TYPE_ARG3     int
-#define RECVFROM_TYPE_ARG4     int
-#define RECVFROM_TYPE_ARG5     struct sockaddr
-#define RECVFROM_TYPE_ARG6     int
-#define RECVFROM_TYPE_RETV     int
-#define RECVFROM_TYPE_ARG2_IS_VOID 1
-
-#define BSD
-
-#if defined(__HIGHC__) || \
-    (defined(__GNUC__) && (__GNUC__ < 4))
-#define ssize_t    int
-#endif
-
-/* Target HAVE_x section */
-
-#if defined(DJGPP)
-  #define HAVE_STRCASECMP           1
-  #define HAVE_STRNCASECMP          1
-  #define HAVE_SYS_TIME_H           1
-  #define HAVE_VARIADIC_MACROS_GCC  1
-
-  /* Because djgpp <= 2.03 doesn't have snprintf() etc. */
-  #if (DJGPP_MINOR < 4)
-    #define _MPRINTF_REPLACE
-  #endif
-
-#elif defined(__WATCOMC__)
-  #define HAVE_STRCASECMP 1
-
-#elif defined(__HIGHC__)
-  #define HAVE_SYS_TIME_H 1
-#endif
-
-#ifdef WATT32
-  #define HAVE_AF_INET6                    1
-  #define HAVE_ARPA_INET_H                 1
-  #define HAVE_ARPA_NAMESER_H              1
-  #define HAVE_CLOSESOCKET_CAMEL           1
-  #define HAVE_GETHOSTNAME                 1
-  #define HAVE_NETDB_H                     1
-  #define HAVE_NETINET_IN_H                1
-  #define HAVE_NETINET_TCP_H               1
-  #define HAVE_PF_INET6                    1
-  #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID  1
-  #define HAVE_STRUCT_ADDRINFO             1
-  #define HAVE_STRUCT_IN6_ADDR             1
-  #define HAVE_STRUCT_SOCKADDR_IN6         1
-  #define HAVE_SYS_SOCKET_H                1
-  #define HAVE_SYS_UIO_H                   1
-  #define NS_INADDRSZ                      4
-  #define HAVE_STRUCT_SOCKADDR_IN6         1
-  #define CloseSocket(s)                   close_s((s))
-#endif
-
-#undef word
-#undef byte
-
-#endif /* HEADER_CONFIG_DOS_H */
-
diff --git a/ares/configure.ac b/ares/configure.ac
deleted file mode 100644 (file)
index 667141d..0000000
+++ /dev/null
@@ -1,876 +0,0 @@
-AC_PREREQ(2.57)
-
-dnl Version not hardcoded here. Fetched later from ares_version.h
-AC_INIT([c-ares], [-],
-  [c-ares mailing list => http://cool.haxx.se/mailman/listinfo/c-ares])
-
-CARES_OVERRIDE_AUTOCONF
-
-AC_CONFIG_SRCDIR([ares_ipv6.h])
-AM_CONFIG_HEADER([ares_config.h ares_build.h])
-AM_MAINTAINER_MODE
-
-CARES_CHECK_OPTION_DEBUG
-CARES_CHECK_OPTION_OPTIMIZE
-CARES_CHECK_OPTION_WARNINGS
-CARES_CHECK_OPTION_CURLDEBUG
-CARES_CHECK_OPTION_SYMBOL_HIDING
-
-CARES_CHECK_PATH_SEPARATOR_REQUIRED
-
-dnl SED is mandatory for configure process and libtool.
-dnl Set it now, allowing it to be changed later.
-AC_PATH_PROG([SED], [sed], [not_found],
-  [$PATH:/usr/bin:/usr/local/bin])
-if test -z "$SED" || test "$SED" = "not_found"; then
-  AC_MSG_ERROR([sed not found in PATH. Cannot continue without sed.])
-fi
-AC_SUBST([SED])
-
-dnl GREP is mandatory for configure process and libtool.
-dnl Set it now, allowing it to be changed later.
-AC_PATH_PROG([GREP], [grep], [not_found],
-  [$PATH:/usr/bin:/usr/local/bin])
-if test -z "$GREP" || test "$GREP" = "not_found"; then
-  AC_MSG_ERROR([grep not found in PATH. Cannot continue without grep.])
-fi
-AC_SUBST([GREP])
-
-dnl EGREP is mandatory for configure process and libtool.
-dnl Set it now, allowing it to be changed later.
-if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
-  AC_MSG_CHECKING([for egrep])
-  EGREP="$GREP -E"
-  AC_MSG_RESULT([$EGREP])
-else
-  AC_PATH_PROG([EGREP], [egrep], [not_found],
-    [$PATH:/usr/bin:/usr/local/bin])
-fi
-if test -z "$EGREP" || test "$EGREP" = "not_found"; then
-  AC_MSG_ERROR([egrep not found in PATH. Cannot continue without egrep.])
-fi
-AC_SUBST([EGREP])
-
-dnl AR is mandatory for configure process and libtool.
-dnl This is target dependent, so check it as a tool.
-AC_PATH_TOOL([AR], [ar], [not_found],
-  [$PATH:/usr/bin:/usr/local/bin])
-if test -z "$AR" || test "$AR" = "not_found"; then
-  AC_MSG_ERROR([ar not found in PATH. Cannot continue without ar.])
-fi
-AC_SUBST([AR])
-
-dnl Remove non-configure distributed ares_build.h
-if test -f ${srcdir}/ares_build.h; then
-  rm -f ${srcdir}/ares_build.h
-fi
-
-dnl Fetch c-ares version from ares_version.h
-VERSION=`$SED -ne 's/^#define ARES_VERSION_STR "\(.*\)"/\1/p' ${srcdir}/ares_version.h`
-AM_INIT_AUTOMAKE([c-ares], [$VERSION])
-AC_MSG_CHECKING([c-ares version])
-AC_MSG_RESULT([$VERSION])
-
-dnl
-dnl Detect the canonical host and target build environment
-dnl
-
-AC_CANONICAL_HOST
-dnl Get system canonical name
-AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
-
-CARES_CHECK_PROG_CC
-AM_PROG_CC_C_O
-AC_PROG_INSTALL
-
-dnl This defines _ALL_SOURCE for AIX
-CARES_CHECK_AIX_ALL_SOURCE
-
-dnl Our configure and build reentrant settings
-CARES_CONFIGURE_THREAD_SAFE
-CARES_CONFIGURE_REENTRANT
-
-dnl check for how to do large files
-AC_SYS_LARGEFILE
-
-case $host_os in
-  solaris*)
-    AC_DEFINE(ETC_INET, 1, [if a /etc/inet dir is being used])
-    ;;
-esac
-
-dnl support building of Windows DLLs
-AC_LIBTOOL_WIN32_DLL
-
-dnl force libtool to build static libraries with PIC on AMD64-Linux & FreeBSD
-AC_MSG_CHECKING([if arch-OS host is AMD64-Linux/FreeBSD (to build static libraries with PIC)])
-case $host in
-  x86_64*linux*|amd64*freebsd*|ia64*freebsd*)
-    AC_MSG_RESULT([yes])
-    with_pic=yes
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-esac
-
-AC_MSG_CHECKING([if compiler is icc (to build with PIC)])
-case $CC in
-  icc | */icc)
-    AC_MSG_RESULT([yes])
-    with_pic=yes
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-esac
-
-dnl libtool setup
-AC_PROG_LIBTOOL
-
-AC_MSG_CHECKING([if we need CARES_BUILDING_LIBRARY])
-case $host in
-  *-*-mingw*)
-    AC_DEFINE(CARES_BUILDING_LIBRARY, 1, [when building c-ares library])
-    AC_MSG_RESULT(yes)
-    AC_MSG_CHECKING([if we need CARES_STATICLIB])
-    if test "X$enable_shared" = "Xno"
-    then
-      AC_DEFINE(CARES_STATICLIB, 1, [when not building a shared library])
-      AC_MSG_RESULT(yes)
-    else
-      AC_MSG_RESULT(no)
-    fi
-    ;;
-  *)
-    AC_MSG_RESULT(no)
-    ;;
-esac
-
-dnl **********************************************************************
-dnl platform/compiler/architecture specific checks/flags
-dnl **********************************************************************
-
-CARES_CHECK_COMPILER
-CARES_SET_COMPILER_BASIC_OPTS
-CARES_SET_COMPILER_DEBUG_OPTS
-CARES_SET_COMPILER_OPTIMIZE_OPTS
-CARES_SET_COMPILER_WARNING_OPTS
-
-if test "$compiler_id" = "INTEL_UNIX_C"; then
-  #
-  if test "$compiler_num" -ge "1000"; then
-    dnl icc 10.X or later
-    CFLAGS="$CFLAGS -shared-intel"
-  elif test "$compiler_num" -ge "900"; then
-    dnl icc 9.X specific
-    CFLAGS="$CFLAGS -i-dynamic"
-  fi
-  #
-fi
-
-CARES_CHECK_COMPILER_HALT_ON_ERROR
-CARES_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
-CARES_CHECK_COMPILER_SYMBOL_HIDING
-
-CARES_CHECK_NO_UNDEFINED
-AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
-
-CARES_CHECK_CURLDEBUG
-AM_CONDITIONAL(CURLDEBUG, test x$want_curldebug = xyes)
-
-dnl **********************************************************************
-dnl Compilation based checks should not be done before this point.
-dnl **********************************************************************
-
-dnl **********************************************************************
-dnl Make sure that our checks for headers windows.h winsock.h winsock2.h 
-dnl and ws2tcpip.h take precedence over any other further checks which 
-dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for
-dnl this specific header files. And do them before its results are used.
-dnl **********************************************************************
-
-CURL_CHECK_HEADER_WINDOWS
-CURL_CHECK_NATIVE_WINDOWS
-case X-"$ac_cv_native_windows" in
-  X-yes)
-    CURL_CHECK_HEADER_WINSOCK
-    CURL_CHECK_HEADER_WINSOCK2
-    CURL_CHECK_HEADER_WS2TCPIP
-    ;;
-  *)
-    ac_cv_header_winsock_h="no"
-    ac_cv_header_winsock2_h="no"
-    ac_cv_header_ws2tcpip_h="no"
-    ;;
-esac
-
-dnl **********************************************************************
-dnl Checks for libraries.
-dnl **********************************************************************
-
-CARES_CHECK_LIB_XNET
-
-dnl gethostbyname without lib or in the nsl lib?
-AC_CHECK_FUNC(gethostbyname,
-              [HAVE_GETHOSTBYNAME="1"
-              ],
-              [ AC_CHECK_LIB(nsl, gethostbyname,
-                             [HAVE_GETHOSTBYNAME="1"
-                             LIBS="$LIBS -lnsl"
-                             ])
-              ])
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
-  dnl gethostbyname in the socket lib?
-  AC_CHECK_LIB(socket, gethostbyname,
-               [HAVE_GETHOSTBYNAME="1"
-               LIBS="$LIBS -lsocket"
-               ])
-fi
-
-dnl At least one system has been identified to require BOTH nsl and socket
-dnl libs at the same time to link properly.
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
-  AC_MSG_CHECKING([for gethostbyname with both nsl and socket libs])
-  my_ac_save_LIBS=$LIBS
-  LIBS="-lnsl -lsocket $LIBS"
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-    ]],[[
-      gethostbyname();
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    HAVE_GETHOSTBYNAME="1"
-  ],[
-    AC_MSG_RESULT([no])
-    LIBS=$my_ac_save_LIBS
-  ])
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
-  dnl This is for winsock systems
-  if test "$ac_cv_header_windows_h" = "yes"; then
-    if test "$ac_cv_header_winsock_h" = "yes"; then
-      case $host in
-        *-*-mingw32ce*)
-          winsock_LIB="-lwinsock"
-          ;;
-        *)
-          winsock_LIB="-lwsock32"
-          ;;
-      esac
-    fi
-    if test "$ac_cv_header_winsock2_h" = "yes"; then
-      winsock_LIB="-lws2_32"
-    fi
-    if test ! -z "$winsock_LIB"; then
-      my_ac_save_LIBS=$LIBS
-      LIBS="$winsock_LIB $LIBS"
-      AC_MSG_CHECKING([for gethostbyname in $winsock_LIB])
-      AC_LINK_IFELSE([
-        AC_LANG_PROGRAM([[
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-        ]],[[
-          gethostbyname("www.dummysite.com");
-        ]])
-      ],[
-        AC_MSG_RESULT([yes])
-        HAVE_GETHOSTBYNAME="1"
-      ],[
-        AC_MSG_RESULT([no])
-        winsock_LIB=""
-        LIBS=$my_ac_save_LIBS
-      ])
-    fi
-  fi
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
-  dnl This is for Minix 3.1
-  AC_MSG_CHECKING([for gethostbyname for Minix 3])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-/* Older Minix versions may need <net/gen/netdb.h> here instead */
-#include <netdb.h>
-    ]],[[
-      gethostbyname("www.dummysite.com");
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    HAVE_GETHOSTBYNAME="1"
-  ],[
-    AC_MSG_RESULT([no])
-  ])
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
-  dnl This is for eCos with a stubbed DNS implementation
-  AC_MSG_CHECKING([for gethostbyname for eCos])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-#include <stdio.h>
-#include <netdb.h>
-    ]],[[
-      gethostbyname("www.dummysite.com");
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    HAVE_GETHOSTBYNAME="1"
-  ],[
-    AC_MSG_RESULT([no])
-  ])
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
-  dnl gethostbyname in the net lib - for BeOS
-  AC_CHECK_LIB(net, gethostbyname,
-               [HAVE_GETHOSTBYNAME="1"
-               LIBS="$LIBS -lnet"
-               ])
-fi
-
-
-if test "$HAVE_GETHOSTBYNAME" != "1"; then
-  AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
-fi
-
-dnl resolve lib?
-AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ])
-
-if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
-  AC_CHECK_LIB(resolve, strcasecmp,
-              [LIBS="-lresolve $LIBS"],
-               ,
-               -lnsl)
-fi
-ac_cv_func_strcasecmp="no"
-
-CARES_CHECK_LIBS_CONNECT
-
-dnl **********************************************************************
-dnl In case that function clock_gettime with monotonic timer is available,
-dnl check for additional required libraries.
-dnl **********************************************************************
-CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
-
-AC_MSG_CHECKING([whether to use libgcc])
-AC_ARG_ENABLE(libgcc,
-AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
-[ case "$enableval" in
-  yes)
-        LIBS="$LIBS -lgcc"
-       AC_MSG_RESULT(yes)
-       ;;
-  *)   AC_MSG_RESULT(no)
-       ;;
-  esac ],
-       AC_MSG_RESULT(no)
-)
-
-
-dnl Let's hope this split URL remains working:
-dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
-dnl genprogc/thread_quick_ref.htm
-
-
-dnl **********************************************************************
-dnl Back to "normal" configuring
-dnl **********************************************************************
-
-dnl Checks for header files.
-AC_HEADER_STDC
-
-CURL_CHECK_HEADER_MALLOC
-CURL_CHECK_HEADER_MEMORY
-
-dnl check for a few basic system headers we need
-AC_CHECK_HEADERS(
-       sys/types.h \
-       sys/time.h \
-       sys/select.h \
-       sys/socket.h \
-       sys/ioctl.h \
-       sys/param.h \
-       sys/uio.h \
-       assert.h \
-       netdb.h \
-       netinet/in.h \
-       netinet/tcp.h \
-       net/if.h \
-       errno.h \
-       socket.h \
-       strings.h \
-       stdbool.h \
-       time.h \
-       limits.h \
-       arpa/nameser.h \
-       arpa/nameser_compat.h \
-       arpa/inet.h,
-dnl to do if not found
-[],
-dnl to do if found
-[],
-dnl default includes
-[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-dnl We do this default-include simply to make sure that the nameser_compat.h
-dnl header *REALLY* can be include after the new nameser.h. It seems AIX 5.1
-dnl (and others?) is not designed to allow this.
-#ifdef HAVE_ARPA_NAMESER_H
-#include <arpa/nameser.h>
-#endif
-
-dnl *Sigh* these are needed in order for net/if.h to get properly detected.
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-]
-)
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_TYPE_SIZE_T
-AC_HEADER_TIME
-CURL_CHECK_STRUCT_TIMEVAL
-
-AC_CHECK_SIZEOF(size_t)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(long)
-CARES_CONFIGURE_LONG
-AC_CHECK_SIZEOF(time_t)
-
-AC_CHECK_TYPE(long long,
-   [AC_DEFINE(HAVE_LONGLONG, 1,
-     [Define to 1 if the compiler supports the 'long long' data type.])]
-   longlong="yes"  
-)
-
-if test "xyes" = "x$longlong"; then
-  AC_MSG_CHECKING([if numberLL works])
-  AC_COMPILE_IFELSE([long long val = 1000LL;],
-   [AC_DEFINE(HAVE_LL, 1, [if your compiler supports LL])]
-   AC_MSG_RESULT(yes),
-   AC_MSG_RESULT(no)
-  )
-fi
-
-
-# check for ssize_t
-AC_CHECK_TYPE(ssize_t, ,
-   AC_DEFINE(ssize_t, int, [the signed version of size_t]))
-
-# check for bool type
-AC_CHECK_TYPE([bool],[
-  AC_DEFINE(HAVE_BOOL_T, 1,
-    [Define to 1 if bool is an available type.])
-], ,[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-])
-
-CARES_CONFIGURE_ARES_SOCKLEN_T
-
-TYPE_IN_ADDR_T
-
-TYPE_SOCKADDR_STORAGE
-
-TYPE_SIG_ATOMIC_T
-
-AC_TYPE_SIGNAL
-
-CURL_CHECK_FUNC_RECV
-CURL_CHECK_FUNC_RECVFROM
-CURL_CHECK_FUNC_SEND
-CURL_CHECK_MSG_NOSIGNAL
-
-CARES_CHECK_FUNC_CLOSESOCKET
-CARES_CHECK_FUNC_CLOSESOCKET_CAMEL
-CARES_CHECK_FUNC_CONNECT
-CARES_CHECK_FUNC_FCNTL
-CARES_CHECK_FUNC_FREEADDRINFO
-CARES_CHECK_FUNC_GETADDRINFO
-CARES_CHECK_FUNC_GETHOSTBYADDR
-CARES_CHECK_FUNC_GETHOSTBYNAME
-CARES_CHECK_FUNC_GETHOSTNAME
-CARES_CHECK_FUNC_GETSERVBYPORT_R
-CARES_CHECK_FUNC_INET_NTOP
-CARES_CHECK_FUNC_INET_PTON
-CARES_CHECK_FUNC_IOCTL
-CARES_CHECK_FUNC_IOCTLSOCKET
-CARES_CHECK_FUNC_IOCTLSOCKET_CAMEL
-CARES_CHECK_FUNC_SETSOCKOPT
-CARES_CHECK_FUNC_SOCKET
-CARES_CHECK_FUNC_STRCASECMP
-CARES_CHECK_FUNC_STRCMPI
-CARES_CHECK_FUNC_STRDUP
-CARES_CHECK_FUNC_STRICMP
-CARES_CHECK_FUNC_STRNCASECMP
-CARES_CHECK_FUNC_STRNCMPI
-CARES_CHECK_FUNC_STRNICMP
-CARES_CHECK_FUNC_WRITEV
-
-
-dnl check for AF_INET6
-CARES_CHECK_CONSTANT(
-  [
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-  ], [PF_INET6], 
-     AC_DEFINE_UNQUOTED(HAVE_PF_INET6,1,[Define to 1 if you have PF_INET6.])
-)
-
-dnl check for PF_INET6
-CARES_CHECK_CONSTANT(
-  [
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-  ], [AF_INET6], 
-     AC_DEFINE_UNQUOTED(HAVE_AF_INET6,1,[Define to 1 if you have AF_INET6.])
-)
-
-
-dnl check for the in6_addr structure
-CARES_CHECK_STRUCT(
-  [
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#endif
-  ], [in6_addr], 
-     AC_DEFINE_UNQUOTED(HAVE_STRUCT_IN6_ADDR,1,[Define to 1 if you have struct in6_addr.])
-)
-
-dnl check for the sockaddr_in6 structure
-CARES_CHECK_STRUCT(
-  [
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#endif
-  ], [sockaddr_in6], 
-     AC_DEFINE_UNQUOTED(HAVE_STRUCT_SOCKADDR_IN6,1,
-       [Define to 1 if you have struct sockaddr_in6.]) ac_have_sockaddr_in6=yes
-)
-
-AC_CHECK_MEMBER(struct sockaddr_in6.sin6_scope_id,
-    AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID,1,
-      [Define to 1 if your struct sockaddr_in6 has sin6_scope_id.])
-   , ,
-  [
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#endif
-  ])
-
-dnl check for the addrinfo structure
-AC_CHECK_MEMBER(struct addrinfo.ai_flags,
-     AC_DEFINE_UNQUOTED(HAVE_STRUCT_ADDRINFO,1,
-       [Define to 1 if you have struct addrinfo.]),,
-  [
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#endif
-  ]
-)
-
-
-AC_CHECK_FUNCS([bitncmp \
-  gettimeofday \
-  if_indextoname
-],[
-],[
-  func="$ac_func"
-  AC_MSG_CHECKING([deeper for $func])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-    ]],[[
-      $func ();
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    eval "ac_cv_func_$func=yes"
-    AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$func]), [1],
-      [Define to 1 if you have the $func function.])
-  ],[
-    AC_MSG_RESULT([but still no])
-  ])
-])
-
-
-dnl Check for inet_net_pton
-AC_CHECK_FUNCS(inet_net_pton)
-dnl Again, some systems have it, but not IPv6
-if test "$ac_cv_func_inet_net_pton" = "yes" ; then
-AC_MSG_CHECKING(if inet_net_pton supports IPv6)
-AC_TRY_RUN(
-  [
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-int main()
-  {
-    struct in6_addr addr6;
-    if (inet_net_pton(AF_INET6, "::1", &addr6, sizeof(addr6)) < 1)
-      exit(1);
-    else
-      exit(0);
-  }
-  ], [
-       AC_MSG_RESULT(yes)
-       AC_DEFINE_UNQUOTED(HAVE_INET_NET_PTON_IPV6,1,[Define to 1 if inet_net_pton supports IPv6.])
-     ], AC_MSG_RESULT(no),AC_MSG_RESULT(no))
-fi
-
-
-AC_CHECK_SIZEOF(struct in6_addr, ,
-[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#endif
-]
-)
-
-AC_CHECK_SIZEOF(struct in_addr, ,
-[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#endif
-]
-)
-
-
-dnl Check if the getnameinfo function is available
-dnl and get the types of five of its arguments.
-CURL_CHECK_FUNC_GETNAMEINFO
-
-
-AC_C_BIGENDIAN(
-    [AC_DEFINE(ARES_BIG_ENDIAN, 1,
-      [define this if ares is built for a big endian system])],
-    ,
-    [AC_MSG_WARN([couldn't figure out endianess, assuming little endian!])]
-)
-
-dnl Check for user-specified random device
-AC_ARG_WITH(random,
-AC_HELP_STRING([--with-random=FILE],
-               [read randomness from FILE (default=/dev/urandom)]),
-    [ RANDOM_FILE="$withval" ],
-    [
-        dnl Check for random device.  If we're cross compiling, we can't
-        dnl check, and it's better to assume it doesn't exist than it is
-        dnl to fail on AC_CHECK_FILE or later.
-        if test "$cross_compiling" = "no"; then
-          AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] )
-        else
-          AC_MSG_WARN([cannot check for /dev/urandom while cross compiling; assuming none])
-        fi
-        
-    ]
-)
-if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then
-        AC_SUBST(RANDOM_FILE)
-        AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE",
-        [a suitable file/device to read random data from])
-fi
-
-CARES_CHECK_OPTION_NONBLOCKING
-CARES_CHECK_NONBLOCKING_SOCKET
-
-CARES_CONFIGURE_SYMBOL_HIDING
-
-CARES_PRIVATE_LIBS="$LIBS"
-AC_SUBST(CARES_PRIVATE_LIBS)
-
-dnl squeeze whitespace out of some variables
-
-squeeze CFLAGS
-squeeze CPPFLAGS
-squeeze DEFS
-squeeze LDFLAGS
-squeeze LIBS
-
-squeeze CARES_PRIVATE_LIBS
-
-AC_CONFIG_FILES([Makefile libcares.pc])
-AC_OUTPUT
diff --git a/ares/get_ver.awk b/ares/get_ver.awk
deleted file mode 100644 (file)
index 322f280..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# ***************************************************************************
-# *  Project: c-ares
-# *
-# * $Id$
-# ***************************************************************************
-# awk script which fetches c-ares version number and string from input
-# file and writes them to STDOUT. Here you can get an awk version for Win32:
-# http://www.gknw.net/development/prgtools/awk-20070501.zip
-#
-BEGIN {
-  if (match (ARGV[1], /ares_version.h/)) {
-    while ((getline < ARGV[1]) > 0) {
-      if (match ($0, /^#define ARES_COPYRIGHT "[^"]+"$/)) {
-        libcares_copyright_str = substr($0, 25, length($0)-25);
-      }
-      else if (match ($0, /^#define ARES_VERSION_STR "[^"]+"$/)) {
-        libcares_ver_str = substr($3, 2, length($3)-2);
-      }
-      else if (match ($0, /^#define ARES_VERSION_MAJOR [0-9]+$/)) {
-        libcares_ver_major = substr($3, 1, length($3));
-      }
-      else if (match ($0, /^#define ARES_VERSION_MINOR [0-9]+$/)) {
-        libcares_ver_minor = substr($3, 1, length($3));
-      }
-      else if (match ($0, /^#define ARES_VERSION_PATCH [0-9]+$/)) {
-        libcares_ver_patch = substr($3, 1, length($3));
-      }
-    }
-    libcares_ver = libcares_ver_major "," libcares_ver_minor "," libcares_ver_patch;
-    print "LIBCARES_VERSION = " libcares_ver "";
-    print "LIBCARES_VERSION_STR = " libcares_ver_str "";
-    print "LIBCARES_COPYRIGHT_STR = " libcares_copyright_str "";
-  }
-}
-
-
diff --git a/ares/inet_net_pton.c b/ares/inet_net_pton.c
deleted file mode 100644 (file)
index 9c4717a..0000000
+++ /dev/null
@@ -1,447 +0,0 @@
-/* $Id$ */
-
-/*
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 1996,1999 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <ctype.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "ares.h"
-#include "ares_ipv6.h"
-#include "inet_net_pton.h"
-
-#if !defined(HAVE_INET_NET_PTON) || !defined(HAVE_INET_NET_PTON_IPV6)
-
-/*
- * static int
- * inet_net_pton_ipv4(src, dst, size)
- *      convert IPv4 network number from presentation to network format.
- *      accepts hex octets, hex strings, decimal octets, and /CIDR.
- *      "size" is in bytes and describes "dst".
- * return:
- *      number of bits, either imputed classfully or specified with /CIDR,
- *      or -1 if some failure occurred (check errno).  ENOENT means it was
- *      not an IPv4 network specification.
- * note:
- *      network byte order assumed.  this means 192.5.5.240/28 has
- *      0b11110000 in its fourth octet.
- * note:
- *      On Windows we store the error in the thread errno, not
- *      in the winsock error code. This is to avoid loosing the
- *      actual last winsock error. So use macro ERRNO to fetch the
- *      errno this funtion sets when returning (-1), not SOCKERRNO.
- * author:
- *      Paul Vixie (ISC), June 1996
- */
-static int
-inet_net_pton_ipv4(const char *src, unsigned char *dst, size_t size)
-{
-  static const char xdigits[] = "0123456789abcdef";
-  static const char digits[] = "0123456789";
-  int n, ch, tmp = 0, dirty, bits;
-  const unsigned char *odst = dst;
-
-  ch = *src++;
-  if (ch == '0' && (src[0] == 'x' || src[0] == 'X')
-      && ISXDIGIT(src[1])) {
-    /* Hexadecimal: Eat nybble string. */
-    if (!size)
-      goto emsgsize;
-    dirty = 0;
-    src++;  /* skip x or X. */
-    while ((ch = *src++) != '\0' && ISXDIGIT(ch)) {
-      if (ISUPPER(ch))
-        ch = tolower(ch);
-      n = (int)(strchr(xdigits, ch) - xdigits);
-      if (dirty == 0)
-        tmp = n;
-      else
-        tmp = (tmp << 4) | n;
-      if (++dirty == 2) {
-        if (!size--)
-          goto emsgsize;
-        *dst++ = (unsigned char) tmp;
-        dirty = 0;
-      }
-    }
-    if (dirty) {  /* Odd trailing nybble? */
-      if (!size--)
-        goto emsgsize;
-      *dst++ = (unsigned char) (tmp << 4);
-    }
-  } else if (ISDIGIT(ch)) {
-    /* Decimal: eat dotted digit string. */
-    for (;;) {
-      tmp = 0;
-      do {
-        n = (int)(strchr(digits, ch) - digits);
-        tmp *= 10;
-        tmp += n;
-        if (tmp > 255)
-          goto enoent;
-      } while ((ch = *src++) != '\0' &&
-               ISDIGIT(ch));
-      if (!size--)
-        goto emsgsize;
-      *dst++ = (unsigned char) tmp;
-      if (ch == '\0' || ch == '/')
-        break;
-      if (ch != '.')
-        goto enoent;
-      ch = *src++;
-      if (!ISDIGIT(ch))
-        goto enoent;
-    }
-  } else
-    goto enoent;
-
-  bits = -1;
-  if (ch == '/' &&
-      ISDIGIT(src[0]) && dst > odst) {
-    /* CIDR width specifier.  Nothing can follow it. */
-    ch = *src++;    /* Skip over the /. */
-    bits = 0;
-    do {
-      n = (int)(strchr(digits, ch) - digits);
-      bits *= 10;
-      bits += n;
-    } while ((ch = *src++) != '\0' && ISDIGIT(ch));
-    if (ch != '\0')
-      goto enoent;
-    if (bits > 32)
-      goto emsgsize;
-  }
-
-  /* Firey death and destruction unless we prefetched EOS. */
-  if (ch != '\0')
-    goto enoent;
-
-  /* If nothing was written to the destination, we found no address. */
-  if (dst == odst)
-    goto enoent;
-  /* If no CIDR spec was given, infer width from net class. */
-  if (bits == -1) {
-    if (*odst >= 240)       /* Class E */
-      bits = 32;
-    else if (*odst >= 224)  /* Class D */
-      bits = 8;
-    else if (*odst >= 192)  /* Class C */
-      bits = 24;
-    else if (*odst >= 128)  /* Class B */
-      bits = 16;
-    else                    /* Class A */
-      bits = 8;
-    /* If imputed mask is narrower than specified octets, widen. */
-    if (bits < ((dst - odst) * 8))
-      bits = (int)(dst - odst) * 8;
-    /*
-     * If there are no additional bits specified for a class D
-     * address adjust bits to 4.
-     */
-    if (bits == 8 && *odst == 224)
-      bits = 4;
-  }
-  /* Extend network to cover the actual mask. */
-  while (bits > ((dst - odst) * 8)) {
-    if (!size--)
-      goto emsgsize;
-    *dst++ = '\0';
-  }
-  return (bits);
-
-  enoent:
-  SET_ERRNO(ENOENT);
-  return (-1);
-
-  emsgsize:
-  SET_ERRNO(EMSGSIZE);
-  return (-1);
-}
-
-static int
-getbits(const char *src, int *bitsp)
-{
-  static const char digits[] = "0123456789";
-  int n;
-  int val;
-  char ch;
-
-  val = 0;
-  n = 0;
-  while ((ch = *src++) != '\0') {
-    const char *pch;
-
-    pch = strchr(digits, ch);
-    if (pch != NULL) {
-      if (n++ != 0 && val == 0)       /* no leading zeros */
-        return (0);
-      val *= 10;
-      val += (pch - digits);
-      if (val > 128)                  /* range */
-        return (0);
-      continue;
-    }
-    return (0);
-  }
-  if (n == 0)
-    return (0);
-  *bitsp = val;
-  return (1);
-}
-
-static int
-getv4(const char *src, unsigned char *dst, int *bitsp)
-{
-  static const char digits[] = "0123456789";
-  unsigned char *odst = dst;
-  int n;
-  unsigned int val;
-  char ch;
-
-  val = 0;
-  n = 0;
-  while ((ch = *src++) != '\0') {
-    const char *pch;
-
-    pch = strchr(digits, ch);
-    if (pch != NULL) {
-      if (n++ != 0 && val == 0)       /* no leading zeros */
-        return (0);
-      val *= 10;
-      val += (pch - digits);
-      if (val > 255)                  /* range */
-        return (0);
-      continue;
-    }
-    if (ch == '.' || ch == '/') {
-      if (dst - odst > 3)             /* too many octets? */
-        return (0);
-      *dst++ = (unsigned char)val;
-      if (ch == '/')
-        return (getbits(src, bitsp));
-      val = 0;
-      n = 0;
-      continue;
-    }
-    return (0);
-  }
-  if (n == 0)
-    return (0);
-  if (dst - odst > 3)             /* too many octets? */
-    return (0);
-  *dst++ = (unsigned char)val;
-  return (1);
-}
-
-static int
-inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size)
-{
-  static const char xdigits_l[] = "0123456789abcdef",
-    xdigits_u[] = "0123456789ABCDEF";
-  unsigned char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp;
-  const char *xdigits, *curtok;
-  int ch, saw_xdigit;
-  unsigned int val;
-  int digits;
-  int bits;
-  size_t bytes;
-  int words;
-  int ipv4;
-
-  memset((tp = tmp), '\0', NS_IN6ADDRSZ);
-  endp = tp + NS_IN6ADDRSZ;
-  colonp = NULL;
-  /* Leading :: requires some special handling. */
-  if (*src == ':')
-    if (*++src != ':')
-      goto enoent;
-  curtok = src;
-  saw_xdigit = 0;
-  val = 0;
-  digits = 0;
-  bits = -1;
-  ipv4 = 0;
-  while ((ch = *src++) != '\0') {
-    const char *pch;
-
-    if ((pch = strchr((xdigits = xdigits_l), ch)) == NULL)
-      pch = strchr((xdigits = xdigits_u), ch);
-    if (pch != NULL) {
-      val <<= 4;
-      val |= (pch - xdigits);
-      if (++digits > 4)
-        goto enoent;
-      saw_xdigit = 1;
-      continue;
-    }
-    if (ch == ':') {
-      curtok = src;
-      if (!saw_xdigit) {
-        if (colonp)
-          goto enoent;
-        colonp = tp;
-        continue;
-      } else if (*src == '\0')
-        goto enoent;
-      if (tp + NS_INT16SZ > endp)
-        return (0);
-      *tp++ = (unsigned char)((val >> 8) & 0xff);
-      *tp++ = (unsigned char)(val & 0xff);
-      saw_xdigit = 0;
-      digits = 0;
-      val = 0;
-      continue;
-    }
-    if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) &&
-        getv4(curtok, tp, &bits) > 0) {
-      tp += NS_INADDRSZ;
-      saw_xdigit = 0;
-      ipv4 = 1;
-      break;  /* '\0' was seen by inet_pton4(). */
-    }
-    if (ch == '/' && getbits(src, &bits) > 0)
-      break;
-    goto enoent;
-  }
-  if (saw_xdigit) {
-    if (tp + NS_INT16SZ > endp)
-      goto enoent;
-    *tp++ = (unsigned char)((val >> 8) & 0xff);
-    *tp++ = (unsigned char)(val & 0xff);
-  }
-  if (bits == -1)
-    bits = 128;
-
-  words = (bits + 15) / 16;
-  if (words < 2)
-    words = 2;
-  if (ipv4)
-    words = 8;
-  endp =  tmp + 2 * words;
-
-  if (colonp != NULL) {
-    /*
-     * Since some memmove()'s erroneously fail to handle
-     * overlapping regions, we'll do the shift by hand.
-     */
-    const int n = (int)(tp - colonp);
-    int i;
-
-    if (tp == endp)
-      goto enoent;
-    for (i = 1; i <= n; i++) {
-      endp[- i] = colonp[n - i];
-      colonp[n - i] = 0;
-    }
-    tp = endp;
-  }
-  if (tp != endp)
-    goto enoent;
-
-  bytes = (bits + 7) / 8;
-  if (bytes > size)
-    goto emsgsize;
-  memcpy(dst, tmp, bytes);
-  return (bits);
-
-  enoent:
-  SET_ERRNO(ENOENT);
-  return (-1);
-
-  emsgsize:
-  SET_ERRNO(EMSGSIZE);
-  return (-1);
-}
-
-/*
- * int
- * inet_net_pton(af, src, dst, size)
- *      convert network number from presentation to network format.
- *      accepts hex octets, hex strings, decimal octets, and /CIDR.
- *      "size" is in bytes and describes "dst".
- * return:
- *      number of bits, either imputed classfully or specified with /CIDR,
- *      or -1 if some failure occurred (check errno).  ENOENT means it was
- *      not a valid network specification.
- * note:
- *      On Windows we store the error in the thread errno, not
- *      in the winsock error code. This is to avoid loosing the
- *      actual last winsock error. So use macro ERRNO to fetch the
- *      errno this funtion sets when returning (-1), not SOCKERRNO.
- * author:
- *      Paul Vixie (ISC), June 1996
- */
-int
-ares_inet_net_pton(int af, const char *src, void *dst, size_t size)
-{
-  switch (af) {
-  case AF_INET:
-    return (inet_net_pton_ipv4(src, dst, size));
-  case AF_INET6:
-    return (inet_net_pton_ipv6(src, dst, size));
-  default:
-    SET_ERRNO(EAFNOSUPPORT);
-    return (-1);
-  }
-}
-
-#endif
-
-#ifndef HAVE_INET_PTON
-int ares_inet_pton(int af, const char *src, void *dst)
-{
-  int result;
-  size_t size;
-
-  if (af == AF_INET)
-    size = sizeof(struct in_addr);
-  else if (af == AF_INET6)
-    size = sizeof(struct ares_in6_addr);
-  else
-  {
-    SET_ERRNO(EAFNOSUPPORT);
-    return -1;
-  }
-  result = ares_inet_net_pton(af, src, dst, size);
-  if (result == -1 && ERRNO == ENOENT)
-    return 0;
-  return (result > -1 ? 1 : -1);
-}
-#endif
diff --git a/ares/inet_net_pton.h b/ares/inet_net_pton.h
deleted file mode 100644 (file)
index f5642a5..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __ARES_INET_NET_PTON_H
-#define __ARES_INET_NET_PTON_H
-
-/* $Id$ */
-
-/* Copyright (C) 2005 by Daniel Stenberg
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#ifdef HAVE_INET_PTON
-#define ares_inet_pton(x,y,z) inet_pton(x,y,z)
-#else
-int ares_inet_pton(int af, const char *src, void *dst);
-#endif
-#if defined(HAVE_INET_NET_PTON) && defined(HAVE_INET_NET_PTON_IPV6)
-#define ares_inet_net_pton(w,x,y,z) inet_net_pton(w,x,y,z)
-#else
-int ares_inet_net_pton(int af, const char *src, void *dst, size_t size);
-#endif
-
-#endif /* __ARES_INET_NET_PTON_H */
diff --git a/ares/inet_ntop.c b/ares/inet_ntop.c
deleted file mode 100644 (file)
index 3b35397..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/* $Id$ */
-
-/* Copyright (c) 1996 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-#include "ares_setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-#ifdef HAVE_ARPA_NAMESER_H
-#  include <arpa/nameser.h>
-#else
-#  include "nameser.h"
-#endif
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#  include <arpa/nameser_compat.h>
-#endif
-
-#include <ctype.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "ares.h"
-#include "ares_ipv6.h"
-#include "inet_ntop.h"
-
-
-#ifndef HAVE_INET_NTOP
-
-#ifdef SPRINTF_CHAR
-# define SPRINTF(x) strlen(sprintf/**/x)
-#else
-# define SPRINTF(x) ((size_t)sprintf x)
-#endif
-
-/*
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4.  sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-static const char *inet_ntop4(const unsigned char *src, char *dst, size_t size);
-static const char *inet_ntop6(const unsigned char *src, char *dst, size_t size);
-
-/* char *
- * inet_ntop(af, src, dst, size)
- *     convert a network format address to presentation format.
- * return:
- *     pointer to presentation format address (`dst'), or NULL (see errno).
- * note:
- *      On Windows we store the error in the thread errno, not
- *      in the winsock error code. This is to avoid loosing the
- *      actual last winsock error. So use macro ERRNO to fetch the
- *      errno this funtion sets when returning NULL, not SOCKERRNO.
- * author:
- *     Paul Vixie, 1996.
- */
-const char *
-ares_inet_ntop(int af, const void *src, char *dst, size_t size)
-{
-  switch (af)
-    {
-    case AF_INET:
-      return (inet_ntop4(src, dst, size));
-    case AF_INET6:
-      return (inet_ntop6(src, dst, size));
-    default:
-      SET_ERRNO(EAFNOSUPPORT);
-      return (NULL);
-    }
-  /* NOTREACHED */
-}
-
-/* const char *
- * inet_ntop4(src, dst, size)
- *     format an IPv4 address, more or less like inet_ntoa()
- * return:
- *     `dst' (as a const)
- * notes:
- *     (1) uses no statics
- *     (2) takes a unsigned char* not an in_addr as input
- * author:
- *     Paul Vixie, 1996.
- */
-static const char *
-inet_ntop4(const unsigned char *src, char *dst, size_t size)
-{
-  static const char fmt[] = "%u.%u.%u.%u";
-  char tmp[sizeof "255.255.255.255"];
-
-  if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) > size)
-    {
-      SET_ERRNO(ENOSPC);
-      return (NULL);
-    }
-    strcpy(dst, tmp);
-    return (dst);
-}
-
-/* const char *
- * inet_ntop6(src, dst, size)
- *    convert IPv6 binary address into presentation (printable) format
- * author:
- *    Paul Vixie, 1996.
- */
-static const char *
-inet_ntop6(const unsigned char *src, char *dst, size_t size)
-{
-  /*
-   * Note that int32_t and int16_t need only be "at least" large enough
-   * to contain a value of the specified size.  On some systems, like
-   * Crays, there is no such thing as an integer variable with 16 bits.
-   * Keep this in mind if you think this function should have been coded
-   * to use pointer overlays.  All the world's not a VAX.
-   */
-  char tmp[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
-  char *tp;
-  struct {
-    long base;
-    long len;
-  } best, cur;
-  unsigned long words[NS_IN6ADDRSZ / NS_INT16SZ];
-  int i;
-
-  /*
-   * Preprocess:
-   *  Copy the input (bytewise) array into a wordwise array.
-   *  Find the longest run of 0x00's in src[] for :: shorthanding.
-   */
-  memset(words, '\0', sizeof(words));
-  for (i = 0; i < NS_IN6ADDRSZ; i++)
-      words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3));
-
-  best.base = -1;
-  cur.base = -1;
-  best.len = 0;
-  cur.len = 0;
-
-  for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++)
-    {
-      if (words[i] == 0)
-        {
-          if (cur.base == -1)
-            cur.base = i, cur.len = 1;
-          else
-            cur.len++;
-        }
-      else
-        {
-          if (cur.base != -1)
-            {
-              if (best.base == -1 || cur.len > best.len)
-                best = cur;
-              cur.base = -1;
-            }
-        }
-    }
-  if (cur.base != -1)
-    {
-      if (best.base == -1 || cur.len > best.len)
-        best = cur;
-    }
-  if (best.base != -1 && best.len < 2)
-    best.base = -1;
-
-  /*
-   * Format the result.
-   */
-  tp = tmp;
-  for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++)
-    {
-      /* Are we inside the best run of 0x00's? */
-      if (best.base != -1 && i >= best.base &&
-          i < (best.base + best.len))
-        {
-          if (i == best.base)
-             *tp++ = ':';
-          continue;
-        }
-      /* Are we following an initial run of 0x00s or any real hex? */
-      if (i != 0)
-        *tp++ = ':';
-      /* Is this address an encapsulated IPv4? */
-      if (i == 6 && best.base == 0 &&
-          (best.len == 6 || (best.len == 5 && words[5] == 0xffff)))
-        {
-          if (!inet_ntop4(src+12, tp, sizeof(tmp) - (tp - tmp)))
-            return (NULL);
-          tp += strlen(tp);
-          break;
-        }
-        tp += SPRINTF((tp, "%lx", words[i]));
-    }
-
-  /* Was it a trailing run of 0x00's? */
-  if (best.base != -1 && (best.base + best.len) == (NS_IN6ADDRSZ / NS_INT16SZ))
-    *tp++ = ':';
-  *tp++ = '\0';
-
-  /*
-   * Check for overflow, copy, and we're done.
-   */
-  if ((size_t)(tp - tmp) > size)
-    {
-      SET_ERRNO(ENOSPC);
-      return (NULL);
-    }
-  strcpy(dst, tmp);
-  return (dst);
-}
-#endif
-
diff --git a/ares/inet_ntop.h b/ares/inet_ntop.h
deleted file mode 100644 (file)
index ab9735e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef __ARES_INET_NTOP_H
-#define __ARES_INET_NTOP_H
-
-/* $Id$ */
-
-/* Copyright (C) 2005 by Dominick Meglio
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in
- * advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- * M.I.T. makes no representations about the suitability of
- * this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-#ifdef HAVE_INET_NTOP
-#define ares_inet_ntop(w,x,y,z) inet_ntop(w,x,y,z)
-#else
-const char *ares_inet_ntop(int af, const void *src, char *dst, size_t size);
-#endif
-
-#endif /* __ARES_INET_NTOP_H */
diff --git a/ares/install-sh b/ares/install-sh
deleted file mode 100755 (executable)
index e843669..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-       -c) instcmd="$cpprog"
-           shift
-           continue;;
-
-       -d) dir_arg=true
-           shift
-           continue;;
-
-       -m) chmodcmd="$chmodprog $2"
-           shift
-           shift
-           continue;;
-
-       -o) chowncmd="$chownprog $2"
-           shift
-           shift
-           continue;;
-
-       -g) chgrpcmd="$chgrpprog $2"
-           shift
-           shift
-           continue;;
-
-       -s) stripcmd="$stripprog"
-           shift
-           continue;;
-
-       -t=*) transformarg=`echo $1 | sed 's/-t=//'`
-           shift
-           continue;;
-
-       -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-           shift
-           continue;;
-
-       *)  if [ x"$src" = x ]
-           then
-               src=$1
-           else
-               # this colon is to work around a 386BSD /bin/sh bug
-               :
-               dst=$1
-           fi
-           shift
-           continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-       echo "install:  no input file specified"
-       exit 1
-else
-       true
-fi
-
-if [ x"$dir_arg" != x ]; then
-       dst=$src
-       src=""
-       
-       if [ -d $dst ]; then
-               instcmd=:
-       else
-               instcmd=mkdir
-       fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-       if [ -f $src -o -d $src ]
-       then
-               true
-       else
-               echo "install:  $src does not exist"
-               exit 1
-       fi
-       
-       if [ x"$dst" = x ]
-       then
-               echo "install:  no destination specified"
-               exit 1
-       else
-               true
-       fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-       if [ -d $dst ]
-       then
-               dst="$dst"/`basename $src`
-       else
-               true
-       fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='   
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-       pathcomp="${pathcomp}${1}"
-       shift
-
-       if [ ! -d "${pathcomp}" ] ;
-        then
-               $mkdirprog "${pathcomp}"
-       else
-               true
-       fi
-
-       pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-       $doit $instcmd $dst &&
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-       if [ x"$transformarg" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               dstfile=`basename $dst $transformbasename | 
-                       sed $transformarg`$transformbasename
-       fi
-
-# don't allow the sed command to completely eliminate the filename
-
-       if [ x"$dstfile" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               true
-       fi
-
-# Make a temp file name in the proper directory.
-
-       dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-       $doit $instcmd $src $dsttmp &&
-
-       trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
-       $doit $rmcmd -f $dstdir/$dstfile &&
-       $doit $mvcmd $dsttmp $dstdir/$dstfile 
-
-fi &&
-
-
-exit 0
diff --git a/ares/libcares.pc.in b/ares/libcares.pc.in
deleted file mode 100644 (file)
index df6a0aa..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#***************************************************************************
-# Project        ___       __ _ _ __ ___  ___ 
-#               / __|____ / _` | '__/ _ \/ __|
-#              | (_|_____| (_| | | |  __/\__ \
-#               \___|     \__,_|_|  \___||___/
-# $Id$
-#
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: c-ares
-URL: http://daniel.haxx.se/projects/c-ares/
-Description: asynchronous DNS lookup library
-Version: @VERSION@
-Requires: 
-Requires.private: 
-Cflags: -I${includedir}
-Libs: -L${libdir} -lcares
-Libs.private: @CARES_PRIVATE_LIBS@
diff --git a/ares/m4/.cvsignore b/ares/m4/.cvsignore
deleted file mode 100644 (file)
index 38066dd..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-libtool.m4
-ltoptions.m4
-ltsugar.m4
-ltversion.m4
-lt~obsolete.m4
diff --git a/ares/m4/.gitignore b/ares/m4/.gitignore
deleted file mode 100644 (file)
index 38066dd..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-libtool.m4
-ltoptions.m4
-ltsugar.m4
-ltversion.m4
-lt~obsolete.m4
diff --git a/ares/m4/cares-compilers.m4 b/ares/m4/cares-compilers.m4
deleted file mode 100644 (file)
index 3a57389..0000000
+++ /dev/null
@@ -1,1551 +0,0 @@
-#***************************************************************************
-# $Id$
-#
-# Copyright (C) 2009-2010 by Daniel Stenberg et al
-#
-# Permission to use, copy, modify, and distribute this software and its
-# documentation for any purpose and without fee is hereby granted, provided
-# that the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-#***************************************************************************
-
-# File version for 'aclocal' use. Keep it a single number.
-# serial 65
-
-
-dnl CARES_CHECK_COMPILER
-dnl -------------------------------------------------
-dnl Verify if the C compiler being used is known.
-
-AC_DEFUN([CARES_CHECK_COMPILER], [
-  AC_BEFORE([$0],[CARES_CHECK_NO_UNDEFINED])dnl
-  #
-  compiler_id="unknown"
-  compiler_num="0"
-  #
-  flags_dbg_all="unknown"
-  flags_dbg_yes="unknown"
-  flags_dbg_off="unknown"
-  flags_opt_all="unknown"
-  flags_opt_yes="unknown"
-  flags_opt_off="unknown"
-  #
-  CARES_CHECK_COMPILER_DEC_C
-  CARES_CHECK_COMPILER_HPUX_C
-  CARES_CHECK_COMPILER_IBM_C
-  CARES_CHECK_COMPILER_INTEL_C
-  CARES_CHECK_COMPILER_CLANG
-  CARES_CHECK_COMPILER_GNU_C
-  CARES_CHECK_COMPILER_LCC
-  CARES_CHECK_COMPILER_SGI_MIPSPRO_C
-  CARES_CHECK_COMPILER_SGI_MIPS_C
-  CARES_CHECK_COMPILER_SUNPRO_C
-  CARES_CHECK_COMPILER_TINY_C
-  CARES_CHECK_COMPILER_WATCOM_C
-  #
-  if test "$compiler_id" = "unknown"; then
-  cat <<_EOF 1>&2
-***
-*** Warning: This configure script does not have information about the
-*** compiler you are using, relative to the flags required to enable or
-*** disable generation of debug info, optimization options or warnings.
-***
-*** Whatever settings are present in CFLAGS will be used for this run.
-***
-*** If you wish to help the c-ares project to better support your compiler
-*** you can report this and the required info on the c-ares development
-*** mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
-***
-_EOF
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_CLANG
-dnl -------------------------------------------------
-dnl Verify if compiler being used is clang.
-
-AC_DEFUN([CARES_CHECK_COMPILER_CLANG], [
-  AC_BEFORE([$0],[CARES_CHECK_COMPILER_GNU_C])dnl
-  AC_MSG_CHECKING([if compiler is clang])
-  CURL_CHECK_DEF([__clang__], [], [silent])
-  if test "$curl_cv_have_def___clang__" = "yes"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="CLANG"
-    clangver=`$CC -dumpversion`
-    clangvhi=`echo $clangver | cut -d . -f1`
-    clangvlo=`echo $clangver | cut -d . -f2`
-    compiler_num=`(expr $clangvhi "*" 100 + $clangvlo) 2>/dev/null`
-    flags_dbg_all="-g -g0 -g1 -g2 -g3"
-    flags_dbg_all="$flags_dbg_all -ggdb"
-    flags_dbg_all="$flags_dbg_all -gstabs"
-    flags_dbg_all="$flags_dbg_all -gstabs+"
-    flags_dbg_all="$flags_dbg_all -gcoff"
-    flags_dbg_all="$flags_dbg_all -gxcoff"
-    flags_dbg_all="$flags_dbg_all -gdwarf-2"
-    flags_dbg_all="$flags_dbg_all -gvms"
-    flags_dbg_yes="-g"
-    flags_dbg_off="-g0"
-    flags_opt_all="-O -O0 -O1 -O2 -Os -O3 -O4"
-    flags_opt_yes="-Os"
-    flags_opt_off="-O0"
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_DEC_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is DEC C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_DEC_C], [
-  AC_MSG_CHECKING([if compiler is DEC/Compaq/HP C])
-  CURL_CHECK_DEF([__DECC], [], [silent])
-  CURL_CHECK_DEF([__DECC_VER], [], [silent])
-  if test "$curl_cv_have_def___DECC" = "yes" &&
-    test "$curl_cv_have_def___DECC_VER" = "yes"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="DEC_C"
-    flags_dbg_all="-g -g0 -g1 -g2 -g3"
-    flags_dbg_yes="-g2"
-    flags_dbg_off="-g0"
-    flags_opt_all="-O -O0 -O1 -O2 -O3 -O4"
-    flags_opt_yes="-O1"
-    flags_opt_off="-O0"
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_GNU_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is GNU C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_GNU_C], [
-  AC_REQUIRE([CARES_CHECK_COMPILER_INTEL_C])dnl
-  AC_REQUIRE([CARES_CHECK_COMPILER_CLANG])dnl
-  AC_MSG_CHECKING([if compiler is GNU C])
-  CURL_CHECK_DEF([__GNUC__], [], [silent])
-  if test "$curl_cv_have_def___GNUC__" = "yes" &&
-    test "$compiler_id" = "unknown"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="GNU_C"
-    gccver=`$CC -dumpversion`
-    gccvhi=`echo $gccver | cut -d . -f1`
-    gccvlo=`echo $gccver | cut -d . -f2`
-    compiler_num=`(expr $gccvhi "*" 100 + $gccvlo) 2>/dev/null`
-    flags_dbg_all="-g -g0 -g1 -g2 -g3"
-    flags_dbg_all="$flags_dbg_all -ggdb"
-    flags_dbg_all="$flags_dbg_all -gstabs"
-    flags_dbg_all="$flags_dbg_all -gstabs+"
-    flags_dbg_all="$flags_dbg_all -gcoff"
-    flags_dbg_all="$flags_dbg_all -gxcoff"
-    flags_dbg_all="$flags_dbg_all -gdwarf-2"
-    flags_dbg_all="$flags_dbg_all -gvms"
-    flags_dbg_yes="-g"
-    flags_dbg_off="-g0"
-    flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
-    flags_opt_yes="-O2"
-    flags_opt_off="-O0"
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_HPUX_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is HP-UX C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_HPUX_C], [
-  AC_MSG_CHECKING([if compiler is HP-UX C])
-  CURL_CHECK_DEF([__HP_cc], [], [silent])
-  if test "$curl_cv_have_def___HP_cc" = "yes"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="HP_UX_C"
-    flags_dbg_all="-g -s"
-    flags_dbg_yes="-g"
-    flags_dbg_off="-s"
-    flags_opt_all="-O +O0 +O1 +O2 +O3 +O4"
-    flags_opt_yes="+O2"
-    flags_opt_off="+O0"
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_IBM_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is IBM C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_IBM_C], [
-  AC_MSG_CHECKING([if compiler is IBM C])
-  CURL_CHECK_DEF([__IBMC__], [], [silent])
-  if test "$curl_cv_have_def___IBMC__" = "yes"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="IBM_C"
-    flags_dbg_all="-g -g0 -g1 -g2 -g3"
-    flags_dbg_yes="-g"
-    flags_dbg_off=""
-    flags_opt_all="-O -O0 -O1 -O2 -O3 -O4 -O5"
-    flags_opt_all="$flags_opt_all -qnooptimize"
-    flags_opt_all="$flags_opt_all -qoptimize=0"
-    flags_opt_all="$flags_opt_all -qoptimize=1"
-    flags_opt_all="$flags_opt_all -qoptimize=2"
-    flags_opt_all="$flags_opt_all -qoptimize=3"
-    flags_opt_all="$flags_opt_all -qoptimize=4"
-    flags_opt_all="$flags_opt_all -qoptimize=5"
-    flags_opt_yes="-O2"
-    flags_opt_off="-qnooptimize"
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_INTEL_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is Intel C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_INTEL_C], [
-  AC_BEFORE([$0],[CARES_CHECK_COMPILER_GNU_C])dnl
-  AC_MSG_CHECKING([if compiler is Intel C])
-  CURL_CHECK_DEF([__INTEL_COMPILER], [], [silent])
-  if test "$curl_cv_have_def___INTEL_COMPILER" = "yes"; then
-    AC_MSG_RESULT([yes])
-    compiler_num="$curl_cv_def___INTEL_COMPILER"
-    CURL_CHECK_DEF([__unix__], [], [silent])
-    if test "$curl_cv_have_def___unix__" = "yes"; then
-      compiler_id="INTEL_UNIX_C"
-      flags_dbg_all="-g -g0"
-      flags_dbg_yes="-g"
-      flags_dbg_off="-g0"
-      flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
-      flags_opt_yes="-O2"
-      flags_opt_off="-O0"
-    else
-      compiler_id="INTEL_WINDOWS_C"
-      flags_dbg_all="/ZI /Zi /zI /zi /ZD /Zd /zD /zd /Z7 /z7 /Oy /Oy-"
-      flags_dbg_all="$flags_dbg_all /debug"
-      flags_dbg_all="$flags_dbg_all /debug:none"
-      flags_dbg_all="$flags_dbg_all /debug:minimal"
-      flags_dbg_all="$flags_dbg_all /debug:partial"
-      flags_dbg_all="$flags_dbg_all /debug:full"
-      flags_dbg_all="$flags_dbg_all /debug:semantic_stepping"
-      flags_dbg_all="$flags_dbg_all /debug:extended"
-      flags_dbg_yes="/Zi /Oy-"
-      flags_dbg_off="/debug:none /Oy-"
-      flags_opt_all="/O /O0 /O1 /O2 /O3 /Od /Og /Og- /Oi /Oi-"
-      flags_opt_yes="/O2"
-      flags_opt_off="/Od"
-    fi
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_LCC
-dnl -------------------------------------------------
-dnl Verify if compiler being used is LCC.
-
-AC_DEFUN([CARES_CHECK_COMPILER_LCC], [
-  AC_MSG_CHECKING([if compiler is LCC])
-  CURL_CHECK_DEF([__LCC__], [], [silent])
-  if test "$curl_cv_have_def___LCC__" = "yes"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="LCC"
-    flags_dbg_all="-g"
-    flags_dbg_yes="-g"
-    flags_dbg_off=""
-    flags_opt_all=""
-    flags_opt_yes=""
-    flags_opt_off=""
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_SGI_MIPS_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is SGI MIPS C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_SGI_MIPS_C], [
-  AC_REQUIRE([CARES_CHECK_COMPILER_SGI_MIPSPRO_C])dnl
-  AC_MSG_CHECKING([if compiler is SGI MIPS C])
-  CURL_CHECK_DEF([__GNUC__], [], [silent])
-  CURL_CHECK_DEF([__sgi], [], [silent])
-  if test "$curl_cv_have_def___GNUC__" = "no" &&
-    test "$curl_cv_have_def___sgi" = "yes" &&
-    test "$compiler_id" = "unknown"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="SGI_MIPS_C"
-    flags_dbg_all="-g -g0 -g1 -g2 -g3"
-    flags_dbg_yes="-g"
-    flags_dbg_off="-g0"
-    flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast"
-    flags_opt_yes="-O2"
-    flags_opt_off="-O0"
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_SGI_MIPSPRO_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is SGI MIPSpro C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_SGI_MIPSPRO_C], [
-  AC_BEFORE([$0],[CARES_CHECK_COMPILER_SGI_MIPS_C])dnl
-  AC_MSG_CHECKING([if compiler is SGI MIPSpro C])
-  CURL_CHECK_DEF([__GNUC__], [], [silent])
-  CURL_CHECK_DEF([_COMPILER_VERSION], [], [silent])
-  CURL_CHECK_DEF([_SGI_COMPILER_VERSION], [], [silent])
-  if test "$curl_cv_have_def___GNUC__" = "no" &&
-    (test "$curl_cv_have_def__SGI_COMPILER_VERSION" = "yes" ||
-     test "$curl_cv_have_def__COMPILER_VERSION" = "yes"); then
-    AC_MSG_RESULT([yes])
-    compiler_id="SGI_MIPSPRO_C"
-    flags_dbg_all="-g -g0 -g1 -g2 -g3"
-    flags_dbg_yes="-g"
-    flags_dbg_off="-g0"
-    flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast"
-    flags_opt_yes="-O2"
-    flags_opt_off="-O0"
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_SUNPRO_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is SunPro C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_SUNPRO_C], [
-  AC_MSG_CHECKING([if compiler is SunPro C])
-  CURL_CHECK_DEF([__SUNPRO_C], [], [silent])
-  if test "$curl_cv_have_def___SUNPRO_C" = "yes"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="SUNPRO_C"
-    flags_dbg_all="-g -s"
-    flags_dbg_yes="-g"
-    flags_dbg_off="-s"
-    flags_opt_all="-O -xO -xO1 -xO2 -xO3 -xO4 -xO5"
-    flags_opt_yes="-xO2"
-    flags_opt_off=""
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_TINY_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is Tiny C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_TINY_C], [
-  AC_MSG_CHECKING([if compiler is Tiny C])
-  CURL_CHECK_DEF([__TINYC__], [], [silent])
-  if test "$curl_cv_have_def___TINYC__" = "yes"; then
-    AC_MSG_RESULT([yes])
-    compiler_id="TINY_C"
-    flags_dbg_all="-g -b"
-    flags_dbg_yes="-g"
-    flags_dbg_off=""
-    flags_opt_all=""
-    flags_opt_yes=""
-    flags_opt_off=""
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_WATCOM_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is Watcom C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_WATCOM_C], [
-  AC_MSG_CHECKING([if compiler is Watcom C])
-  CURL_CHECK_DEF([__WATCOMC__], [], [silent])
-  if test "$curl_cv_have_def___WATCOMC__" = "yes"; then
-    AC_MSG_RESULT([yes])
-    CURL_CHECK_DEF([__UNIX__], [], [silent])
-    if test "$curl_cv_have_def___UNIX__" = "yes"; then
-      compiler_id="WATCOM_UNIX_C"
-      flags_dbg_all="-g1 -g1+ -g2 -g3"
-      flags_dbg_yes="-g2"
-      flags_dbg_off=""
-      flags_opt_all="-O0 -O1 -O2 -O3"
-      flags_opt_yes="-O2"
-      flags_opt_off="-O0"
-    else
-      compiler_id="WATCOM_WINDOWS_C"
-      flags_dbg_all=""
-      flags_dbg_yes=""
-      flags_dbg_off=""
-      flags_opt_all=""
-      flags_opt_yes=""
-      flags_opt_off=""
-    fi
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_CONVERT_INCLUDE_TO_ISYSTEM
-dnl -------------------------------------------------
-dnl Changes standard include paths present in CFLAGS
-dnl and CPPFLAGS into isystem include paths. This is
-dnl done to prevent GNUC from generating warnings on
-dnl headers from these locations, although on ancient
-dnl GNUC versions these warnings are not silenced.
-
-AC_DEFUN([CARES_CONVERT_INCLUDE_TO_ISYSTEM], [
-  AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
-  tmp_has_include="no"
-  tmp_chg_FLAGS="$CFLAGS"
-  for word1 in $tmp_chg_FLAGS; do
-    case "$word1" in
-      -I*)
-        tmp_has_include="yes"
-        ;;
-    esac
-  done
-  if test "$tmp_has_include" = "yes"; then
-    tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/^-I/ -isystem /g'`
-    tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/ -I/ -isystem /g'`
-    CFLAGS="$tmp_chg_FLAGS"
-    squeeze CFLAGS
-  fi
-  tmp_has_include="no"
-  tmp_chg_FLAGS="$CPPFLAGS"
-  for word1 in $tmp_chg_FLAGS; do
-    case "$word1" in
-      -I*)
-        tmp_has_include="yes"
-        ;;
-    esac
-  done
-  if test "$tmp_has_include" = "yes"; then
-    tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/^-I/ -isystem /g'`
-    tmp_chg_FLAGS=`echo "$tmp_chg_FLAGS" | "$SED" 's/ -I/ -isystem /g'`
-    CPPFLAGS="$tmp_chg_FLAGS"
-    squeeze CPPFLAGS
-  fi
-])
-
-
-dnl CARES_COMPILER_WORKS_IFELSE ([ACTION-IF-WORKS], [ACTION-IF-NOT-WORKS])
-dnl -------------------------------------------------
-dnl Verify if the C compiler seems to work with the
-dnl settings that are 'active' at the time the test
-dnl is performed.
-
-AC_DEFUN([CARES_COMPILER_WORKS_IFELSE], [
-  dnl compilation capability verification
-  tmp_compiler_works="unknown"
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-    ]],[[
-      int i = 1;
-      return i;
-    ]])
-  ],[
-    tmp_compiler_works="yes"
-  ],[
-    tmp_compiler_works="no"
-    echo " " >&6
-    sed 's/^/cc-fail: /' conftest.err >&6
-    echo " " >&6
-  ])
-  dnl linking capability verification
-  if test "$tmp_compiler_works" = "yes"; then
-    AC_LINK_IFELSE([
-      AC_LANG_PROGRAM([[
-      ]],[[
-        int i = 1;
-        return i;
-      ]])
-    ],[
-      tmp_compiler_works="yes"
-    ],[
-      tmp_compiler_works="no"
-      echo " " >&6
-      sed 's/^/link-fail: /' conftest.err >&6
-      echo " " >&6
-    ])
-  fi
-  dnl only do runtime verification when not cross-compiling
-  if test "x$cross_compiling" != "xyes" &&
-    test "$tmp_compiler_works" = "yes"; then
-    AC_RUN_IFELSE([
-      AC_LANG_PROGRAM([[
-#       ifdef __STDC__
-#         include <stdlib.h>
-#       endif
-      ]],[[
-        int i = 0;
-        exit(i);
-      ]])
-    ],[
-      tmp_compiler_works="yes"
-    ],[
-      tmp_compiler_works="no"
-      echo " " >&6
-      echo "run-fail: test program exited with status $ac_status" >&6
-      echo " " >&6
-    ])
-  fi
-  dnl branch upon test result
-  if test "$tmp_compiler_works" = "yes"; then
-  ifelse($1,,:,[$1])
-  ifelse($2,,,[else
-    $2])
-  fi
-])
-
-
-dnl CARES_SET_COMPILER_BASIC_OPTS
-dnl -------------------------------------------------
-dnl Sets compiler specific options/flags which do not
-dnl depend on configure's debug, optimize or warnings
-dnl options.
-
-AC_DEFUN([CARES_SET_COMPILER_BASIC_OPTS], [
-  AC_REQUIRE([CARES_CHECK_COMPILER])dnl
-  AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
-  #
-  if test "$compiler_id" != "unknown"; then
-    #
-    if test "$compiler_id" = "GNU_C" ||
-      test "$compiler_id" = "CLANG"; then
-      CARES_CONVERT_INCLUDE_TO_ISYSTEM
-    fi
-    #
-    tmp_save_CPPFLAGS="$CPPFLAGS"
-    tmp_save_CFLAGS="$CFLAGS"
-    tmp_CPPFLAGS=""
-    tmp_CFLAGS=""
-    #
-    case "$compiler_id" in
-        #
-      CLANG)
-        #
-        dnl Disable warnings for unused arguments, otherwise clang will
-        dnl warn about compile-time arguments used during link-time, like
-        dnl -O and -g and -pedantic.
-        tmp_CFLAGS="$tmp_CFLAGS -Qunused-arguments"
-        ;;
-        #
-      DEC_C)
-        #
-        dnl Select strict ANSI C compiler mode
-        tmp_CFLAGS="$tmp_CFLAGS -std1"
-        dnl Turn off optimizer ANSI C aliasing rules
-        tmp_CFLAGS="$tmp_CFLAGS -noansi_alias"
-        dnl Generate warnings for missing function prototypes
-        tmp_CFLAGS="$tmp_CFLAGS -warnprotos"
-        dnl Change some warnings into fatal errors
-        tmp_CFLAGS="$tmp_CFLAGS -msg_fatal toofewargs,toomanyargs"
-        ;;
-        #
-      GNU_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      HP_UX_C)
-        #
-        dnl Disallow run-time dereferencing of null pointers
-        tmp_CFLAGS="$tmp_CFLAGS -z"
-        dnl Disable some remarks
-        dnl #4227: padding struct with n bytes to align member
-        dnl #4255: padding size of struct with n bytes to alignment boundary
-        tmp_CFLAGS="$tmp_CFLAGS +W 4227,4255"
-        ;;
-        #
-      IBM_C)
-        #
-        dnl Ensure that compiler optimizations are always thread-safe.
-        tmp_CFLAGS="$tmp_CFLAGS -qthreaded"
-        dnl Disable type based strict aliasing optimizations, using worst
-        dnl case aliasing assumptions when compiling. Type based aliasing
-        dnl would restrict the lvalues that could be safely used to access
-        dnl a data object.
-        tmp_CFLAGS="$tmp_CFLAGS -qnoansialias"
-        dnl Force compiler to stop after the compilation phase, without
-        dnl generating an object code file when compilation has errors.
-        tmp_CFLAGS="$tmp_CFLAGS -qhalt=e"
-        ;;
-        #
-      INTEL_UNIX_C)
-        #
-        dnl On unix this compiler uses gcc's header files, so
-        dnl we select ANSI C89 dialect plus GNU extensions.
-        tmp_CFLAGS="$tmp_CFLAGS -std=gnu89"
-        dnl Change some warnings into errors
-        dnl #140: too many arguments in function call
-        dnl #147: declaration is incompatible with 'previous one'
-        dnl #165: too few arguments in function call
-        dnl #266: function declared implicitly
-        tmp_CPPFLAGS="$tmp_CPPFLAGS -we 140,147,165,266"
-        dnl Disable some remarks
-        dnl #279: controlling expression is constant
-        dnl #981: operands are evaluated in unspecified order
-        dnl #1469: "cc" clobber ignored
-        tmp_CPPFLAGS="$tmp_CPPFLAGS -wd 279,981,1469"
-        ;;
-        #
-      INTEL_WINDOWS_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      LCC)
-        #
-        dnl Disallow run-time dereferencing of null pointers
-        tmp_CFLAGS="$tmp_CFLAGS -n"
-        ;;
-        #
-      SGI_MIPS_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      SGI_MIPSPRO_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      SUNPRO_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      TINY_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      WATCOM_UNIX_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      WATCOM_WINDOWS_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-    esac
-    #
-    squeeze tmp_CPPFLAGS
-    squeeze tmp_CFLAGS
-    #
-    if test ! -z "$tmp_CFLAGS" || test ! -z "$tmp_CPPFLAGS"; then
-      AC_MSG_CHECKING([if compiler accepts some basic options])
-      CPPFLAGS="$tmp_save_CPPFLAGS $tmp_CPPFLAGS"
-      CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS"
-      squeeze CPPFLAGS
-      squeeze CFLAGS
-      CARES_COMPILER_WORKS_IFELSE([
-        AC_MSG_RESULT([yes])
-        AC_MSG_NOTICE([compiler options added: $tmp_CFLAGS $tmp_CPPFLAGS])
-      ],[
-        AC_MSG_RESULT([no])
-        AC_MSG_WARN([compiler options rejected: $tmp_CFLAGS $tmp_CPPFLAGS])
-        dnl restore initial settings
-        CPPFLAGS="$tmp_save_CPPFLAGS"
-        CFLAGS="$tmp_save_CFLAGS"
-      ])
-    fi
-    #
-  fi
-])
-
-
-dnl CARES_SET_COMPILER_DEBUG_OPTS
-dnl -------------------------------------------------
-dnl Sets compiler specific options/flags which depend
-dnl on configure's debug option.
-
-AC_DEFUN([CARES_SET_COMPILER_DEBUG_OPTS], [
-  AC_REQUIRE([CARES_CHECK_OPTION_DEBUG])dnl
-  AC_REQUIRE([CARES_CHECK_COMPILER])dnl
-  AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
-  #
-  if test "$compiler_id" != "unknown"; then
-    #
-    tmp_save_CFLAGS="$CFLAGS"
-    tmp_save_CPPFLAGS="$CPPFLAGS"
-    #
-    tmp_options=""
-    tmp_CFLAGS="$CFLAGS"
-    tmp_CPPFLAGS="$CPPFLAGS"
-    CARES_VAR_STRIP([tmp_CFLAGS],[$flags_dbg_all])
-    CARES_VAR_STRIP([tmp_CPPFLAGS],[$flags_dbg_all])
-    #
-    if test "$want_debug" = "yes"; then
-      AC_MSG_CHECKING([if compiler accepts debug enabling options])
-      tmp_options="$flags_dbg_yes"
-    fi
-    if test "$want_debug" = "no"; then
-      AC_MSG_CHECKING([if compiler accepts debug disabling options])
-      tmp_options="$flags_dbg_off"
-    fi
-    #
-    CPPFLAGS="$tmp_CPPFLAGS"
-    CFLAGS="$tmp_CFLAGS $tmp_options"
-    squeeze CPPFLAGS
-    squeeze CFLAGS
-    CARES_COMPILER_WORKS_IFELSE([
-      AC_MSG_RESULT([yes])
-      AC_MSG_NOTICE([compiler options added: $tmp_options])
-    ],[
-      AC_MSG_RESULT([no])
-      AC_MSG_WARN([compiler options rejected: $tmp_options])
-      dnl restore initial settings
-      CPPFLAGS="$tmp_save_CPPFLAGS"
-      CFLAGS="$tmp_save_CFLAGS"
-    ])
-    #
-  fi
-])
-
-
-dnl CARES_SET_COMPILER_OPTIMIZE_OPTS
-dnl -------------------------------------------------
-dnl Sets compiler specific options/flags which depend
-dnl on configure's optimize option.
-
-AC_DEFUN([CARES_SET_COMPILER_OPTIMIZE_OPTS], [
-  AC_REQUIRE([CARES_CHECK_OPTION_OPTIMIZE])dnl
-  AC_REQUIRE([CARES_CHECK_COMPILER])dnl
-  AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
-  #
-  if test "$compiler_id" != "unknown"; then
-    #
-    tmp_save_CFLAGS="$CFLAGS"
-    tmp_save_CPPFLAGS="$CPPFLAGS"
-    #
-    tmp_options=""
-    tmp_CFLAGS="$CFLAGS"
-    tmp_CPPFLAGS="$CPPFLAGS"
-    honor_optimize_option="yes"
-    #
-    dnl If optimization request setting has not been explicitly specified,
-    dnl it has been derived from the debug setting and initially assumed.
-    dnl This initially assumed optimizer setting will finally be ignored
-    dnl if CFLAGS or CPPFLAGS already hold optimizer flags. This implies
-    dnl that an initially assumed optimizer setting might not be honored.
-    #
-    if test "$want_optimize" = "assume_no" ||
-       test "$want_optimize" = "assume_yes"; then
-      AC_MSG_CHECKING([if compiler optimizer assumed setting might be used])
-      CARES_VAR_MATCH_IFELSE([tmp_CFLAGS],[$flags_opt_all],[
-        honor_optimize_option="no"
-      ])
-      CARES_VAR_MATCH_IFELSE([tmp_CPPFLAGS],[$flags_opt_all],[
-        honor_optimize_option="no"
-      ])
-      AC_MSG_RESULT([$honor_optimize_option])
-      if test "$honor_optimize_option" = "yes"; then
-        if test "$want_optimize" = "assume_yes"; then
-          want_optimize="yes"
-        fi
-        if test "$want_optimize" = "assume_no"; then
-          want_optimize="no"
-        fi
-      fi
-    fi
-    #
-    if test "$honor_optimize_option" = "yes"; then
-      CARES_VAR_STRIP([tmp_CFLAGS],[$flags_opt_all])
-      CARES_VAR_STRIP([tmp_CPPFLAGS],[$flags_opt_all])
-      if test "$want_optimize" = "yes"; then
-        AC_MSG_CHECKING([if compiler accepts optimizer enabling options])
-        tmp_options="$flags_opt_yes"
-      fi
-      if test "$want_optimize" = "no"; then
-        AC_MSG_CHECKING([if compiler accepts optimizer disabling options])
-        tmp_options="$flags_opt_off"
-      fi
-      CPPFLAGS="$tmp_CPPFLAGS"
-      CFLAGS="$tmp_CFLAGS $tmp_options"
-      squeeze CPPFLAGS
-      squeeze CFLAGS
-      CARES_COMPILER_WORKS_IFELSE([
-        AC_MSG_RESULT([yes])
-        AC_MSG_NOTICE([compiler options added: $tmp_options])
-      ],[
-        AC_MSG_RESULT([no])
-        AC_MSG_WARN([compiler options rejected: $tmp_options])
-        dnl restore initial settings
-        CPPFLAGS="$tmp_save_CPPFLAGS"
-        CFLAGS="$tmp_save_CFLAGS"
-      ])
-    fi
-    #
-  fi
-])
-
-
-dnl CARES_SET_COMPILER_WARNING_OPTS
-dnl -------------------------------------------------
-dnl Sets compiler options/flags which depend on
-dnl configure's warnings given option.
-
-AC_DEFUN([CARES_SET_COMPILER_WARNING_OPTS], [
-  AC_REQUIRE([CARES_CHECK_OPTION_WARNINGS])dnl
-  AC_REQUIRE([CARES_CHECK_COMPILER])dnl
-  AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
-  #
-  if test "$compiler_id" != "unknown"; then
-    #
-    tmp_save_CPPFLAGS="$CPPFLAGS"
-    tmp_save_CFLAGS="$CFLAGS"
-    tmp_CPPFLAGS=""
-    tmp_CFLAGS=""
-    #
-    case "$compiler_id" in
-        #
-      CLANG)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl All versions of clang support the same warnings as at least
-          dnl gcc 4.2.1 except -Wunused.
-          tmp_CFLAGS="$tmp_CFLAGS -pedantic"
-          tmp_CFLAGS="$tmp_CFLAGS -Wall -Wextra"
-          tmp_CFLAGS="$tmp_CFLAGS -Wpointer-arith -Wwrite-strings"
-          tmp_CFLAGS="$tmp_CFLAGS -Wshadow"
-          tmp_CFLAGS="$tmp_CFLAGS -Winline -Wnested-externs"
-          tmp_CFLAGS="$tmp_CFLAGS -Wmissing-declarations"
-          tmp_CFLAGS="$tmp_CFLAGS -Wmissing-prototypes"
-          tmp_CFLAGS="$tmp_CFLAGS -Wno-long-long"
-          tmp_CFLAGS="$tmp_CFLAGS -Wfloat-equal"
-          tmp_CFLAGS="$tmp_CFLAGS -Wno-multichar -Wsign-compare"
-          tmp_CFLAGS="$tmp_CFLAGS -Wundef"
-          tmp_CFLAGS="$tmp_CFLAGS -Wno-format-nonliteral"
-          tmp_CFLAGS="$tmp_CFLAGS -Wendif-labels -Wstrict-prototypes"
-          tmp_CFLAGS="$tmp_CFLAGS -Wdeclaration-after-statement"
-          tmp_CFLAGS="$tmp_CFLAGS -Wcast-align"
-          tmp_CFLAGS="$tmp_CFLAGS -Wno-system-headers"
-          tmp_CFLAGS="$tmp_CFLAGS -Wshorten-64-to-32"
-          #
-          dnl Only clang 1.1 or later
-          if test "$compiler_num" -ge "101"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Wunused"
-          fi
-        fi
-        ;;
-        #
-      DEC_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl Select a higher warning level than default level2
-          tmp_CFLAGS="$tmp_CFLAGS -msg_enable level3"
-        fi
-        ;;
-        #
-      GNU_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          #
-          dnl Do not enable -pedantic when cross-compiling with a gcc older
-          dnl than 3.0, to avoid warnings from third party system headers.
-          if test "x$cross_compiling" != "xyes" ||
-            test "$compiler_num" -ge "300"; then
-            tmp_CFLAGS="$tmp_CFLAGS -pedantic"
-          fi
-          #
-          dnl Set of options we believe *ALL* gcc versions support:
-          tmp_CFLAGS="$tmp_CFLAGS -Wall -W"
-          #
-          dnl Only gcc 1.4 or later
-          if test "$compiler_num" -ge "104"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Wpointer-arith -Wwrite-strings"
-            dnl If not cross-compiling with a gcc older than 3.0
-            if test "x$cross_compiling" != "xyes" ||
-              test "$compiler_num" -ge "300"; then
-              tmp_CFLAGS="$tmp_CFLAGS -Wunused -Wshadow"
-            fi
-          fi
-          #
-          dnl Only gcc 2.7 or later
-          if test "$compiler_num" -ge "207"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Winline -Wnested-externs"
-            dnl If not cross-compiling with a gcc older than 3.0
-            if test "x$cross_compiling" != "xyes" ||
-              test "$compiler_num" -ge "300"; then
-              tmp_CFLAGS="$tmp_CFLAGS -Wmissing-declarations"
-              tmp_CFLAGS="$tmp_CFLAGS -Wmissing-prototypes"
-            fi
-          fi
-          #
-          dnl Only gcc 2.95 or later
-          if test "$compiler_num" -ge "295"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Wno-long-long"
-          fi
-          #
-          dnl Only gcc 2.96 or later
-          if test "$compiler_num" -ge "296"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Wfloat-equal"
-            tmp_CFLAGS="$tmp_CFLAGS -Wno-multichar -Wsign-compare"
-            dnl -Wundef used only if gcc is 2.96 or later since we get
-            dnl lots of "`_POSIX_C_SOURCE' is not defined" in system
-            dnl headers with gcc 2.95.4 on FreeBSD 4.9
-            tmp_CFLAGS="$tmp_CFLAGS -Wundef"
-          fi
-          #
-          dnl Only gcc 2.97 or later
-          if test "$compiler_num" -ge "297"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Wno-format-nonliteral"
-          fi
-          #
-          dnl Only gcc 3.0 or later
-          if test "$compiler_num" -ge "300"; then
-            dnl -Wunreachable-code seems totally unreliable on my gcc 3.3.2 on
-            dnl on i686-Linux as it gives us heaps with false positives.
-            dnl Also, on gcc 4.0.X it is totally unbearable and complains all
-            dnl over making it unusable for generic purposes. Let's not use it.
-            tmp_CFLAGS="$tmp_CFLAGS"
-          fi
-          #
-          dnl Only gcc 3.3 or later
-          if test "$compiler_num" -ge "303"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Wendif-labels -Wstrict-prototypes"
-          fi
-          #
-          dnl Only gcc 3.4 or later
-          if test "$compiler_num" -ge "304"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Wdeclaration-after-statement"
-          fi
-          #
-          dnl Only gcc 4.3 or later
-          if test "$compiler_num" -ge "403"; then
-            tmp_CFLAGS="$tmp_CFLAGS -Wtype-limits -Wold-style-declaration"
-            tmp_CFLAGS="$tmp_CFLAGS -Wmissing-parameter-type -Wempty-body"
-            tmp_CFLAGS="$tmp_CFLAGS -Wclobbered -Wignored-qualifiers"
-          fi
-          #
-        fi
-        #
-        dnl Do not issue warnings for code in system include paths.
-        if test "$compiler_num" -ge "300"; then
-          tmp_CFLAGS="$tmp_CFLAGS -Wno-system-headers"
-        else
-          dnl When cross-compiling with a gcc older than 3.0, disable
-          dnl some warnings triggered on third party system headers.
-          if test "x$cross_compiling" = "xyes"; then
-            if test "$compiler_num" -ge "104"; then
-              dnl gcc 1.4 or later
-              tmp_CFLAGS="$tmp_CFLAGS -Wno-unused -Wno-shadow"
-            fi
-            if test "$compiler_num" -ge "207"; then
-              dnl gcc 2.7 or later
-              tmp_CFLAGS="$tmp_CFLAGS -Wno-missing-declarations"
-              tmp_CFLAGS="$tmp_CFLAGS -Wno-missing-prototypes"
-            fi
-          fi
-        fi
-        ;;
-        #
-      HP_UX_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl Issue all warnings
-          tmp_CFLAGS="$tmp_CFLAGS +w1"
-        fi
-        ;;
-        #
-      IBM_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      INTEL_UNIX_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          if test "$compiler_num" -gt "600"; then
-            dnl Show errors, warnings, and remarks
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wall -w2"
-            dnl Perform extra compile-time code checking
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wcheck"
-            dnl Warn on nested comments
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wcomment"
-            dnl Show warnings relative to deprecated features
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wdeprecated"
-            dnl Enable warnings for missing prototypes
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wmissing-prototypes"
-            dnl Enable warnings for 64-bit portability issues
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wp64"
-            dnl Enable warnings for questionable pointer arithmetic
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wpointer-arith"
-            dnl Check for function return typw issues
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wreturn-type"
-            dnl Warn on variable declarations hiding a previous one
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wshadow"
-            dnl Warn when a variable is used before initialized
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wuninitialized"
-            dnl Warn if a declared function is not used
-            tmp_CPPFLAGS="$tmp_CPPFLAGS -Wunused-function"
-          fi
-        fi
-        dnl Disable using EBP register in optimizations
-        tmp_CFLAGS="$tmp_CFLAGS -fno-omit-frame-pointer"
-        dnl Disable use of ANSI C aliasing rules in optimizations
-        tmp_CFLAGS="$tmp_CFLAGS -fno-strict-aliasing"
-        dnl Value-safe optimizations on floating-point data
-        tmp_CFLAGS="$tmp_CFLAGS -fp-model precise"
-        dnl Only icc 10.0 or later
-        if test "$compiler_num" -ge "1000"; then
-          dnl Disable vectorizer diagnostic information
-          tmp_CFLAGS="$tmp_CFLAGS -vec-report0"
-        fi
-        ;;
-        #
-      INTEL_WINDOWS_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-      LCC)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl Highest warning level is double -A, next is single -A.
-          dnl Due to the big number of warnings these trigger on third
-          dnl party header files it is impractical for us to use any of
-          dnl them here. If you want them simply define it in CPPFLAGS.
-          tmp_CFLAGS="$tmp_CFLAGS"
-        fi
-        ;;
-        #
-      SGI_MIPS_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl Perform stricter semantic and lint-like checks
-          tmp_CFLAGS="$tmp_CFLAGS -fullwarn"
-        fi
-        ;;
-        #
-      SGI_MIPSPRO_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl Perform stricter semantic and lint-like checks
-          tmp_CFLAGS="$tmp_CFLAGS -fullwarn"
-          dnl Disable some remarks
-          dnl #1209: controlling expression is constant
-          tmp_CFLAGS="$tmp_CFLAGS -woff 1209"
-        fi
-        ;;
-        #
-      SUNPRO_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl Perform stricter semantic and lint-like checks
-          tmp_CFLAGS="$tmp_CFLAGS -v"
-        fi
-        ;;
-        #
-      TINY_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl Activate all warnings
-          tmp_CFLAGS="$tmp_CFLAGS -Wall"
-          dnl Make string constants be of type const char *
-          tmp_CFLAGS="$tmp_CFLAGS -Wwrite-strings"
-          dnl Warn use of unsupported GCC features ignored by TCC
-          tmp_CFLAGS="$tmp_CFLAGS -Wunsupported"
-        fi
-        ;;
-        #
-      WATCOM_UNIX_C)
-        #
-        if test "$want_warnings" = "yes"; then
-          dnl Issue all warnings
-          tmp_CFLAGS="$tmp_CFLAGS -Wall -Wextra"
-        fi
-        ;;
-        #
-      WATCOM_WINDOWS_C)
-        #
-        dnl Placeholder
-        tmp_CFLAGS="$tmp_CFLAGS"
-        ;;
-        #
-    esac
-    #
-    squeeze tmp_CPPFLAGS
-    squeeze tmp_CFLAGS
-    #
-    if test ! -z "$tmp_CFLAGS" || test ! -z "$tmp_CPPFLAGS"; then
-      AC_MSG_CHECKING([if compiler accepts strict warning options])
-      CPPFLAGS="$tmp_save_CPPFLAGS $tmp_CPPFLAGS"
-      CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS"
-      squeeze CPPFLAGS
-      squeeze CFLAGS
-      CARES_COMPILER_WORKS_IFELSE([
-        AC_MSG_RESULT([yes])
-        AC_MSG_NOTICE([compiler options added: $tmp_CFLAGS $tmp_CPPFLAGS])
-      ],[
-        AC_MSG_RESULT([no])
-        AC_MSG_WARN([compiler options rejected: $tmp_CFLAGS $tmp_CPPFLAGS])
-        dnl restore initial settings
-        CPPFLAGS="$tmp_save_CPPFLAGS"
-        CFLAGS="$tmp_save_CFLAGS"
-      ])
-    fi
-    #
-  fi
-])
-
-
-dnl CARES_SHFUNC_SQUEEZE
-dnl -------------------------------------------------
-dnl Declares a shell function squeeze() which removes
-dnl redundant whitespace out of a shell variable.
-
-AC_DEFUN([CARES_SHFUNC_SQUEEZE], [
-squeeze() {
-  _sqz_result=""
-  eval _sqz_input=\[$][$]1
-  for _sqz_token in $_sqz_input; do
-    if test -z "$_sqz_result"; then
-      _sqz_result="$_sqz_token"
-    else
-      _sqz_result="$_sqz_result $_sqz_token"
-    fi
-  done
-  eval [$]1=\$_sqz_result
-  return 0
-}
-])
-
-
-dnl CARES_CHECK_CURLDEBUG
-dnl -------------------------------------------------
-dnl Settings which depend on configure's curldebug given
-dnl option, and other additional configure pre-requisites.
-dnl Using the curl debug memory tracking feature in c-ares
-dnl is a hack that actually can only be used/enabled when
-dnl c-ares is built directly in curl's CVS tree, as a static
-dnl library or as a shared one on those systems on which
-dnl shared libraries support undefined symbols, along with
-dnl an equally configured libcurl.
-
-AC_DEFUN([CARES_CHECK_CURLDEBUG], [
-  AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
-  cares_builddir=`pwd`
-  supports_curldebug="unknown"
-  if test "$want_curldebug" = "yes"; then
-    if test "x$enable_shared" != "xno" &&
-      test "x$enable_shared" != "xyes"; then
-      AC_MSG_WARN([unknown enable_shared setting.])
-      supports_curldebug="no"
-    fi
-    if test "x$enable_static" != "xno" &&
-      test "x$enable_static" != "xyes"; then
-      AC_MSG_WARN([unknown enable_static setting.])
-      supports_curldebug="no"
-    fi
-    if test "$supports_curldebug" != "no"; then
-      if test "$enable_shared" = "yes" &&
-        test "$need_no_undefined" = "yes"; then
-        supports_curldebug="no"
-        AC_MSG_WARN([shared library does not support undefined symbols.])
-      fi
-      if test ! -f "$srcdir/../include/curl/curlbuild.h.dist"; then
-        AC_MSG_WARN([c-ares source not embedded in curl's CVS tree.])
-        supports_curldebug="no"
-      elif test ! -f "$srcdir/../include/curl/Makefile.in"; then
-        AC_MSG_WARN([curl's buildconf has not been run.])
-        supports_curldebug="no"
-      elif test ! -f "$cares_builddir/../libcurl.pc" ||
-        test ! -f "$cares_builddir/../include/curl/curlbuild.h"; then
-        AC_MSG_WARN([curl's configure has not been run.])
-        supports_curldebug="no"
-      elif test ! -f "$cares_builddir/../lib/curl_config.h"; then
-        AC_MSG_WARN([libcurl's curl_config.h is missing.])
-        supports_curldebug="no"
-      elif test ! -f "$cares_builddir/../config.status"; then
-        AC_MSG_WARN([curl's config.status is missing.])
-        supports_curldebug="no"
-      fi
-      if test "$supports_curldebug" != "no"; then
-        grep '^#define USE_ARES' "$cares_builddir/../lib/curl_config.h" >/dev/null
-        if test "$?" -ne "0"; then
-          AC_MSG_WARN([libcurl configured without c-ares support.])
-          supports_curldebug="no"
-        fi
-      fi
-      if test "$supports_curldebug" != "no"; then
-        grep 'CPPFLAGS.*CURLDEBUG' "$cares_builddir/../config.status" >/dev/null
-        if test "$?" -ne "0"; then
-          AC_MSG_WARN([libcurl configured without curldebug support.])
-          supports_curldebug="no"
-        fi
-      fi
-    fi
-  fi
-  #
-  if test "$want_curldebug" = "yes"; then
-    AC_MSG_CHECKING([if curl debug memory tracking can be enabled])
-    test "$supports_curldebug" = "no" || supports_curldebug="yes"
-    AC_MSG_RESULT([$supports_curldebug])
-    if test "$supports_curldebug" = "no"; then
-      AC_MSG_WARN([cannot enable curl debug memory tracking.])
-      want_curldebug="no"
-    fi
-  fi
-  #
-  if test "$want_curldebug" = "yes"; then
-    dnl TODO: Verify if the BUILDING_LIBCURL definition is still required.
-    AC_DEFINE(BUILDING_LIBCURL, 1, [when building as static part of libcurl])
-    CPPFLAGS="$CPPFLAGS -DCURLDEBUG"
-    squeeze CPPFLAGS
-  fi
-  #
-  if test "$want_debug" = "yes"; then
-    CPPFLAGS="$CPPFLAGS -DDEBUGBUILD"
-    squeeze CPPFLAGS
-  fi
-])
-
-
-dnl CARES_CHECK_NO_UNDEFINED
-dnl -------------------------------------------------
-dnl Checks if the -no-undefined flag must be used when
-dnl building shared libraries. This is required on all
-dnl systems on which shared libraries should not have
-dnl references to undefined symbols. This check should
-dnl not be done before AC-PROG-LIBTOOL.
-
-AC_DEFUN([CARES_CHECK_NO_UNDEFINED], [
-  AC_BEFORE([$0],[CARES_CHECK_CURLDEBUG])dnl
-  AC_MSG_CHECKING([if shared libraries need -no-undefined])
-  need_no_undefined="no"
-  case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc* | *-*-aix*)
-      need_no_undefined="yes"
-      ;;
-  esac
-  if test "x$allow_undefined" = "xno"; then
-    need_no_undefined="yes"
-  elif test "x$allow_undefined_flag" = "xunsupported"; then
-    need_no_undefined="yes"
-  fi
-  AC_MSG_RESULT($need_no_undefined)
-])
-
-
-dnl CARES_CHECK_PROG_CC
-dnl -------------------------------------------------
-dnl Check for compiler program, preventing CFLAGS and
-dnl CPPFLAGS from being unexpectedly changed.
-
-AC_DEFUN([CARES_CHECK_PROG_CC], [
-  ac_save_CFLAGS="$CFLAGS"
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  AC_PROG_CC
-  CFLAGS="$ac_save_CFLAGS"
-  CPPFLAGS="$ac_save_CPPFLAGS"
-])
-
-
-dnl CARES_CHECK_COMPILER_HALT_ON_ERROR
-dnl -------------------------------------------------
-dnl Verifies if the compiler actually halts after the
-dnl compilation phase without generating any object
-dnl code file, when the source compiles with errors.
-
-AC_DEFUN([CARES_CHECK_COMPILER_HALT_ON_ERROR], [
-  AC_MSG_CHECKING([if compiler halts on compilation errors])
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-    ]],[[
-      force compilation error
-    ]])
-  ],[
-    AC_MSG_RESULT([no])
-    AC_MSG_ERROR([compiler does not halt on compilation errors.])
-  ],[
-    AC_MSG_RESULT([yes])
-  ])
-])
-
-
-dnl CARES_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
-dnl -------------------------------------------------
-dnl Verifies if the compiler actually halts after the
-dnl compilation phase without generating any object
-dnl code file, when the source code tries to define a
-dnl type for a constant array with negative dimension.
-
-AC_DEFUN([CARES_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE], [
-  AC_REQUIRE([CARES_CHECK_COMPILER_HALT_ON_ERROR])dnl
-  AC_MSG_CHECKING([if compiler halts on negative sized arrays])
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-      typedef char bad_t[sizeof(char) == sizeof(int) ? -1 : -1 ];
-    ]],[[
-      bad_t dummy;
-    ]])
-  ],[
-    AC_MSG_RESULT([no])
-    AC_MSG_ERROR([compiler does not halt on negative sized arrays.])
-  ],[
-    AC_MSG_RESULT([yes])
-  ])
-])
-
-
-dnl CARES_CHECK_COMPILER_STRUCT_MEMBER_SIZE
-dnl -------------------------------------------------
-dnl Verifies if the compiler is capable of handling the
-dnl size of a struct member, struct which is a function
-dnl result, as a compilation-time condition inside the
-dnl type definition of a constant array.
-
-AC_DEFUN([CARES_CHECK_COMPILER_STRUCT_MEMBER_SIZE], [
-  AC_REQUIRE([CARES_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE])dnl
-  AC_MSG_CHECKING([if compiler struct member size checking works])
-  tst_compiler_check_one_works="unknown"
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-      struct mystruct {
-        int  mi;
-        char mc;
-        struct mystruct *next;
-      };
-      struct mystruct myfunc();
-      typedef char good_t1[sizeof(myfunc().mi) == sizeof(int)  ? 1 : -1 ];
-      typedef char good_t2[sizeof(myfunc().mc) == sizeof(char) ? 1 : -1 ];
-    ]],[[
-      good_t1 dummy1;
-      good_t2 dummy2;
-    ]])
-  ],[
-    tst_compiler_check_one_works="yes"
-  ],[
-    tst_compiler_check_one_works="no"
-    sed 's/^/cc-src: /' conftest.$ac_ext >&6
-    sed 's/^/cc-err: /' conftest.err >&6
-  ])
-  tst_compiler_check_two_works="unknown"
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-      struct mystruct {
-        int  mi;
-        char mc;
-        struct mystruct *next;
-      };
-      struct mystruct myfunc();
-      typedef char bad_t1[sizeof(myfunc().mi) != sizeof(int)  ? 1 : -1 ];
-      typedef char bad_t2[sizeof(myfunc().mc) != sizeof(char) ? 1 : -1 ];
-    ]],[[
-      bad_t1 dummy1;
-      bad_t2 dummy2;
-    ]])
-  ],[
-    tst_compiler_check_two_works="no"
-  ],[
-    tst_compiler_check_two_works="yes"
-  ])
-  if test "$tst_compiler_check_one_works" = "yes" &&
-    test "$tst_compiler_check_two_works" = "yes"; then
-    AC_MSG_RESULT([yes])
-  else
-    AC_MSG_RESULT([no])
-    AC_MSG_ERROR([compiler fails struct member size checking.])
-  fi
-])
-
-
-dnl CARES_CHECK_COMPILER_SYMBOL_HIDING
-dnl -------------------------------------------------
-dnl Verify if compiler supports hiding library internal symbols, setting
-dnl shell variable supports_symbol_hiding value as appropriate, as well as
-dnl variables symbol_hiding_CFLAGS and symbol_hiding_EXTERN when supported.
-
-AC_DEFUN([CARES_CHECK_COMPILER_SYMBOL_HIDING], [
-  AC_REQUIRE([CARES_CHECK_COMPILER])dnl
-  AC_BEFORE([$0],[CARES_CONFIGURE_SYMBOL_HIDING])dnl
-  AC_MSG_CHECKING([if compiler supports hiding library internal symbols])
-  supports_symbol_hiding="no"
-  symbol_hiding_CFLAGS=""
-  symbol_hiding_EXTERN=""
-  tmp_CFLAGS=""
-  tmp_EXTERN=""
-  case "$compiler_id" in
-    CLANG)
-      dnl All versions of clang support -fvisibility=
-      tmp_EXTERN="__attribute__ ((visibility (\"default\")))"
-      tmp_CFLAGS="-fvisibility=hidden"
-      supports_symbol_hiding="yes"
-      ;;
-    GNU_C)
-      dnl Only gcc 3.4 or later
-      if test "$compiler_num" -ge "304"; then
-        if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
-          tmp_EXTERN="__attribute__ ((visibility (\"default\")))"
-          tmp_CFLAGS="-fvisibility=hidden"
-          supports_symbol_hiding="yes"
-        fi
-      fi
-      ;;
-    INTEL_UNIX_C)
-      dnl Only icc 9.0 or later
-      if test "$compiler_num" -ge "900"; then
-        if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
-          tmp_save_CFLAGS="$CFLAGS"
-          CFLAGS="$CFLAGS -fvisibility=hidden"
-          AC_LINK_IFELSE([
-            AC_LANG_PROGRAM([[
-#             include <stdio.h>
-            ]],[[
-              printf("icc fvisibility bug test");
-            ]])
-          ],[
-            tmp_EXTERN="__attribute__ ((visibility (\"default\")))"
-            tmp_CFLAGS="-fvisibility=hidden"
-            supports_symbol_hiding="yes"
-          ])
-          CFLAGS="$tmp_save_CFLAGS"
-        fi
-      fi
-      ;;
-    SUNPRO_C)
-      if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
-        tmp_EXTERN="__global"
-        tmp_CFLAGS="-xldscope=hidden"
-        supports_symbol_hiding="yes"
-      fi
-      ;;
-  esac
-  if test "$supports_symbol_hiding" = "yes"; then
-    tmp_save_CFLAGS="$CFLAGS"
-    CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS"
-    squeeze CFLAGS
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $tmp_EXTERN char *dummy(char *buff);
-        char *dummy(char *buff)
-        {
-         if(buff)
-           return ++buff;
-         else
-           return buff;
-        }
-      ]],[[
-        char b[16];
-        char *r = dummy(&b);
-        if(r)
-          return (int)*r;
-      ]])
-    ],[
-      supports_symbol_hiding="yes"
-    ],[
-      supports_symbol_hiding="no"
-      echo " " >&6
-      sed 's/^/cc-src: /' conftest.$ac_ext >&6
-      sed 's/^/cc-err: /' conftest.err >&6
-      echo " " >&6
-    ])
-    CFLAGS="$tmp_save_CFLAGS"
-  fi
-  if test "$supports_symbol_hiding" = "yes"; then
-    AC_MSG_RESULT([yes])
-    symbol_hiding_CFLAGS="$tmp_CFLAGS"
-    symbol_hiding_EXTERN="$tmp_EXTERN"
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
-
-dnl CARES_VAR_MATCH (VARNAME, VALUE)
-dnl -------------------------------------------------
-dnl Verifies if shell variable VARNAME contains VALUE.
-dnl Contents of variable VARNAME and VALUE are handled
-dnl as whitespace separated lists of words. If at least
-dnl one word of VALUE is present in VARNAME the match
-dnl is considered positive, otherwise false.
-
-AC_DEFUN([CARES_VAR_MATCH], [
-  ac_var_match_word="no"
-  for word1 in $[$1]; do
-    for word2 in [$2]; do
-      if test "$word1" = "$word2"; then
-        ac_var_match_word="yes"
-      fi
-    done
-  done
-])
-
-
-dnl CARES_VAR_MATCH_IFELSE (VARNAME, VALUE,
-dnl                        [ACTION-IF-MATCH], [ACTION-IF-NOT-MATCH])
-dnl -------------------------------------------------
-dnl This performs a CURL_VAR_MATCH check and executes
-dnl first branch if the match is positive, otherwise
-dnl the second branch is executed.
-
-AC_DEFUN([CARES_VAR_MATCH_IFELSE], [
-  CARES_VAR_MATCH([$1],[$2])
-  if test "$ac_var_match_word" = "yes"; then
-  ifelse($3,,:,[$3])
-  ifelse($4,,,[else
-    $4])
-  fi
-])
-
-
-dnl CARES_VAR_STRIP (VARNAME, VALUE)
-dnl -------------------------------------------------
-dnl Contents of variable VARNAME and VALUE are handled
-dnl as whitespace separated lists of words. Each word
-dnl from VALUE is removed from VARNAME when present.
-
-AC_DEFUN([CARES_VAR_STRIP], [
-  AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
-  ac_var_stripped=""
-  for word1 in $[$1]; do
-    ac_var_strip_word="no"
-    for word2 in [$2]; do
-      if test "$word1" = "$word2"; then
-        ac_var_strip_word="yes"
-      fi
-    done
-    if test "$ac_var_strip_word" = "no"; then
-      ac_var_stripped="$ac_var_stripped $word1"
-    fi
-  done
-  dnl squeeze whitespace out of result
-  [$1]="$ac_var_stripped"
-  squeeze [$1]
-])
-
diff --git a/ares/m4/cares-confopts.m4 b/ares/m4/cares-confopts.m4
deleted file mode 100644 (file)
index 438f9cd..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-#***************************************************************************
-# $Id$
-#
-# Copyright (C) 2008 - 2009 by Daniel Stenberg et al
-#
-# Permission to use, copy, modify, and distribute this software and its
-# documentation for any purpose and without fee is hereby granted, provided
-# that the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-#***************************************************************************
-
-# File version for 'aclocal' use. Keep it a single number.
-# serial 8
-
-
-dnl CARES_CHECK_OPTION_CURLDEBUG
-dnl -------------------------------------------------
-dnl Verify if configure has been invoked with option
-dnl --enable-curldebug or --disable-curldebug, and set
-dnl shell variable want_curldebug value as appropriate.
-
-AC_DEFUN([CARES_CHECK_OPTION_CURLDEBUG], [
-  AC_BEFORE([$0],[CARES_CHECK_CURLDEBUG])dnl
-  AC_MSG_CHECKING([whether to enable curl debug memory tracking])
-  OPT_CURLDEBUG_BUILD="default"
-  AC_ARG_ENABLE(curldebug,
-AC_HELP_STRING([--enable-curldebug],[Enable curl debug memory tracking])
-AC_HELP_STRING([--disable-curldebug],[Disable curl debug memory tracking]),
-  OPT_CURLDEBUG_BUILD=$enableval)
-  case "$OPT_CURLDEBUG_BUILD" in
-    no)
-      dnl --disable-curldebug option used
-      want_curldebug="no"
-      ;;
-    default)
-      dnl configure option not specified
-      want_curldebug="no"
-      ;;
-    *)
-      dnl --enable-curldebug option used.
-      dnl The use of this option value is a request to enable curl's
-      dnl debug memory tracking for the c-ares library. This is a big
-      dnl hack that can only be done when a whole bunch of requisites
-      dnl are simultaneously satisfied. Later on, these requisites are
-      dnl verified and if they are not fully satisfied the option will
-      dnl be ignored and act as if --disable-curldebug had been given
-      dnl setting shell variable want_curldebug to 'no'.
-      want_curldebug="yes"
-      ;;
-  esac
-  AC_MSG_RESULT([$want_curldebug])
-])
-
-
-dnl CARES_CHECK_OPTION_DEBUG
-dnl -------------------------------------------------
-dnl Verify if configure has been invoked with option
-dnl --enable-debug or --disable-debug, and set shell
-dnl variable want_debug value as appropriate.
-
-AC_DEFUN([CARES_CHECK_OPTION_DEBUG], [
-  AC_BEFORE([$0],[CARES_CHECK_OPTION_WARNINGS])dnl
-  AC_BEFORE([$0],[CARES_CHECK_OPTION_CURLDEBUG])dnl
-  AC_BEFORE([$0],[CARES_CHECK_PROG_CC])dnl
-  AC_MSG_CHECKING([whether to enable debug build options])
-  OPT_DEBUG_BUILD="default"
-  AC_ARG_ENABLE(debug,
-AC_HELP_STRING([--enable-debug],[Enable debug build options])
-AC_HELP_STRING([--disable-debug],[Disable debug build options]),
-  OPT_DEBUG_BUILD=$enableval)
-  case "$OPT_DEBUG_BUILD" in
-    no)
-      dnl --disable-debug option used
-      want_debug="no"
-      ;;
-    default)
-      dnl configure option not specified
-      want_debug="no"
-      ;;
-    *)
-      dnl --enable-debug option used
-      want_debug="yes"
-      ;;
-  esac
-  AC_MSG_RESULT([$want_debug])
-])
-
-
-dnl CARES_CHECK_OPTION_NONBLOCKING
-dnl -------------------------------------------------
-dnl Verify if configure has been invoked with option
-dnl --enable-nonblocking or --disable-nonblocking, and
-dnl set shell variable want_nonblocking as appropriate.
-
-AC_DEFUN([CARES_CHECK_OPTION_NONBLOCKING], [
-  AC_BEFORE([$0],[CARES_CHECK_NONBLOCKING_SOCKET])dnl
-  AC_MSG_CHECKING([whether to enable non-blocking communications])
-  OPT_NONBLOCKING="default"
-  AC_ARG_ENABLE(nonblocking,
-AC_HELP_STRING([--enable-nonblocking],[Enable non-blocking communications])
-AC_HELP_STRING([--disable-nonblocking],[Disable non-blocking communications]),
-  OPT_NONBLOCKING=$enableval)
-  case "$OPT_NONBLOCKING" in
-    no)
-      dnl --disable-nonblocking option used
-      want_nonblocking="no"
-      ;;
-    default)
-      dnl configure option not specified
-      want_nonblocking="yes"
-      ;;
-    *)
-      dnl --enable-nonblocking option used
-      want_nonblocking="yes"
-      ;;
-  esac
-  AC_MSG_RESULT([$want_nonblocking])
-])
-
-
-dnl CARES_CHECK_OPTION_OPTIMIZE
-dnl -------------------------------------------------
-dnl Verify if configure has been invoked with option
-dnl --enable-optimize or --disable-optimize, and set
-dnl shell variable want_optimize value as appropriate.
-
-AC_DEFUN([CARES_CHECK_OPTION_OPTIMIZE], [
-  AC_REQUIRE([CARES_CHECK_OPTION_DEBUG])dnl
-  AC_BEFORE([$0],[CARES_CHECK_PROG_CC])dnl
-  AC_MSG_CHECKING([whether to enable compiler optimizer])
-  OPT_COMPILER_OPTIMIZE="default"
-  AC_ARG_ENABLE(optimize,
-AC_HELP_STRING([--enable-optimize(=OPT)],[Enable compiler optimizations (default=-O2)])
-AC_HELP_STRING([--disable-optimize],[Disable compiler optimizations]),
-  OPT_COMPILER_OPTIMIZE=$enableval)
-  case "$OPT_COMPILER_OPTIMIZE" in
-    no)
-      dnl --disable-optimize option used. We will handle this as
-      dnl a request to disable compiler optimizations if possible.
-      dnl If the compiler is known CFLAGS and CPPFLAGS will be
-      dnl overridden, otherwise this can not be honored.
-      want_optimize="no"
-      AC_MSG_RESULT([no])
-      ;;
-    default)
-      dnl configure's optimize option not specified. Initially we will
-      dnl handle this as a a request contrary to configure's setting
-      dnl for --enable-debug. IOW, initially, for debug-enabled builds
-      dnl this will be handled as a request to disable optimizations if
-      dnl possible, and for debug-disabled builds this will be handled
-      dnl initially as a request to enable optimizations if possible.
-      dnl Finally, if the compiler is known and CFLAGS and CPPFLAGS do
-      dnl not have any optimizer flag the request will be honored, in
-      dnl any other case the request can not be honored.
-      dnl IOW, existing optimizer flags defined in CFLAGS or CPPFLAGS
-      dnl will always take precedence over any initial assumption.
-      if test "$want_debug" = "yes"; then
-        want_optimize="assume_no"
-        AC_MSG_RESULT([not specified (assuming no)])
-      else
-        want_optimize="assume_yes"
-        AC_MSG_RESULT([not specified (assuming yes)])
-      fi
-      ;;
-    *)
-      dnl --enable-optimize option used. We will handle this as
-      dnl a request to enable compiler optimizations if possible.
-      dnl If the compiler is known CFLAGS and CPPFLAGS will be
-      dnl overridden, otherwise this can not be honored.
-      want_optimize="yes"
-      AC_MSG_RESULT([yes])
-      ;;
-  esac
-])
-
-
-dnl CARES_CHECK_OPTION_SYMBOL_HIDING
-dnl -------------------------------------------------
-dnl Verify if configure has been invoked with option
-dnl --enable-symbol-hiding or --disable-symbol-hiding,
-dnl setting shell variable want_symbol_hiding value.
-
-AC_DEFUN([CARES_CHECK_OPTION_SYMBOL_HIDING], [
-  AC_BEFORE([$0],[CARES_CHECK_COMPILER_SYMBOL_HIDING])dnl
-  AC_MSG_CHECKING([whether to enable hiding of library internal symbols])
-  OPT_SYMBOL_HIDING="default"
-  AC_ARG_ENABLE(symbol-hiding,
-AC_HELP_STRING([--enable-symbol-hiding],[Enable hiding of library internal symbols])
-AC_HELP_STRING([--disable-symbol-hiding],[Disable hiding of library internal symbols]),
-  OPT_SYMBOL_HIDING=$enableval)
-  case "$OPT_SYMBOL_HIDING" in
-    no)
-      dnl --disable-symbol-hiding option used.
-      dnl This is an indication to not attempt hiding of library internal
-      dnl symbols. Default symbol visibility will be used, which normally
-      dnl exposes all library internal symbols.
-      want_symbol_hiding="no"
-      AC_MSG_RESULT([no])
-      ;;
-    default)
-      dnl configure's symbol-hiding option not specified.
-      dnl Handle this as if --enable-symbol-hiding option was given.
-      want_symbol_hiding="yes"
-      AC_MSG_RESULT([yes])
-      ;;
-    *)
-      dnl --enable-symbol-hiding option used.
-      dnl This is an indication to attempt hiding of library internal
-      dnl symbols. This is only supported on some compilers/linkers.
-      want_symbol_hiding="yes"
-      AC_MSG_RESULT([yes])
-      ;;
-  esac
-])
-
-
-dnl CARES_CHECK_OPTION_WARNINGS
-dnl -------------------------------------------------
-dnl Verify if configure has been invoked with option
-dnl --enable-warnings or --disable-warnings, and set
-dnl shell variable want_warnings as appropriate.
-
-AC_DEFUN([CARES_CHECK_OPTION_WARNINGS], [
-  AC_REQUIRE([CARES_CHECK_OPTION_DEBUG])dnl
-  AC_BEFORE([$0],[CARES_CHECK_PROG_CC])dnl
-  AC_MSG_CHECKING([whether to enable strict compiler warnings])
-  OPT_COMPILER_WARNINGS="default"
-  AC_ARG_ENABLE(warnings,
-AC_HELP_STRING([--enable-warnings],[Enable strict compiler warnings])
-AC_HELP_STRING([--disable-warnings],[Disable strict compiler warnings]),
-  OPT_COMPILER_WARNINGS=$enableval)
-  case "$OPT_COMPILER_WARNINGS" in
-    no)
-      dnl --disable-warnings option used
-      want_warnings="no"
-      ;;
-    default)
-      dnl configure option not specified, so
-      dnl use same setting as --enable-debug
-      want_warnings="$want_debug"
-      ;;
-    *)
-      dnl --enable-warnings option used
-      want_warnings="yes"
-      ;;
-  esac
-  AC_MSG_RESULT([$want_warnings])
-])
-
-
-dnl CARES_CHECK_NONBLOCKING_SOCKET
-dnl -------------------------------------------------
-dnl Check for how to set a socket into non-blocking state.
-
-AC_DEFUN([CARES_CHECK_NONBLOCKING_SOCKET], [
-  AC_REQUIRE([CARES_CHECK_OPTION_NONBLOCKING])dnl
-  AC_REQUIRE([CARES_CHECK_FUNC_FCNTL])dnl
-  AC_REQUIRE([CARES_CHECK_FUNC_IOCTL])dnl
-  AC_REQUIRE([CARES_CHECK_FUNC_IOCTLSOCKET])dnl
-  AC_REQUIRE([CARES_CHECK_FUNC_IOCTLSOCKET_CAMEL])dnl
-  AC_REQUIRE([CARES_CHECK_FUNC_SETSOCKOPT])dnl
-  #
-  tst_method="unknown"
-  if test "$want_nonblocking" = "yes"; then
-    AC_MSG_CHECKING([how to set a socket into non-blocking mode])
-    if test "x$ac_cv_func_fcntl_o_nonblock" = "xyes"; then
-      tst_method="fcntl O_NONBLOCK"
-    elif test "x$ac_cv_func_ioctl_fionbio" = "xyes"; then
-      tst_method="ioctl FIONBIO"
-    elif test "x$ac_cv_func_ioctlsocket_fionbio" = "xyes"; then
-      tst_method="ioctlsocket FIONBIO"
-    elif test "x$ac_cv_func_ioctlsocket_camel_fionbio" = "xyes"; then
-      tst_method="IoctlSocket FIONBIO"
-    elif test "x$ac_cv_func_setsockopt_so_nonblock" = "xyes"; then
-      tst_method="setsockopt SO_NONBLOCK"
-    fi
-    AC_MSG_RESULT([$tst_method])
-    if test "$tst_method" = "unknown"; then
-      AC_MSG_WARN([cannot determine non-blocking socket method.])
-    fi
-  fi
-  if test "$tst_method" = "unknown"; then
-    AC_DEFINE_UNQUOTED(USE_BLOCKING_SOCKETS, 1,
-      [Define to disable non-blocking sockets.])
-    AC_MSG_WARN([non-blocking sockets disabled.])
-  fi
-])
-
-
-dnl CARES_CONFIGURE_SYMBOL_HIDING
-dnl -------------------------------------------------
-dnl Depending on --enable-symbol-hiding or --disable-symbol-hiding
-dnl configure option, and compiler capability to actually honor such
-dnl option, this will modify compiler flags as appropriate and also
-dnl provide needed definitions for configuration file.
-dnl This macro should not be used until all compilation tests have
-dnl been done to prevent interferences on other tests.
-
-AC_DEFUN([CARES_CONFIGURE_SYMBOL_HIDING], [
-  AC_MSG_CHECKING([whether hiding of library internal symbols will actually happen])
-  if test x"$ac_cv_native_windows" != "xyes" &&
-    test "$want_symbol_hiding" = "yes" &&
-    test "$supports_symbol_hiding" = "yes"; then
-    CFLAGS="$CFLAGS $symbol_hiding_CFLAGS"
-    AC_DEFINE_UNQUOTED(CARES_SYMBOL_HIDING, 1,
-      [Define to 1 to enable hiding of library internal symbols.])
-    AC_DEFINE_UNQUOTED(CARES_SYMBOL_SCOPE_EXTERN, $symbol_hiding_EXTERN,
-      [Definition to make a library symbol externally visible.])
-    AC_MSG_RESULT([yes])
-  else
-    AC_MSG_RESULT([no])
-  fi
-])
-
diff --git a/ares/m4/cares-functions.m4 b/ares/m4/cares-functions.m4
deleted file mode 100644 (file)
index f847788..0000000
+++ /dev/null
@@ -1,3235 +0,0 @@
-#***************************************************************************
-# $Id$
-#
-# Copyright (C) 2008 - 2009 by Daniel Stenberg et al
-#
-# Permission to use, copy, modify, and distribute this software and its
-# documentation for any purpose and without fee is hereby granted, provided
-# that the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-#***************************************************************************
-
-# File version for 'aclocal' use. Keep it a single number.
-# serial 39
-
-
-dnl CARES_INCLUDES_ARPA_INET
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when arpa/inet.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_ARPA_INET], [
-cares_includes_arpa_inet="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#  include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#  include <arpa/inet.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h sys/socket.h netinet/in.h arpa/inet.h,
-    [], [], [$cares_includes_arpa_inet])
-])
-
-
-dnl CARES_INCLUDES_FCNTL
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when fcntl.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_FCNTL], [
-cares_includes_fcntl="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#  include <fcntl.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h unistd.h fcntl.h,
-    [], [], [$cares_includes_fcntl])
-])
-
-
-dnl CARES_INCLUDES_NETDB
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when netdb.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_NETDB], [
-cares_includes_netdb="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_NETDB_H
-#  include <netdb.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h netdb.h,
-    [], [], [$cares_includes_netdb])
-])
-
-
-dnl CARES_INCLUDES_SOCKET
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when socket.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_SOCKET], [
-cares_includes_socket="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_SOCKET_H
-#  include <socket.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h socket.h,
-    [], [], [$cares_includes_socket])
-])
-
-
-dnl CARES_INCLUDES_STDLIB
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when stdlib.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_STDLIB], [
-cares_includes_stdlib="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h stdlib.h,
-    [], [], [$cares_includes_stdlib])
-])
-
-
-dnl CARES_INCLUDES_STRING
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when string(s).h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_STRING], [
-cares_includes_string="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_STRING_H
-#  include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h string.h strings.h,
-    [], [], [$cares_includes_string])
-])
-
-
-dnl CARES_INCLUDES_STROPTS
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when stropts.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_STROPTS], [
-cares_includes_stropts="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#  include <sys/ioctl.h>
-#endif
-#ifdef HAVE_STROPTS_H
-#  include <stropts.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h unistd.h sys/socket.h sys/ioctl.h stropts.h,
-    [], [], [$cares_includes_stropts])
-])
-
-
-dnl CARES_INCLUDES_SYS_SOCKET
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when sys/socket.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_SYS_SOCKET], [
-cares_includes_sys_socket="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#  include <sys/socket.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h sys/socket.h,
-    [], [], [$cares_includes_sys_socket])
-])
-
-
-dnl CARES_INCLUDES_SYS_TYPES
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when sys/types.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_SYS_TYPES], [
-cares_includes_sys_types="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h,
-    [], [], [$cares_includes_sys_types])
-])
-
-
-dnl CARES_INCLUDES_SYS_UIO
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when sys/uio.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_SYS_UIO], [
-cares_includes_sys_uio="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_UIO_H
-#  include <sys/uio.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h sys/uio.h,
-    [], [], [$cares_includes_sys_uio])
-])
-
-
-dnl CARES_INCLUDES_UNISTD
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when unistd.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_UNISTD], [
-cares_includes_unistd="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-#endif
-/* includes end */"
-  AC_CHECK_HEADERS(
-    sys/types.h unistd.h,
-    [], [], [$cares_includes_unistd])
-])
-
-
-dnl CARES_INCLUDES_WINSOCK2
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when winsock(2).h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_WINSOCK2], [
-cares_includes_winsock2="\
-/* includes start */
-#ifdef HAVE_WINDOWS_H
-#  ifndef WIN32_LEAN_AND_MEAN
-#    define WIN32_LEAN_AND_MEAN
-#  endif
-#  include <windows.h>
-#  ifdef HAVE_WINSOCK2_H
-#    include <winsock2.h>
-#  else
-#    ifdef HAVE_WINSOCK_H
-#      include <winsock.h>
-#    endif
-#  endif
-#endif
-/* includes end */"
-  CURL_CHECK_HEADER_WINDOWS
-  CURL_CHECK_HEADER_WINSOCK
-  CURL_CHECK_HEADER_WINSOCK2
-])
-
-
-dnl CARES_INCLUDES_WS2TCPIP
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when ws2tcpip.h is to be included.
-
-AC_DEFUN([CARES_INCLUDES_WS2TCPIP], [
-cares_includes_ws2tcpip="\
-/* includes start */
-#ifdef HAVE_WINDOWS_H
-#  ifndef WIN32_LEAN_AND_MEAN
-#    define WIN32_LEAN_AND_MEAN
-#  endif
-#  include <windows.h>
-#  ifdef HAVE_WINSOCK2_H
-#    include <winsock2.h>
-#    ifdef HAVE_WS2TCPIP_H
-#       include <ws2tcpip.h>
-#    endif
-#  endif
-#endif
-/* includes end */"
-  CURL_CHECK_HEADER_WINDOWS
-  CURL_CHECK_HEADER_WINSOCK2
-  CURL_CHECK_HEADER_WS2TCPIP
-])
-
-
-dnl CARES_PREPROCESS_CALLCONV
-dnl -------------------------------------------------
-dnl Set up variable with a preprocessor block which
-dnl defines function calling convention.
-
-AC_DEFUN([CARES_PREPROCESS_CALLCONV], [
-cares_preprocess_callconv="\
-/* preprocess start */
-#ifdef HAVE_WINDOWS_H
-#  define FUNCALLCONV __stdcall
-#else
-#  define FUNCALLCONV
-#endif
-/* preprocess end */"
-])
-
-
-dnl CARES_CHECK_FUNC_CLOSESOCKET
-dnl -------------------------------------------------
-dnl Verify if closesocket is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_closesocket, then
-dnl HAVE_CLOSESOCKET will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_CLOSESOCKET], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  AC_REQUIRE([CARES_INCLUDES_SOCKET])dnl
-  #
-  tst_links_closesocket="unknown"
-  tst_proto_closesocket="unknown"
-  tst_compi_closesocket="unknown"
-  tst_allow_closesocket="unknown"
-  #
-  AC_MSG_CHECKING([if closesocket can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_winsock2
-      $cares_includes_socket
-    ]],[[
-      if(0 != closesocket(0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_closesocket="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_closesocket="no"
-  ])
-  #
-  if test "$tst_links_closesocket" = "yes"; then
-    AC_MSG_CHECKING([if closesocket is prototyped])
-    AC_EGREP_CPP([closesocket],[
-      $cares_includes_winsock2
-      $cares_includes_socket
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_closesocket="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_closesocket="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_closesocket" = "yes"; then
-    AC_MSG_CHECKING([if closesocket is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-        $cares_includes_socket
-      ]],[[
-        if(0 != closesocket(0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_closesocket="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_closesocket="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_closesocket" = "yes"; then
-    AC_MSG_CHECKING([if closesocket usage allowed])
-    if test "x$cares_disallow_closesocket" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_closesocket="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_closesocket="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if closesocket might be used])
-  if test "$tst_links_closesocket" = "yes" &&
-     test "$tst_proto_closesocket" = "yes" &&
-     test "$tst_compi_closesocket" = "yes" &&
-     test "$tst_allow_closesocket" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_CLOSESOCKET, 1,
-      [Define to 1 if you have the closesocket function.])
-    ac_cv_func_closesocket="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_closesocket="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_CLOSESOCKET_CAMEL
-dnl -------------------------------------------------
-dnl Verify if CloseSocket is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_closesocket_camel,
-dnl then HAVE_CLOSESOCKET_CAMEL will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_CLOSESOCKET_CAMEL], [
-  AC_REQUIRE([CARES_INCLUDES_SYS_SOCKET])dnl
-  #
-  tst_links_closesocket_camel="unknown"
-  tst_proto_closesocket_camel="unknown"
-  tst_compi_closesocket_camel="unknown"
-  tst_allow_closesocket_camel="unknown"
-  #
-  AC_MSG_CHECKING([if CloseSocket can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_sys_socket
-    ]],[[
-      if(0 != CloseSocket(0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_closesocket_camel="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_closesocket_camel="no"
-  ])
-  #
-  if test "$tst_links_closesocket_camel" = "yes"; then
-    AC_MSG_CHECKING([if CloseSocket is prototyped])
-    AC_EGREP_CPP([CloseSocket],[
-      $cares_includes_sys_socket
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_closesocket_camel="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_closesocket_camel="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_closesocket_camel" = "yes"; then
-    AC_MSG_CHECKING([if CloseSocket is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_sys_socket
-      ]],[[
-        if(0 != CloseSocket(0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_closesocket_camel="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_closesocket_camel="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_closesocket_camel" = "yes"; then
-    AC_MSG_CHECKING([if CloseSocket usage allowed])
-    if test "x$cares_disallow_closesocket_camel" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_closesocket_camel="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_closesocket_camel="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if CloseSocket might be used])
-  if test "$tst_links_closesocket_camel" = "yes" &&
-     test "$tst_proto_closesocket_camel" = "yes" &&
-     test "$tst_compi_closesocket_camel" = "yes" &&
-     test "$tst_allow_closesocket_camel" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_CLOSESOCKET_CAMEL, 1,
-      [Define to 1 if you have the CloseSocket camel case function.])
-    ac_cv_func_closesocket_camel="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_closesocket_camel="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_CONNECT
-dnl -------------------------------------------------
-dnl Verify if connect is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_connect, then
-dnl HAVE_CONNECT will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_CONNECT], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  AC_REQUIRE([CARES_INCLUDES_SYS_SOCKET])dnl
-  AC_REQUIRE([CARES_INCLUDES_SOCKET])dnl
-  #
-  tst_links_connect="unknown"
-  tst_proto_connect="unknown"
-  tst_compi_connect="unknown"
-  tst_allow_connect="unknown"
-  #
-  AC_MSG_CHECKING([if connect can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_winsock2
-      $cares_includes_sys_socket
-      $cares_includes_socket
-    ]],[[
-      if(0 != connect(0, 0, 0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_connect="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_connect="no"
-  ])
-  #
-  if test "$tst_links_connect" = "yes"; then
-    AC_MSG_CHECKING([if connect is prototyped])
-    AC_EGREP_CPP([connect],[
-      $cares_includes_winsock2
-      $cares_includes_sys_socket
-      $cares_includes_socket
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_connect="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_connect="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_connect" = "yes"; then
-    AC_MSG_CHECKING([if connect is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-        $cares_includes_sys_socket
-        $cares_includes_socket
-      ]],[[
-        if(0 != connect(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_connect="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_connect="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_connect" = "yes"; then
-    AC_MSG_CHECKING([if connect usage allowed])
-    if test "x$cares_disallow_connect" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_connect="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_connect="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if connect might be used])
-  if test "$tst_links_connect" = "yes" &&
-     test "$tst_proto_connect" = "yes" &&
-     test "$tst_compi_connect" = "yes" &&
-     test "$tst_allow_connect" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_CONNECT, 1,
-      [Define to 1 if you have the connect function.])
-    ac_cv_func_connect="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_connect="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_FCNTL
-dnl -------------------------------------------------
-dnl Verify if fcntl is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_fcntl, then
-dnl HAVE_FCNTL will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_FCNTL], [
-  AC_REQUIRE([CARES_INCLUDES_FCNTL])dnl
-  #
-  tst_links_fcntl="unknown"
-  tst_proto_fcntl="unknown"
-  tst_compi_fcntl="unknown"
-  tst_allow_fcntl="unknown"
-  #
-  AC_MSG_CHECKING([if fcntl can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([fcntl])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_fcntl="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_fcntl="no"
-  ])
-  #
-  if test "$tst_links_fcntl" = "yes"; then
-    AC_MSG_CHECKING([if fcntl is prototyped])
-    AC_EGREP_CPP([fcntl],[
-      $cares_includes_fcntl
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_fcntl="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_fcntl="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_fcntl" = "yes"; then
-    AC_MSG_CHECKING([if fcntl is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_fcntl
-      ]],[[
-        if(0 != fcntl(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_fcntl="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_fcntl="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_fcntl" = "yes"; then
-    AC_MSG_CHECKING([if fcntl usage allowed])
-    if test "x$cares_disallow_fcntl" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_fcntl="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_fcntl="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if fcntl might be used])
-  if test "$tst_links_fcntl" = "yes" &&
-     test "$tst_proto_fcntl" = "yes" &&
-     test "$tst_compi_fcntl" = "yes" &&
-     test "$tst_allow_fcntl" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_FCNTL, 1,
-      [Define to 1 if you have the fcntl function.])
-    ac_cv_func_fcntl="yes"
-    CARES_CHECK_FUNC_FCNTL_O_NONBLOCK
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_fcntl="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_FCNTL_O_NONBLOCK
-dnl -------------------------------------------------
-dnl Verify if fcntl with status flag O_NONBLOCK is
-dnl available, can be compiled, and seems to work. If
-dnl all of these are true, then HAVE_FCNTL_O_NONBLOCK
-dnl will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_FCNTL_O_NONBLOCK], [
-  #
-  tst_compi_fcntl_o_nonblock="unknown"
-  tst_allow_fcntl_o_nonblock="unknown"
-  #
-  case $host_os in
-    sunos4* | aix3* | beos*)
-      dnl O_NONBLOCK does not work on these platforms
-      cares_disallow_fcntl_o_nonblock="yes"
-      ;;
-  esac
-  #
-  if test "$ac_cv_func_fcntl" = "yes"; then
-    AC_MSG_CHECKING([if fcntl O_NONBLOCK is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_fcntl
-      ]],[[
-        int flags = 0;
-        if(0 != fcntl(0, F_SETFL, flags | O_NONBLOCK))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_fcntl_o_nonblock="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_fcntl_o_nonblock="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_fcntl_o_nonblock" = "yes"; then
-    AC_MSG_CHECKING([if fcntl O_NONBLOCK usage allowed])
-    if test "x$cares_disallow_fcntl_o_nonblock" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_fcntl_o_nonblock="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_fcntl_o_nonblock="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if fcntl O_NONBLOCK might be used])
-  if test "$tst_compi_fcntl_o_nonblock" = "yes" &&
-     test "$tst_allow_fcntl_o_nonblock" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_FCNTL_O_NONBLOCK, 1,
-      [Define to 1 if you have a working fcntl O_NONBLOCK function.])
-    ac_cv_func_fcntl_o_nonblock="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_fcntl_o_nonblock="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_FREEADDRINFO
-dnl -------------------------------------------------
-dnl Verify if freeaddrinfo is available, prototyped,
-dnl and can be compiled. If all of these are true,
-dnl and usage has not been previously disallowed with
-dnl shell variable cares_disallow_freeaddrinfo, then
-dnl HAVE_FREEADDRINFO will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_FREEADDRINFO], [
-  AC_REQUIRE([CARES_INCLUDES_WS2TCPIP])dnl
-  AC_REQUIRE([CARES_INCLUDES_SYS_SOCKET])dnl
-  AC_REQUIRE([CARES_INCLUDES_NETDB])dnl
-  #
-  tst_links_freeaddrinfo="unknown"
-  tst_proto_freeaddrinfo="unknown"
-  tst_compi_freeaddrinfo="unknown"
-  tst_allow_freeaddrinfo="unknown"
-  #
-  AC_MSG_CHECKING([if freeaddrinfo can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_ws2tcpip
-      $cares_includes_sys_socket
-      $cares_includes_netdb
-    ]],[[
-      freeaddrinfo(0);
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_freeaddrinfo="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_freeaddrinfo="no"
-  ])
-  #
-  if test "$tst_links_freeaddrinfo" = "yes"; then
-    AC_MSG_CHECKING([if freeaddrinfo is prototyped])
-    AC_EGREP_CPP([freeaddrinfo],[
-      $cares_includes_ws2tcpip
-      $cares_includes_sys_socket
-      $cares_includes_netdb
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_freeaddrinfo="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_freeaddrinfo="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_freeaddrinfo" = "yes"; then
-    AC_MSG_CHECKING([if freeaddrinfo is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_ws2tcpip
-        $cares_includes_sys_socket
-        $cares_includes_netdb
-      ]],[[
-        freeaddrinfo(0);
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_freeaddrinfo="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_freeaddrinfo="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_freeaddrinfo" = "yes"; then
-    AC_MSG_CHECKING([if freeaddrinfo usage allowed])
-    if test "x$cares_disallow_freeaddrinfo" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_freeaddrinfo="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_freeaddrinfo="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if freeaddrinfo might be used])
-  if test "$tst_links_freeaddrinfo" = "yes" &&
-     test "$tst_proto_freeaddrinfo" = "yes" &&
-     test "$tst_compi_freeaddrinfo" = "yes" &&
-     test "$tst_allow_freeaddrinfo" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_FREEADDRINFO, 1,
-      [Define to 1 if you have the freeaddrinfo function.])
-    ac_cv_func_freeaddrinfo="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_freeaddrinfo="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_GETADDRINFO
-dnl -------------------------------------------------
-dnl Verify if getaddrinfo is available, prototyped, can
-dnl be compiled and seems to work. If all of these are
-dnl true, and usage has not been previously disallowed
-dnl with shell variable cares_disallow_getaddrinfo, then
-dnl HAVE_GETADDRINFO will be defined. Additionally when
-dnl HAVE_GETADDRINFO gets defined this will also attempt
-dnl to find out if getaddrinfo happens to be threadsafe,
-dnl defining HAVE_GETADDRINFO_THREADSAFE when true.
-
-AC_DEFUN([CARES_CHECK_FUNC_GETADDRINFO], [
-  AC_REQUIRE([CARES_INCLUDES_WS2TCPIP])dnl
-  AC_REQUIRE([CARES_INCLUDES_STDLIB])dnl
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  AC_REQUIRE([CARES_INCLUDES_SYS_SOCKET])dnl
-  AC_REQUIRE([CARES_INCLUDES_NETDB])dnl
-  #
-  tst_links_getaddrinfo="unknown"
-  tst_proto_getaddrinfo="unknown"
-  tst_compi_getaddrinfo="unknown"
-  tst_works_getaddrinfo="unknown"
-  tst_allow_getaddrinfo="unknown"
-  tst_tsafe_getaddrinfo="unknown"
-  #
-  AC_MSG_CHECKING([if getaddrinfo can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_ws2tcpip
-      $cares_includes_sys_socket
-      $cares_includes_netdb
-    ]],[[
-      if(0 != getaddrinfo(0, 0, 0, 0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_getaddrinfo="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_getaddrinfo="no"
-  ])
-  #
-  if test "$tst_links_getaddrinfo" = "yes"; then
-    AC_MSG_CHECKING([if getaddrinfo is prototyped])
-    AC_EGREP_CPP([getaddrinfo],[
-      $cares_includes_ws2tcpip
-      $cares_includes_sys_socket
-      $cares_includes_netdb
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_getaddrinfo="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_getaddrinfo="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_getaddrinfo" = "yes"; then
-    AC_MSG_CHECKING([if getaddrinfo is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_ws2tcpip
-        $cares_includes_sys_socket
-        $cares_includes_netdb
-      ]],[[
-        if(0 != getaddrinfo(0, 0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_getaddrinfo="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_getaddrinfo="no"
-    ])
-  fi
-  #
-  dnl only do runtime verification when not cross-compiling
-  if test "x$cross_compiling" != "xyes" &&
-    test "$tst_compi_getaddrinfo" = "yes"; then
-    AC_MSG_CHECKING([if getaddrinfo seems to work])
-    AC_RUN_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_ws2tcpip
-        $cares_includes_stdlib
-        $cares_includes_string
-        $cares_includes_sys_socket
-        $cares_includes_netdb
-      ]],[[
-        struct addrinfo hints;
-        struct addrinfo *ai = 0;
-        int error;
-
-        memset(&hints, 0, sizeof(hints));
-        hints.ai_flags = AI_NUMERICHOST;
-        hints.ai_family = AF_UNSPEC;
-        hints.ai_socktype = SOCK_STREAM;
-        error = getaddrinfo("127.0.0.1", 0, &hints, &ai);
-        if(error || !ai)
-          exit(1); /* fail */
-        else
-          exit(0);
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_works_getaddrinfo="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_works_getaddrinfo="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_getaddrinfo" = "yes" &&
-    test "$tst_works_getaddrinfo" != "no"; then
-    AC_MSG_CHECKING([if getaddrinfo usage allowed])
-    if test "x$cares_disallow_getaddrinfo" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_getaddrinfo="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_getaddrinfo="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if getaddrinfo might be used])
-  if test "$tst_links_getaddrinfo" = "yes" &&
-     test "$tst_proto_getaddrinfo" = "yes" &&
-     test "$tst_compi_getaddrinfo" = "yes" &&
-     test "$tst_allow_getaddrinfo" = "yes" &&
-     test "$tst_works_getaddrinfo" != "no"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_GETADDRINFO, 1,
-      [Define to 1 if you have a working getaddrinfo function.])
-    ac_cv_func_getaddrinfo="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_getaddrinfo="no"
-    ac_cv_func_getaddrinfo_threadsafe="no"
-  fi
-  #
-  if test "$ac_cv_func_getaddrinfo" = "yes"; then
-    AC_MSG_CHECKING([if getaddrinfo is threadsafe])
-    case $host_os in
-      aix[[1234]].* | aix5.[[01]].*)
-        dnl aix 5.1 and older
-        tst_tsafe_getaddrinfo="no"
-        ;;
-      aix*)
-        dnl aix 5.2 and newer
-        tst_tsafe_getaddrinfo="yes"
-        ;;
-      darwin[[12345]].*)
-        dnl darwin 5.0 and mac os x 10.1.X and older
-        tst_tsafe_getaddrinfo="no"
-        ;;
-      darwin*)
-        dnl darwin 6.0 and mac os x 10.2.X and newer
-        tst_tsafe_getaddrinfo="yes"
-        ;;
-      freebsd[[1234]].* | freebsd5.[[1234]]*)
-        dnl freebsd 5.4 and older
-        tst_tsafe_getaddrinfo="no"
-        ;;
-      freebsd*)
-        dnl freebsd 5.5 and newer
-        tst_tsafe_getaddrinfo="yes"
-        ;;
-      hpux[[123456789]].* | hpux10.* | hpux11.0* | hpux11.10*)
-        dnl hpux 11.10 and older
-        tst_tsafe_getaddrinfo="no"
-        ;;
-      hpux*)
-        dnl hpux 11.11 and newer
-        tst_tsafe_getaddrinfo="yes"
-        ;;
-      netbsd[[123]].*)
-        dnl netbsd 3.X and older
-        tst_tsafe_getaddrinfo="no"
-        ;;
-      netbsd*)
-        dnl netbsd 4.X and newer
-        tst_tsafe_getaddrinfo="yes"
-        ;;
-      *bsd*)
-        dnl All other bsd's
-        tst_tsafe_getaddrinfo="no"
-        ;;
-      solaris2*)
-        dnl solaris which have it
-        tst_tsafe_getaddrinfo="yes"
-        ;;
-    esac
-    if test "$tst_tsafe_getaddrinfo" = "unknown"; then
-      CURL_CHECK_DEF_CC([h_errno], [
-        $cares_includes_ws2tcpip
-        $cares_includes_sys_socket
-        $cares_includes_netdb
-        ], [silent])
-      if test "$curl_cv_have_def_h_errno" = "no"; then
-        tst_tsafe_getaddrinfo="no"
-      fi
-    fi
-    if test "$tst_tsafe_getaddrinfo" = "unknown"; then
-      tst_tsafe_getaddrinfo="yes"
-    fi
-    AC_MSG_RESULT([$tst_tsafe_getaddrinfo])
-    if test "$tst_tsafe_getaddrinfo" = "yes"; then
-      AC_DEFINE_UNQUOTED(HAVE_GETADDRINFO_THREADSAFE, 1,
-        [Define to 1 if the getaddrinfo function is threadsafe.])
-      ac_cv_func_getaddrinfo_threadsafe="yes"
-    else
-      ac_cv_func_getaddrinfo_threadsafe="no"
-    fi
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_GETHOSTBYADDR
-dnl -------------------------------------------------
-dnl Verify if gethostbyaddr is available, prototyped,
-dnl and can be compiled. If all of these are true,
-dnl and usage has not been previously disallowed with
-dnl shell variable cares_disallow_gethostbyaddr, then
-dnl HAVE_GETHOSTBYADDR will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_GETHOSTBYADDR], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  AC_REQUIRE([CARES_INCLUDES_NETDB])dnl
-  #
-  tst_links_gethostbyaddr="unknown"
-  tst_proto_gethostbyaddr="unknown"
-  tst_compi_gethostbyaddr="unknown"
-  tst_allow_gethostbyaddr="unknown"
-  #
-  AC_MSG_CHECKING([if gethostbyaddr can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_winsock2
-      $cares_includes_netdb
-    ]],[[
-      if(0 != gethostbyaddr(0, 0, 0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_gethostbyaddr="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_gethostbyaddr="no"
-  ])
-  #
-  if test "$tst_links_gethostbyaddr" = "yes"; then
-    AC_MSG_CHECKING([if gethostbyaddr is prototyped])
-    AC_EGREP_CPP([gethostbyaddr],[
-      $cares_includes_winsock2
-      $cares_includes_netdb
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_gethostbyaddr="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_gethostbyaddr="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_gethostbyaddr" = "yes"; then
-    AC_MSG_CHECKING([if gethostbyaddr is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-        $cares_includes_netdb
-      ]],[[
-        if(0 != gethostbyaddr(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_gethostbyaddr="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_gethostbyaddr="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_gethostbyaddr" = "yes"; then
-    AC_MSG_CHECKING([if gethostbyaddr usage allowed])
-    if test "x$cares_disallow_gethostbyaddr" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_gethostbyaddr="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_gethostbyaddr="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if gethostbyaddr might be used])
-  if test "$tst_links_gethostbyaddr" = "yes" &&
-     test "$tst_proto_gethostbyaddr" = "yes" &&
-     test "$tst_compi_gethostbyaddr" = "yes" &&
-     test "$tst_allow_gethostbyaddr" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYADDR, 1,
-      [Define to 1 if you have the gethostbyaddr function.])
-    ac_cv_func_gethostbyaddr="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_gethostbyaddr="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_GETHOSTBYNAME
-dnl -------------------------------------------------
-dnl Verify if gethostbyname is available, prototyped,
-dnl and can be compiled. If all of these are true,
-dnl and usage has not been previously disallowed with
-dnl shell variable cares_disallow_gethostbyname, then
-dnl HAVE_GETHOSTBYNAME will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_GETHOSTBYNAME], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  AC_REQUIRE([CARES_INCLUDES_NETDB])dnl
-  #
-  tst_links_gethostbyname="unknown"
-  tst_proto_gethostbyname="unknown"
-  tst_compi_gethostbyname="unknown"
-  tst_allow_gethostbyname="unknown"
-  #
-  AC_MSG_CHECKING([if gethostbyname can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_winsock2
-      $cares_includes_netdb
-    ]],[[
-      if(0 != gethostbyname(0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_gethostbyname="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_gethostbyname="no"
-  ])
-  #
-  if test "$tst_links_gethostbyname" = "yes"; then
-    AC_MSG_CHECKING([if gethostbyname is prototyped])
-    AC_EGREP_CPP([gethostbyname],[
-      $cares_includes_winsock2
-      $cares_includes_netdb
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_gethostbyname="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_gethostbyname="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_gethostbyname" = "yes"; then
-    AC_MSG_CHECKING([if gethostbyname is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-        $cares_includes_netdb
-      ]],[[
-        if(0 != gethostbyname(0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_gethostbyname="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_gethostbyname="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_gethostbyname" = "yes"; then
-    AC_MSG_CHECKING([if gethostbyname usage allowed])
-    if test "x$cares_disallow_gethostbyname" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_gethostbyname="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_gethostbyname="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if gethostbyname might be used])
-  if test "$tst_links_gethostbyname" = "yes" &&
-     test "$tst_proto_gethostbyname" = "yes" &&
-     test "$tst_compi_gethostbyname" = "yes" &&
-     test "$tst_allow_gethostbyname" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYNAME, 1,
-      [Define to 1 if you have the gethostbyname function.])
-    ac_cv_func_gethostbyname="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_gethostbyname="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_GETHOSTNAME
-dnl -------------------------------------------------
-dnl Verify if gethostname is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_gethostname, then
-dnl HAVE_GETHOSTNAME will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_GETHOSTNAME], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  AC_REQUIRE([CARES_INCLUDES_UNISTD])dnl
-  #
-  tst_links_gethostname="unknown"
-  tst_proto_gethostname="unknown"
-  tst_compi_gethostname="unknown"
-  tst_allow_gethostname="unknown"
-  #
-  AC_MSG_CHECKING([if gethostname can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_winsock2
-      $cares_includes_unistd
-    ]],[[
-      if(0 != gethostname(0, 0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_gethostname="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_gethostname="no"
-  ])
-  #
-  if test "$tst_links_gethostname" = "yes"; then
-    AC_MSG_CHECKING([if gethostname is prototyped])
-    AC_EGREP_CPP([gethostname],[
-      $cares_includes_winsock2
-      $cares_includes_unistd
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_gethostname="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_gethostname="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_gethostname" = "yes"; then
-    AC_MSG_CHECKING([if gethostname is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-        $cares_includes_unistd
-      ]],[[
-        if(0 != gethostname(0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_gethostname="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_gethostname="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_gethostname" = "yes"; then
-    AC_MSG_CHECKING([if gethostname usage allowed])
-    if test "x$cares_disallow_gethostname" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_gethostname="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_gethostname="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if gethostname might be used])
-  if test "$tst_links_gethostname" = "yes" &&
-     test "$tst_proto_gethostname" = "yes" &&
-     test "$tst_compi_gethostname" = "yes" &&
-     test "$tst_allow_gethostname" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_GETHOSTNAME, 1,
-      [Define to 1 if you have the gethostname function.])
-    ac_cv_func_gethostname="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_gethostname="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_GETSERVBYPORT_R
-dnl -------------------------------------------------
-dnl Verify if getservbyport_r is available, prototyped,
-dnl and can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_getservbyport_r, then
-dnl HAVE_GETSERVBYPORT_R will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_GETSERVBYPORT_R], [
-  AC_REQUIRE([CARES_INCLUDES_NETDB])dnl
-  #
-  tst_links_getservbyport_r="unknown"
-  tst_proto_getservbyport_r="unknown"
-  tst_compi_getservbyport_r="unknown"
-  tst_allow_getservbyport_r="unknown"
-  tst_nargs_getservbyport_r="unknown"
-  #
-  AC_MSG_CHECKING([if getservbyport_r can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([getservbyport_r])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_getservbyport_r="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_getservbyport_r="no"
-  ])
-  #
-  if test "$tst_links_getservbyport_r" = "yes"; then
-    AC_MSG_CHECKING([if getservbyport_r is prototyped])
-    AC_EGREP_CPP([getservbyport_r],[
-      $cares_includes_netdb
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_getservbyport_r="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_getservbyport_r="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_getservbyport_r" = "yes"; then
-    if test "$tst_nargs_getservbyport_r" = "unknown"; then
-      AC_MSG_CHECKING([if getservbyport_r takes 4 args.])
-      AC_COMPILE_IFELSE([
-        AC_LANG_PROGRAM([[
-          $cares_includes_netdb
-        ]],[[
-          if(0 != getservbyport_r(0, 0, 0, 0))
-            return 1;
-        ]])
-      ],[
-        AC_MSG_RESULT([yes])
-        tst_compi_getservbyport_r="yes"
-        tst_nargs_getservbyport_r="4"
-      ],[
-        AC_MSG_RESULT([no])
-        tst_compi_getservbyport_r="no"
-      ])
-    fi
-    if test "$tst_nargs_getservbyport_r" = "unknown"; then
-      AC_MSG_CHECKING([if getservbyport_r takes 5 args.])
-      AC_COMPILE_IFELSE([
-        AC_LANG_PROGRAM([[
-          $cares_includes_netdb
-        ]],[[
-          if(0 != getservbyport_r(0, 0, 0, 0, 0))
-            return 1;
-        ]])
-      ],[
-        AC_MSG_RESULT([yes])
-        tst_compi_getservbyport_r="yes"
-        tst_nargs_getservbyport_r="5"
-      ],[
-        AC_MSG_RESULT([no])
-        tst_compi_getservbyport_r="no"
-      ])
-    fi
-    if test "$tst_nargs_getservbyport_r" = "unknown"; then
-      AC_MSG_CHECKING([if getservbyport_r takes 6 args.])
-      AC_COMPILE_IFELSE([
-        AC_LANG_PROGRAM([[
-          $cares_includes_netdb
-        ]],[[
-          if(0 != getservbyport_r(0, 0, 0, 0, 0, 0))
-            return 1;
-        ]])
-      ],[
-        AC_MSG_RESULT([yes])
-        tst_compi_getservbyport_r="yes"
-        tst_nargs_getservbyport_r="6"
-      ],[
-        AC_MSG_RESULT([no])
-        tst_compi_getservbyport_r="no"
-      ])
-    fi
-    AC_MSG_CHECKING([if getservbyport_r is compilable])
-    if test "$tst_compi_getservbyport_r" = "yes"; then
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-  fi
-  #
-  if test "$tst_compi_getservbyport_r" = "yes"; then
-    AC_MSG_CHECKING([if getservbyport_r usage allowed])
-    if test "x$cares_disallow_getservbyport_r" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_getservbyport_r="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_getservbyport_r="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if getservbyport_r might be used])
-  if test "$tst_links_getservbyport_r" = "yes" &&
-     test "$tst_proto_getservbyport_r" = "yes" &&
-     test "$tst_compi_getservbyport_r" = "yes" &&
-     test "$tst_allow_getservbyport_r" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_GETSERVBYPORT_R, 1,
-      [Define to 1 if you have the getservbyport_r function.])
-    AC_DEFINE_UNQUOTED(GETSERVBYPORT_R_ARGS, $tst_nargs_getservbyport_r,
-      [Specifies the number of arguments to getservbyport_r])
-    if test "$tst_nargs_getservbyport_r" -eq "4"; then
-      AC_DEFINE(GETSERVBYPORT_R_BUFSIZE, sizeof(struct servent_data),
-        [Specifies the size of the buffer to pass to getservbyport_r])
-    else
-      AC_DEFINE(GETSERVBYPORT_R_BUFSIZE, 4096,
-        [Specifies the size of the buffer to pass to getservbyport_r])
-    fi
-    ac_cv_func_getservbyport_r="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_getservbyport_r="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_INET_NTOP
-dnl -------------------------------------------------
-dnl Verify if inet_ntop is available, prototyped, can
-dnl be compiled and seems to work. If all of these are
-dnl true, and usage has not been previously disallowed
-dnl with shell variable cares_disallow_inet_ntop, then
-dnl HAVE_INET_NTOP will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_INET_NTOP], [
-  AC_REQUIRE([CARES_INCLUDES_STDLIB])dnl
-  AC_REQUIRE([CARES_INCLUDES_ARPA_INET])dnl
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_inet_ntop="unknown"
-  tst_proto_inet_ntop="unknown"
-  tst_compi_inet_ntop="unknown"
-  tst_works_inet_ntop="unknown"
-  tst_allow_inet_ntop="unknown"
-  #
-  AC_MSG_CHECKING([if inet_ntop can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([inet_ntop])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_inet_ntop="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_inet_ntop="no"
-  ])
-  #
-  if test "$tst_links_inet_ntop" = "yes"; then
-    AC_MSG_CHECKING([if inet_ntop is prototyped])
-    AC_EGREP_CPP([inet_ntop],[
-      $cares_includes_arpa_inet
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_inet_ntop="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_inet_ntop="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_inet_ntop" = "yes"; then
-    AC_MSG_CHECKING([if inet_ntop is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_arpa_inet
-      ]],[[
-        if(0 != inet_ntop(0, 0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_inet_ntop="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_inet_ntop="no"
-    ])
-  fi
-  #
-  dnl only do runtime verification when not cross-compiling
-  if test "x$cross_compiling" != "xyes" &&
-    test "$tst_compi_inet_ntop" = "yes"; then
-    AC_MSG_CHECKING([if inet_ntop seems to work])
-    AC_RUN_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_stdlib
-        $cares_includes_arpa_inet
-        $cares_includes_string
-      ]],[[
-        char ipv6res[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
-        char ipv4res[sizeof "255.255.255.255"];
-        unsigned char ipv6a[26];
-        unsigned char ipv4a[5];
-        char *ipv6ptr = 0;
-        char *ipv4ptr = 0;
-        /* - */
-        ipv4res[0] = '\0';
-        ipv4a[0] = 0xc0;
-        ipv4a[1] = 0xa8;
-        ipv4a[2] = 0x64;
-        ipv4a[3] = 0x01;
-        ipv4a[4] = 0x01;
-        /* - */
-        ipv4ptr = inet_ntop(AF_INET, ipv4a, ipv4res, sizeof(ipv4res));
-        if(!ipv4ptr)
-          exit(1); /* fail */
-        if(ipv4ptr != ipv4res)
-          exit(1); /* fail */
-        if(!ipv4ptr[0])
-          exit(1); /* fail */
-        if(memcmp(ipv4res, "192.168.100.1", 13) != 0)
-          exit(1); /* fail */
-        /* - */
-        ipv6res[0] = '\0';
-        memset(ipv6a, 0, sizeof(ipv6a));
-        ipv6a[0] = 0xfe;
-        ipv6a[1] = 0x80;
-        ipv6a[8] = 0x02;
-        ipv6a[9] = 0x14;
-        ipv6a[10] = 0x4f;
-        ipv6a[11] = 0xff;
-        ipv6a[12] = 0xfe;
-        ipv6a[13] = 0x0b;
-        ipv6a[14] = 0x76;
-        ipv6a[15] = 0xc8;
-        ipv6a[25] = 0x01;
-        /* - */
-        ipv6ptr = inet_ntop(AF_INET6, ipv6a, ipv6res, sizeof(ipv6res));
-        if(!ipv6ptr)
-          exit(1); /* fail */
-        if(ipv6ptr != ipv6res)
-          exit(1); /* fail */
-        if(!ipv6ptr[0])
-          exit(1); /* fail */
-        if(memcmp(ipv6res, "fe80::214:4fff:fe0b:76c8", 24) != 0)
-          exit(1); /* fail */
-        /* - */
-        exit(0);
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_works_inet_ntop="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_works_inet_ntop="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_inet_ntop" = "yes" &&
-    test "$tst_works_inet_ntop" != "no"; then
-    AC_MSG_CHECKING([if inet_ntop usage allowed])
-    if test "x$cares_disallow_inet_ntop" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_inet_ntop="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_inet_ntop="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if inet_ntop might be used])
-  if test "$tst_links_inet_ntop" = "yes" &&
-     test "$tst_proto_inet_ntop" = "yes" &&
-     test "$tst_compi_inet_ntop" = "yes" &&
-     test "$tst_allow_inet_ntop" = "yes" &&
-     test "$tst_works_inet_ntop" != "no"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_INET_NTOP, 1,
-      [Define to 1 if you have a IPv6 capable working inet_ntop function.])
-    ac_cv_func_inet_ntop="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_inet_ntop="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_INET_PTON
-dnl -------------------------------------------------
-dnl Verify if inet_pton is available, prototyped, can
-dnl be compiled and seems to work. If all of these are
-dnl true, and usage has not been previously disallowed
-dnl with shell variable cares_disallow_inet_pton, then
-dnl HAVE_INET_PTON will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_INET_PTON], [
-  AC_REQUIRE([CARES_INCLUDES_STDLIB])dnl
-  AC_REQUIRE([CARES_INCLUDES_ARPA_INET])dnl
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_inet_pton="unknown"
-  tst_proto_inet_pton="unknown"
-  tst_compi_inet_pton="unknown"
-  tst_works_inet_pton="unknown"
-  tst_allow_inet_pton="unknown"
-  #
-  AC_MSG_CHECKING([if inet_pton can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([inet_pton])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_inet_pton="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_inet_pton="no"
-  ])
-  #
-  if test "$tst_links_inet_pton" = "yes"; then
-    AC_MSG_CHECKING([if inet_pton is prototyped])
-    AC_EGREP_CPP([inet_pton],[
-      $cares_includes_arpa_inet
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_inet_pton="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_inet_pton="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_inet_pton" = "yes"; then
-    AC_MSG_CHECKING([if inet_pton is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_arpa_inet
-      ]],[[
-        if(0 != inet_pton(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_inet_pton="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_inet_pton="no"
-    ])
-  fi
-  #
-  dnl only do runtime verification when not cross-compiling
-  if test "x$cross_compiling" != "xyes" &&
-    test "$tst_compi_inet_pton" = "yes"; then
-    AC_MSG_CHECKING([if inet_pton seems to work])
-    AC_RUN_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_stdlib
-        $cares_includes_arpa_inet
-        $cares_includes_string
-      ]],[[
-        unsigned char ipv6a[16+1];
-        unsigned char ipv4a[4+1];
-        const char *ipv6src = "fe80::214:4fff:fe0b:76c8";
-        const char *ipv4src = "192.168.100.1";
-        /* - */
-        memset(ipv4a, 1, sizeof(ipv4a));
-        if(1 != inet_pton(AF_INET, ipv4src, ipv4a))
-          exit(1); /* fail */
-        /* - */
-        if( (ipv4a[0] != 0xc0) ||
-            (ipv4a[1] != 0xa8) ||
-            (ipv4a[2] != 0x64) ||
-            (ipv4a[3] != 0x01) ||
-            (ipv4a[4] != 0x01) )
-          exit(1); /* fail */
-        /* - */
-        memset(ipv6a, 1, sizeof(ipv6a));
-        if(1 != inet_pton(AF_INET6, ipv6src, ipv6a))
-          exit(1); /* fail */
-        /* - */
-        if( (ipv6a[0]  != 0xfe) ||
-            (ipv6a[1]  != 0x80) ||
-            (ipv6a[8]  != 0x02) ||
-            (ipv6a[9]  != 0x14) ||
-            (ipv6a[10] != 0x4f) ||
-            (ipv6a[11] != 0xff) ||
-            (ipv6a[12] != 0xfe) ||
-            (ipv6a[13] != 0x0b) ||
-            (ipv6a[14] != 0x76) ||
-            (ipv6a[15] != 0xc8) ||
-            (ipv6a[16] != 0x01) )
-          exit(1); /* fail */
-        /* - */
-        if( (ipv6a[2]  != 0x0) ||
-            (ipv6a[3]  != 0x0) ||
-            (ipv6a[4]  != 0x0) ||
-            (ipv6a[5]  != 0x0) ||
-            (ipv6a[6]  != 0x0) ||
-            (ipv6a[7]  != 0x0) )
-          exit(1); /* fail */
-        /* - */
-        exit(0);
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_works_inet_pton="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_works_inet_pton="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_inet_pton" = "yes" &&
-    test "$tst_works_inet_pton" != "no"; then
-    AC_MSG_CHECKING([if inet_pton usage allowed])
-    if test "x$cares_disallow_inet_pton" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_inet_pton="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_inet_pton="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if inet_pton might be used])
-  if test "$tst_links_inet_pton" = "yes" &&
-     test "$tst_proto_inet_pton" = "yes" &&
-     test "$tst_compi_inet_pton" = "yes" &&
-     test "$tst_allow_inet_pton" = "yes" &&
-     test "$tst_works_inet_pton" != "no"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_INET_PTON, 1,
-      [Define to 1 if you have a IPv6 capable working inet_pton function.])
-    ac_cv_func_inet_pton="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_inet_pton="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_IOCTL
-dnl -------------------------------------------------
-dnl Verify if ioctl is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_ioctl, then
-dnl HAVE_IOCTL will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_IOCTL], [
-  AC_REQUIRE([CARES_INCLUDES_STROPTS])dnl
-  #
-  tst_links_ioctl="unknown"
-  tst_proto_ioctl="unknown"
-  tst_compi_ioctl="unknown"
-  tst_allow_ioctl="unknown"
-  #
-  AC_MSG_CHECKING([if ioctl can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([ioctl])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_ioctl="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_ioctl="no"
-  ])
-  #
-  if test "$tst_links_ioctl" = "yes"; then
-    AC_MSG_CHECKING([if ioctl is prototyped])
-    AC_EGREP_CPP([ioctl],[
-      $cares_includes_stropts
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_ioctl="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_ioctl="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_ioctl" = "yes"; then
-    AC_MSG_CHECKING([if ioctl is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_stropts
-      ]],[[
-        if(0 != ioctl(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_ioctl="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_ioctl="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_ioctl" = "yes"; then
-    AC_MSG_CHECKING([if ioctl usage allowed])
-    if test "x$cares_disallow_ioctl" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_ioctl="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_ioctl="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if ioctl might be used])
-  if test "$tst_links_ioctl" = "yes" &&
-     test "$tst_proto_ioctl" = "yes" &&
-     test "$tst_compi_ioctl" = "yes" &&
-     test "$tst_allow_ioctl" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_IOCTL, 1,
-      [Define to 1 if you have the ioctl function.])
-    ac_cv_func_ioctl="yes"
-    CARES_CHECK_FUNC_IOCTL_FIONBIO
-    CARES_CHECK_FUNC_IOCTL_SIOCGIFADDR
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_ioctl="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_IOCTL_FIONBIO
-dnl -------------------------------------------------
-dnl Verify if ioctl with the FIONBIO command is
-dnl available, can be compiled, and seems to work. If
-dnl all of these are true, then HAVE_IOCTL_FIONBIO
-dnl will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_IOCTL_FIONBIO], [
-  #
-  tst_compi_ioctl_fionbio="unknown"
-  tst_allow_ioctl_fionbio="unknown"
-  #
-  if test "$ac_cv_func_ioctl" = "yes"; then
-    AC_MSG_CHECKING([if ioctl FIONBIO is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_stropts
-      ]],[[
-        int flags = 0;
-        if(0 != ioctl(0, FIONBIO, &flags))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_ioctl_fionbio="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_ioctl_fionbio="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_ioctl_fionbio" = "yes"; then
-    AC_MSG_CHECKING([if ioctl FIONBIO usage allowed])
-    if test "x$cares_disallow_ioctl_fionbio" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_ioctl_fionbio="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_ioctl_fionbio="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if ioctl FIONBIO might be used])
-  if test "$tst_compi_ioctl_fionbio" = "yes" &&
-     test "$tst_allow_ioctl_fionbio" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_IOCTL_FIONBIO, 1,
-      [Define to 1 if you have a working ioctl FIONBIO function.])
-    ac_cv_func_ioctl_fionbio="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_ioctl_fionbio="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_IOCTL_SIOCGIFADDR
-dnl -------------------------------------------------
-dnl Verify if ioctl with the SIOCGIFADDR command is available,
-dnl struct ifreq is defined, they can be compiled, and seem to
-dnl work. If all of these are true, then HAVE_IOCTL_SIOCGIFADDR
-dnl will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_IOCTL_SIOCGIFADDR], [
-  #
-  tst_compi_ioctl_siocgifaddr="unknown"
-  tst_allow_ioctl_siocgifaddr="unknown"
-  #
-  if test "$ac_cv_func_ioctl" = "yes"; then
-    AC_MSG_CHECKING([if ioctl SIOCGIFADDR is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_stropts
-        #include <net/if.h>
-      ]],[[
-        struct ifreq ifr;
-        if(0 != ioctl(0, SIOCGIFADDR, &ifr))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_ioctl_siocgifaddr="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_ioctl_siocgifaddr="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_ioctl_siocgifaddr" = "yes"; then
-    AC_MSG_CHECKING([if ioctl SIOCGIFADDR usage allowed])
-    if test "x$cares_disallow_ioctl_siocgifaddr" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_ioctl_siocgifaddr="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_ioctl_siocgifaddr="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if ioctl SIOCGIFADDR might be used])
-  if test "$tst_compi_ioctl_siocgifaddr" = "yes" &&
-     test "$tst_allow_ioctl_siocgifaddr" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_IOCTL_SIOCGIFADDR, 1,
-      [Define to 1 if you have a working ioctl SIOCGIFADDR function.])
-    ac_cv_func_ioctl_siocgifaddr="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_ioctl_siocgifaddr="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_IOCTLSOCKET
-dnl -------------------------------------------------
-dnl Verify if ioctlsocket is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_ioctlsocket, then
-dnl HAVE_IOCTLSOCKET will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_IOCTLSOCKET], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  #
-  tst_links_ioctlsocket="unknown"
-  tst_proto_ioctlsocket="unknown"
-  tst_compi_ioctlsocket="unknown"
-  tst_allow_ioctlsocket="unknown"
-  #
-  AC_MSG_CHECKING([if ioctlsocket can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_winsock2
-    ]],[[
-      if(0 != ioctlsocket(0, 0, 0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_ioctlsocket="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_ioctlsocket="no"
-  ])
-  #
-  if test "$tst_links_ioctlsocket" = "yes"; then
-    AC_MSG_CHECKING([if ioctlsocket is prototyped])
-    AC_EGREP_CPP([ioctlsocket],[
-      $cares_includes_winsock2
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_ioctlsocket="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_ioctlsocket="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_ioctlsocket" = "yes"; then
-    AC_MSG_CHECKING([if ioctlsocket is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-      ]],[[
-        if(0 != ioctlsocket(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_ioctlsocket="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_ioctlsocket="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_ioctlsocket" = "yes"; then
-    AC_MSG_CHECKING([if ioctlsocket usage allowed])
-    if test "x$cares_disallow_ioctlsocket" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_ioctlsocket="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_ioctlsocket="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if ioctlsocket might be used])
-  if test "$tst_links_ioctlsocket" = "yes" &&
-     test "$tst_proto_ioctlsocket" = "yes" &&
-     test "$tst_compi_ioctlsocket" = "yes" &&
-     test "$tst_allow_ioctlsocket" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_IOCTLSOCKET, 1,
-      [Define to 1 if you have the ioctlsocket function.])
-    ac_cv_func_ioctlsocket="yes"
-    CARES_CHECK_FUNC_IOCTLSOCKET_FIONBIO
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_ioctlsocket="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_IOCTLSOCKET_FIONBIO
-dnl -------------------------------------------------
-dnl Verify if ioctlsocket with the FIONBIO command is
-dnl available, can be compiled, and seems to work. If
-dnl all of these are true, then HAVE_IOCTLSOCKET_FIONBIO
-dnl will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_IOCTLSOCKET_FIONBIO], [
-  #
-  tst_compi_ioctlsocket_fionbio="unknown"
-  tst_allow_ioctlsocket_fionbio="unknown"
-  #
-  if test "$ac_cv_func_ioctlsocket" = "yes"; then
-    AC_MSG_CHECKING([if ioctlsocket FIONBIO is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-      ]],[[
-        int flags = 0;
-        if(0 != ioctlsocket(0, FIONBIO, &flags))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_ioctlsocket_fionbio="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_ioctlsocket_fionbio="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_ioctlsocket_fionbio" = "yes"; then
-    AC_MSG_CHECKING([if ioctlsocket FIONBIO usage allowed])
-    if test "x$cares_disallow_ioctlsocket_fionbio" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_ioctlsocket_fionbio="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_ioctlsocket_fionbio="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if ioctlsocket FIONBIO might be used])
-  if test "$tst_compi_ioctlsocket_fionbio" = "yes" &&
-     test "$tst_allow_ioctlsocket_fionbio" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_IOCTLSOCKET_FIONBIO, 1,
-      [Define to 1 if you have a working ioctlsocket FIONBIO function.])
-    ac_cv_func_ioctlsocket_fionbio="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_ioctlsocket_fionbio="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_IOCTLSOCKET_CAMEL
-dnl -------------------------------------------------
-dnl Verify if IoctlSocket is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_ioctlsocket_camel,
-dnl then HAVE_IOCTLSOCKET_CAMEL will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_IOCTLSOCKET_CAMEL], [
-  AC_REQUIRE([CARES_INCLUDES_STROPTS])dnl
-  #
-  tst_links_ioctlsocket_camel="unknown"
-  tst_proto_ioctlsocket_camel="unknown"
-  tst_compi_ioctlsocket_camel="unknown"
-  tst_allow_ioctlsocket_camel="unknown"
-  #
-  AC_MSG_CHECKING([if IoctlSocket can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([IoctlSocket])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_ioctlsocket_camel="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_ioctlsocket_camel="no"
-  ])
-  #
-  if test "$tst_links_ioctlsocket_camel" = "yes"; then
-    AC_MSG_CHECKING([if IoctlSocket is prototyped])
-    AC_EGREP_CPP([IoctlSocket],[
-      $cares_includes_stropts
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_ioctlsocket_camel="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_ioctlsocket_camel="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_ioctlsocket_camel" = "yes"; then
-    AC_MSG_CHECKING([if IoctlSocket is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_stropts
-      ]],[[
-        if(0 != IoctlSocket(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_ioctlsocket_camel="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_ioctlsocket_camel="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_ioctlsocket_camel" = "yes"; then
-    AC_MSG_CHECKING([if IoctlSocket usage allowed])
-    if test "x$cares_disallow_ioctlsocket_camel" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_ioctlsocket_camel="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_ioctlsocket_camel="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if IoctlSocket might be used])
-  if test "$tst_links_ioctlsocket_camel" = "yes" &&
-     test "$tst_proto_ioctlsocket_camel" = "yes" &&
-     test "$tst_compi_ioctlsocket_camel" = "yes" &&
-     test "$tst_allow_ioctlsocket_camel" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_IOCTLSOCKET_CAMEL, 1,
-      [Define to 1 if you have the IoctlSocket camel case function.])
-    ac_cv_func_ioctlsocket_camel="yes"
-    CARES_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_ioctlsocket_camel="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO
-dnl -------------------------------------------------
-dnl Verify if IoctlSocket with FIONBIO command is available,
-dnl can be compiled, and seems to work. If all of these are
-dnl true, then HAVE_IOCTLSOCKET_CAMEL_FIONBIO will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO], [
-  #
-  tst_compi_ioctlsocket_camel_fionbio="unknown"
-  tst_allow_ioctlsocket_camel_fionbio="unknown"
-  #
-  if test "$ac_cv_func_ioctlsocket_camel" = "yes"; then
-    AC_MSG_CHECKING([if IoctlSocket FIONBIO is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_stropts
-      ]],[[
-        long flags = 0;
-        if(0 != ioctlsocket(0, FIONBIO, &flags))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_ioctlsocket_camel_fionbio="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_ioctlsocket_camel_fionbio="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_ioctlsocket_camel_fionbio" = "yes"; then
-    AC_MSG_CHECKING([if IoctlSocket FIONBIO usage allowed])
-    if test "x$cares_disallow_ioctlsocket_camel_fionbio" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_ioctlsocket_camel_fionbio="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_ioctlsocket_camel_fionbio="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if IoctlSocket FIONBIO might be used])
-  if test "$tst_compi_ioctlsocket_camel_fionbio" = "yes" &&
-     test "$tst_allow_ioctlsocket_camel_fionbio" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_IOCTLSOCKET_CAMEL_FIONBIO, 1,
-      [Define to 1 if you have a working IoctlSocket camel case FIONBIO function.])
-    ac_cv_func_ioctlsocket_camel_fionbio="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_ioctlsocket_camel_fionbio="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_SETSOCKOPT
-dnl -------------------------------------------------
-dnl Verify if setsockopt is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_setsockopt, then
-dnl HAVE_SETSOCKOPT will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_SETSOCKOPT], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  AC_REQUIRE([CARES_INCLUDES_SYS_SOCKET])dnl
-  #
-  tst_links_setsockopt="unknown"
-  tst_proto_setsockopt="unknown"
-  tst_compi_setsockopt="unknown"
-  tst_allow_setsockopt="unknown"
-  #
-  AC_MSG_CHECKING([if setsockopt can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_winsock2
-      $cares_includes_sys_socket
-    ]],[[
-      if(0 != setsockopt(0, 0, 0, 0, 0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_setsockopt="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_setsockopt="no"
-  ])
-  #
-  if test "$tst_links_setsockopt" = "yes"; then
-    AC_MSG_CHECKING([if setsockopt is prototyped])
-    AC_EGREP_CPP([setsockopt],[
-      $cares_includes_winsock2
-      $cares_includes_sys_socket
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_setsockopt="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_setsockopt="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_setsockopt" = "yes"; then
-    AC_MSG_CHECKING([if setsockopt is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-        $cares_includes_sys_socket
-      ]],[[
-        if(0 != setsockopt(0, 0, 0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_setsockopt="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_setsockopt="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_setsockopt" = "yes"; then
-    AC_MSG_CHECKING([if setsockopt usage allowed])
-    if test "x$cares_disallow_setsockopt" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_setsockopt="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_setsockopt="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if setsockopt might be used])
-  if test "$tst_links_setsockopt" = "yes" &&
-     test "$tst_proto_setsockopt" = "yes" &&
-     test "$tst_compi_setsockopt" = "yes" &&
-     test "$tst_allow_setsockopt" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_SETSOCKOPT, 1,
-      [Define to 1 if you have the setsockopt function.])
-    ac_cv_func_setsockopt="yes"
-    CARES_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_setsockopt="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK
-dnl -------------------------------------------------
-dnl Verify if setsockopt with the SO_NONBLOCK command is
-dnl available, can be compiled, and seems to work. If
-dnl all of these are true, then HAVE_SETSOCKOPT_SO_NONBLOCK
-dnl will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK], [
-  #
-  tst_compi_setsockopt_so_nonblock="unknown"
-  tst_allow_setsockopt_so_nonblock="unknown"
-  #
-  if test "$ac_cv_func_setsockopt" = "yes"; then
-    AC_MSG_CHECKING([if setsockopt SO_NONBLOCK is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-        $cares_includes_sys_socket
-      ]],[[
-        if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_setsockopt_so_nonblock="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_setsockopt_so_nonblock="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_setsockopt_so_nonblock" = "yes"; then
-    AC_MSG_CHECKING([if setsockopt SO_NONBLOCK usage allowed])
-    if test "x$cares_disallow_setsockopt_so_nonblock" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_setsockopt_so_nonblock="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_setsockopt_so_nonblock="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if setsockopt SO_NONBLOCK might be used])
-  if test "$tst_compi_setsockopt_so_nonblock" = "yes" &&
-     test "$tst_allow_setsockopt_so_nonblock" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_SETSOCKOPT_SO_NONBLOCK, 1,
-      [Define to 1 if you have a working setsockopt SO_NONBLOCK function.])
-    ac_cv_func_setsockopt_so_nonblock="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_setsockopt_so_nonblock="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_SOCKET
-dnl -------------------------------------------------
-dnl Verify if socket is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_socket, then
-dnl HAVE_SOCKET will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_SOCKET], [
-  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
-  AC_REQUIRE([CARES_INCLUDES_SYS_SOCKET])dnl
-  AC_REQUIRE([CARES_INCLUDES_SOCKET])dnl
-  #
-  tst_links_socket="unknown"
-  tst_proto_socket="unknown"
-  tst_compi_socket="unknown"
-  tst_allow_socket="unknown"
-  #
-  AC_MSG_CHECKING([if socket can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([[
-      $cares_includes_winsock2
-      $cares_includes_sys_socket
-      $cares_includes_socket
-    ]],[[
-      if(0 != socket(0, 0, 0))
-        return 1;
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_socket="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_socket="no"
-  ])
-  #
-  if test "$tst_links_socket" = "yes"; then
-    AC_MSG_CHECKING([if socket is prototyped])
-    AC_EGREP_CPP([socket],[
-      $cares_includes_winsock2
-      $cares_includes_sys_socket
-      $cares_includes_socket
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_socket="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_socket="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_socket" = "yes"; then
-    AC_MSG_CHECKING([if socket is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_winsock2
-        $cares_includes_sys_socket
-        $cares_includes_socket
-      ]],[[
-        if(0 != socket(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_socket="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_socket="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_socket" = "yes"; then
-    AC_MSG_CHECKING([if socket usage allowed])
-    if test "x$cares_disallow_socket" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_socket="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_socket="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if socket might be used])
-  if test "$tst_links_socket" = "yes" &&
-     test "$tst_proto_socket" = "yes" &&
-     test "$tst_compi_socket" = "yes" &&
-     test "$tst_allow_socket" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_SOCKET, 1,
-      [Define to 1 if you have the socket function.])
-    ac_cv_func_socket="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_socket="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_STRCASECMP
-dnl -------------------------------------------------
-dnl Verify if strcasecmp is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_strcasecmp, then
-dnl HAVE_STRCASECMP will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_STRCASECMP], [
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_strcasecmp="unknown"
-  tst_proto_strcasecmp="unknown"
-  tst_compi_strcasecmp="unknown"
-  tst_allow_strcasecmp="unknown"
-  #
-  AC_MSG_CHECKING([if strcasecmp can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([strcasecmp])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_strcasecmp="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_strcasecmp="no"
-  ])
-  #
-  if test "$tst_links_strcasecmp" = "yes"; then
-    AC_MSG_CHECKING([if strcasecmp is prototyped])
-    AC_EGREP_CPP([strcasecmp],[
-      $cares_includes_string
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_strcasecmp="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_strcasecmp="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_strcasecmp" = "yes"; then
-    AC_MSG_CHECKING([if strcasecmp is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_string
-      ]],[[
-        if(0 != strcasecmp(0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_strcasecmp="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_strcasecmp="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_strcasecmp" = "yes"; then
-    AC_MSG_CHECKING([if strcasecmp usage allowed])
-    if test "x$cares_disallow_strcasecmp" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_strcasecmp="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_strcasecmp="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if strcasecmp might be used])
-  if test "$tst_links_strcasecmp" = "yes" &&
-     test "$tst_proto_strcasecmp" = "yes" &&
-     test "$tst_compi_strcasecmp" = "yes" &&
-     test "$tst_allow_strcasecmp" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_STRCASECMP, 1,
-      [Define to 1 if you have the strcasecmp function.])
-    ac_cv_func_strcasecmp="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_strcasecmp="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_STRCMPI
-dnl -------------------------------------------------
-dnl Verify if strcmpi is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_strcmpi, then
-dnl HAVE_STRCMPI will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_STRCMPI], [
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_strcmpi="unknown"
-  tst_proto_strcmpi="unknown"
-  tst_compi_strcmpi="unknown"
-  tst_allow_strcmpi="unknown"
-  #
-  AC_MSG_CHECKING([if strcmpi can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([strcmpi])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_strcmpi="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_strcmpi="no"
-  ])
-  #
-  if test "$tst_links_strcmpi" = "yes"; then
-    AC_MSG_CHECKING([if strcmpi is prototyped])
-    AC_EGREP_CPP([strcmpi],[
-      $cares_includes_string
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_strcmpi="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_strcmpi="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_strcmpi" = "yes"; then
-    AC_MSG_CHECKING([if strcmpi is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_string
-      ]],[[
-        if(0 != strcmpi(0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_strcmpi="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_strcmpi="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_strcmpi" = "yes"; then
-    AC_MSG_CHECKING([if strcmpi usage allowed])
-    if test "x$cares_disallow_strcmpi" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_strcmpi="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_strcmpi="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if strcmpi might be used])
-  if test "$tst_links_strcmpi" = "yes" &&
-     test "$tst_proto_strcmpi" = "yes" &&
-     test "$tst_compi_strcmpi" = "yes" &&
-     test "$tst_allow_strcmpi" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_STRCMPI, 1,
-      [Define to 1 if you have the strcmpi function.])
-    ac_cv_func_strcmpi="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_strcmpi="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_STRDUP
-dnl -------------------------------------------------
-dnl Verify if strdup is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_strdup, then
-dnl HAVE_STRDUP will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_STRDUP], [
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_strdup="unknown"
-  tst_proto_strdup="unknown"
-  tst_compi_strdup="unknown"
-  tst_allow_strdup="unknown"
-  #
-  AC_MSG_CHECKING([if strdup can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([strdup])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_strdup="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_strdup="no"
-  ])
-  #
-  if test "$tst_links_strdup" = "yes"; then
-    AC_MSG_CHECKING([if strdup is prototyped])
-    AC_EGREP_CPP([strdup],[
-      $cares_includes_string
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_strdup="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_strdup="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_strdup" = "yes"; then
-    AC_MSG_CHECKING([if strdup is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_string
-      ]],[[
-        if(0 != strdup(0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_strdup="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_strdup="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_strdup" = "yes"; then
-    AC_MSG_CHECKING([if strdup usage allowed])
-    if test "x$cares_disallow_strdup" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_strdup="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_strdup="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if strdup might be used])
-  if test "$tst_links_strdup" = "yes" &&
-     test "$tst_proto_strdup" = "yes" &&
-     test "$tst_compi_strdup" = "yes" &&
-     test "$tst_allow_strdup" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_STRDUP, 1,
-      [Define to 1 if you have the strdup function.])
-    ac_cv_func_strdup="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_strdup="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_STRICMP
-dnl -------------------------------------------------
-dnl Verify if stricmp is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_stricmp, then
-dnl HAVE_STRICMP will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_STRICMP], [
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_stricmp="unknown"
-  tst_proto_stricmp="unknown"
-  tst_compi_stricmp="unknown"
-  tst_allow_stricmp="unknown"
-  #
-  AC_MSG_CHECKING([if stricmp can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([stricmp])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_stricmp="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_stricmp="no"
-  ])
-  #
-  if test "$tst_links_stricmp" = "yes"; then
-    AC_MSG_CHECKING([if stricmp is prototyped])
-    AC_EGREP_CPP([stricmp],[
-      $cares_includes_string
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_stricmp="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_stricmp="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_stricmp" = "yes"; then
-    AC_MSG_CHECKING([if stricmp is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_string
-      ]],[[
-        if(0 != stricmp(0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_stricmp="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_stricmp="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_stricmp" = "yes"; then
-    AC_MSG_CHECKING([if stricmp usage allowed])
-    if test "x$cares_disallow_stricmp" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_stricmp="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_stricmp="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if stricmp might be used])
-  if test "$tst_links_stricmp" = "yes" &&
-     test "$tst_proto_stricmp" = "yes" &&
-     test "$tst_compi_stricmp" = "yes" &&
-     test "$tst_allow_stricmp" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_STRICMP, 1,
-      [Define to 1 if you have the stricmp function.])
-    ac_cv_func_stricmp="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_stricmp="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_STRNCASECMP
-dnl -------------------------------------------------
-dnl Verify if strncasecmp is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_strncasecmp, then
-dnl HAVE_STRNCASECMP will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_STRNCASECMP], [
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_strncasecmp="unknown"
-  tst_proto_strncasecmp="unknown"
-  tst_compi_strncasecmp="unknown"
-  tst_allow_strncasecmp="unknown"
-  #
-  AC_MSG_CHECKING([if strncasecmp can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([strncasecmp])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_strncasecmp="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_strncasecmp="no"
-  ])
-  #
-  if test "$tst_links_strncasecmp" = "yes"; then
-    AC_MSG_CHECKING([if strncasecmp is prototyped])
-    AC_EGREP_CPP([strncasecmp],[
-      $cares_includes_string
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_strncasecmp="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_strncasecmp="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_strncasecmp" = "yes"; then
-    AC_MSG_CHECKING([if strncasecmp is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_string
-      ]],[[
-        if(0 != strncasecmp(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_strncasecmp="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_strncasecmp="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_strncasecmp" = "yes"; then
-    AC_MSG_CHECKING([if strncasecmp usage allowed])
-    if test "x$cares_disallow_strncasecmp" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_strncasecmp="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_strncasecmp="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if strncasecmp might be used])
-  if test "$tst_links_strncasecmp" = "yes" &&
-     test "$tst_proto_strncasecmp" = "yes" &&
-     test "$tst_compi_strncasecmp" = "yes" &&
-     test "$tst_allow_strncasecmp" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_STRNCASECMP, 1,
-      [Define to 1 if you have the strncasecmp function.])
-    ac_cv_func_strncasecmp="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_strncasecmp="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_STRNCMPI
-dnl -------------------------------------------------
-dnl Verify if strncmpi is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_strncmpi, then
-dnl HAVE_STRNCMPI will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_STRNCMPI], [
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_strncmpi="unknown"
-  tst_proto_strncmpi="unknown"
-  tst_compi_strncmpi="unknown"
-  tst_allow_strncmpi="unknown"
-  #
-  AC_MSG_CHECKING([if strncmpi can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([strncmpi])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_strncmpi="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_strncmpi="no"
-  ])
-  #
-  if test "$tst_links_strncmpi" = "yes"; then
-    AC_MSG_CHECKING([if strncmpi is prototyped])
-    AC_EGREP_CPP([strncmpi],[
-      $cares_includes_string
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_strncmpi="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_strncmpi="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_strncmpi" = "yes"; then
-    AC_MSG_CHECKING([if strncmpi is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_string
-      ]],[[
-        if(0 != strncmpi(0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_strncmpi="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_strncmpi="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_strncmpi" = "yes"; then
-    AC_MSG_CHECKING([if strncmpi usage allowed])
-    if test "x$cares_disallow_strncmpi" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_strncmpi="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_strncmpi="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if strncmpi might be used])
-  if test "$tst_links_strncmpi" = "yes" &&
-     test "$tst_proto_strncmpi" = "yes" &&
-     test "$tst_compi_strncmpi" = "yes" &&
-     test "$tst_allow_strncmpi" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_STRNCMPI, 1,
-      [Define to 1 if you have the strncmpi function.])
-    ac_cv_func_strncmpi="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_strncmpi="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_STRNICMP
-dnl -------------------------------------------------
-dnl Verify if strnicmp is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_strnicmp, then
-dnl HAVE_STRNICMP will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_STRNICMP], [
-  AC_REQUIRE([CARES_INCLUDES_STRING])dnl
-  #
-  tst_links_strnicmp="unknown"
-  tst_proto_strnicmp="unknown"
-  tst_compi_strnicmp="unknown"
-  tst_allow_strnicmp="unknown"
-  #
-  AC_MSG_CHECKING([if strnicmp can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([strnicmp])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_strnicmp="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_strnicmp="no"
-  ])
-  #
-  if test "$tst_links_strnicmp" = "yes"; then
-    AC_MSG_CHECKING([if strnicmp is prototyped])
-    AC_EGREP_CPP([strnicmp],[
-      $cares_includes_string
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_strnicmp="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_strnicmp="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_strnicmp" = "yes"; then
-    AC_MSG_CHECKING([if strnicmp is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_string
-      ]],[[
-        if(0 != strnicmp(0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_strnicmp="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_strnicmp="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_strnicmp" = "yes"; then
-    AC_MSG_CHECKING([if strnicmp usage allowed])
-    if test "x$cares_disallow_strnicmp" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_strnicmp="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_strnicmp="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if strnicmp might be used])
-  if test "$tst_links_strnicmp" = "yes" &&
-     test "$tst_proto_strnicmp" = "yes" &&
-     test "$tst_compi_strnicmp" = "yes" &&
-     test "$tst_allow_strnicmp" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_STRNICMP, 1,
-      [Define to 1 if you have the strnicmp function.])
-    ac_cv_func_strnicmp="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_strnicmp="no"
-  fi
-])
-
-
-dnl CARES_CHECK_FUNC_WRITEV
-dnl -------------------------------------------------
-dnl Verify if writev is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable cares_disallow_writev, then
-dnl HAVE_WRITEV will be defined.
-
-AC_DEFUN([CARES_CHECK_FUNC_WRITEV], [
-  AC_REQUIRE([CARES_INCLUDES_SYS_UIO])dnl
-  #
-  tst_links_writev="unknown"
-  tst_proto_writev="unknown"
-  tst_compi_writev="unknown"
-  tst_allow_writev="unknown"
-  #
-  AC_MSG_CHECKING([if writev can be linked])
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([writev])
-  ],[
-    AC_MSG_RESULT([yes])
-    tst_links_writev="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tst_links_writev="no"
-  ])
-  #
-  if test "$tst_links_writev" = "yes"; then
-    AC_MSG_CHECKING([if writev is prototyped])
-    AC_EGREP_CPP([writev],[
-      $cares_includes_sys_uio
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_proto_writev="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_proto_writev="no"
-    ])
-  fi
-  #
-  if test "$tst_proto_writev" = "yes"; then
-    AC_MSG_CHECKING([if writev is compilable])
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-        $cares_includes_sys_uio
-      ]],[[
-        if(0 != writev(0, 0, 0))
-          return 1;
-      ]])
-    ],[
-      AC_MSG_RESULT([yes])
-      tst_compi_writev="yes"
-    ],[
-      AC_MSG_RESULT([no])
-      tst_compi_writev="no"
-    ])
-  fi
-  #
-  if test "$tst_compi_writev" = "yes"; then
-    AC_MSG_CHECKING([if writev usage allowed])
-    if test "x$cares_disallow_writev" != "xyes"; then
-      AC_MSG_RESULT([yes])
-      tst_allow_writev="yes"
-    else
-      AC_MSG_RESULT([no])
-      tst_allow_writev="no"
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if writev might be used])
-  if test "$tst_links_writev" = "yes" &&
-     test "$tst_proto_writev" = "yes" &&
-     test "$tst_compi_writev" = "yes" &&
-     test "$tst_allow_writev" = "yes"; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE_UNQUOTED(HAVE_WRITEV, 1,
-      [Define to 1 if you have the writev function.])
-    ac_cv_func_writev="yes"
-  else
-    AC_MSG_RESULT([no])
-    ac_cv_func_writev="no"
-  fi
-])
diff --git a/ares/m4/cares-override.m4 b/ares/m4/cares-override.m4
deleted file mode 100644 (file)
index b29c960..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#***************************************************************************
-# $Id$
-#***************************************************************************
-
-# File version for 'aclocal' use. Keep it a single number.
-# serial 3
-
-dnl CARES_OVERRIDE_AUTOCONF
-dnl -------------------------------------------------
-dnl Placing a call to this macro in configure.ac after
-dnl the one to AC_INIT will make macros in this file
-dnl visible to the rest of the compilation overriding
-dnl those from Autoconf.
-
-AC_DEFUN([CARES_OVERRIDE_AUTOCONF], [
-AC_BEFORE([$0],[AC_PROG_LIBTOOL])
-# using cares-override.m4
-])
-
-dnl Override some Libtool tests
-dnl -------------------------------------------------
-dnl This is done to prevent Libtool 1.5.X from doing
-dnl unnecesary C++, Fortran and Java tests and reduce
-dnl resulting configure script by nearly 300 Kb.
-
-m4_define([AC_LIBTOOL_LANG_CXX_CONFIG],[:])
-m4_define([AC_LIBTOOL_LANG_F77_CONFIG],[:])
-m4_define([AC_LIBTOOL_LANG_GCJ_CONFIG],[:])
-
-dnl Override Autoconf's AC_LANG_PROGRAM (C)
-dnl -------------------------------------------------
-dnl This is done to prevent compiler warning
-dnl 'function declaration isn't a prototype'
-dnl in function main. This requires at least
-dnl a c89 compiler and does not suport K&R.
-
-m4_define([AC_LANG_PROGRAM(C)],
-[$1
-int main (void)
-{
-$2
- ;
- return 0;
-}])
-
-dnl Override Autoconf's AC_LANG_CALL (C)
-dnl -------------------------------------------------
-dnl This is a backport of Autoconf's 2.60 with the
-dnl embedded comments that hit the resulting script
-dnl removed. This is done to reduce configure size
-dnl and use fixed macro across Autoconf versions.
-
-m4_define([AC_LANG_CALL(C)],
-[AC_LANG_PROGRAM([$1
-m4_if([$2], [main], ,
-[
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();])], [return $2 ();])])
-
-dnl Override Autoconf's AC_LANG_FUNC_LINK_TRY (C)
-dnl -------------------------------------------------
-dnl This is a backport of Autoconf's 2.60 with the
-dnl embedded comments that hit the resulting script
-dnl removed. This is done to reduce configure size
-dnl and use fixed macro across Autoconf versions.
-
-m4_define([AC_LANG_FUNC_LINK_TRY(C)],
-[AC_LANG_PROGRAM(
-[
-#define $1 innocuous_$1
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-#undef $1
-#ifdef __cplusplus
-extern "C"
-#endif
-char $1 ();
-#if defined __stub_$1 || defined __stub___$1
-choke me
-#endif
-], [return $1 ();])])
-
-dnl Override Autoconf's PATH_SEPARATOR check
-dnl -------------------------------------------------
-dnl This is done to ensure that the same check is
-dnl used across different Autoconf versions and to
-dnl allow us to use this macro early enough in the
-dnl configure script.
-
-m4_defun([_AS_PATH_SEPARATOR_PREPARE],
-[CARES_CHECK_PATH_SEPARATOR
-m4_define([$0],[])])
-
-m4_defun([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR],
-[CARES_CHECK_PATH_SEPARATOR
-m4_define([$0],[])])
-
diff --git a/ares/m4/cares-reentrant.m4 b/ares/m4/cares-reentrant.m4
deleted file mode 100644 (file)
index 052326b..0000000
+++ /dev/null
@@ -1,611 +0,0 @@
-#***************************************************************************
-# $Id$
-#
-# Copyright (C) 2008 - 2009 by Daniel Stenberg et al
-#
-# Permission to use, copy, modify, and distribute this software and its
-# documentation for any purpose and without fee is hereby granted, provided
-# that the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-#***************************************************************************
-
-# File version for 'aclocal' use. Keep it a single number.
-# serial 6
-
-dnl Note 1
-dnl ------
-dnl None of the CARES_CHECK_NEED_REENTRANT_* macros shall use HAVE_FOO_H to
-dnl conditionally include header files. These macros are used early in the
-dnl configure process much before header file availability is known.
-
-
-dnl CARES_CHECK_NEED_REENTRANT_ERRNO
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes errno available as a preprocessor macro.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_ERRNO], [
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-#include <errno.h>
-    ]],[[
-      if(0 != errno)
-        return 1;
-    ]])
-  ],[
-    tmp_errno="yes"
-  ],[
-    tmp_errno="no"
-  ])
-  if test "$tmp_errno" = "yes"; then
-    AC_COMPILE_IFELSE([
-      AC_LANG_PROGRAM([[
-#include <errno.h>
-      ]],[[
-#ifdef errno
-        int dummy=1;
-#else
-        force compilation error
-#endif
-      ]])
-    ],[
-      tmp_errno="errno_macro_defined"
-    ],[
-      AC_COMPILE_IFELSE([
-        AC_LANG_PROGRAM([[
-#define _REENTRANT
-#include <errno.h>
-        ]],[[
-#ifdef errno
-          int dummy=1;
-#else
-          force compilation error
-#endif
-        ]])
-      ],[
-        tmp_errno="errno_macro_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_GMTIME_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function gmtime_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GMTIME_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([gmtime_r])
-  ],[
-    tmp_gmtime_r="yes"
-  ],[
-    tmp_gmtime_r="no"
-  ])
-  if test "$tmp_gmtime_r" = "yes"; then
-    AC_EGREP_CPP([gmtime_r],[
-#include <sys/types.h>
-#include <time.h>
-    ],[
-      tmp_gmtime_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([gmtime_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <time.h>
-      ],[
-        tmp_gmtime_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_LOCALTIME_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function localtime_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_LOCALTIME_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([localtime_r])
-  ],[
-    tmp_localtime_r="yes"
-  ],[
-    tmp_localtime_r="no"
-  ])
-  if test "$tmp_localtime_r" = "yes"; then
-    AC_EGREP_CPP([localtime_r],[
-#include <sys/types.h>
-#include <time.h>
-    ],[
-      tmp_localtime_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([localtime_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <time.h>
-      ],[
-        tmp_localtime_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_STRERROR_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function strerror_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_STRERROR_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([strerror_r])
-  ],[
-    tmp_strerror_r="yes"
-  ],[
-    tmp_strerror_r="no"
-  ])
-  if test "$tmp_strerror_r" = "yes"; then
-    AC_EGREP_CPP([strerror_r],[
-#include <sys/types.h>
-#include <string.h>
-    ],[
-      tmp_strerror_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([strerror_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <string.h>
-      ],[
-        tmp_strerror_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_STRTOK_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function strtok_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_STRTOK_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([strtok_r])
-  ],[
-    tmp_strtok_r="yes"
-  ],[
-    tmp_strtok_r="no"
-  ])
-  if test "$tmp_strtok_r" = "yes"; then
-    AC_EGREP_CPP([strtok_r],[
-#include <sys/types.h>
-#include <string.h>
-    ],[
-      tmp_strtok_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([strtok_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <string.h>
-      ],[
-        tmp_strtok_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_INET_NTOA_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function inet_ntoa_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_INET_NTOA_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([inet_ntoa_r])
-  ],[
-    tmp_inet_ntoa_r="yes"
-  ],[
-    tmp_inet_ntoa_r="no"
-  ])
-  if test "$tmp_inet_ntoa_r" = "yes"; then
-    AC_EGREP_CPP([inet_ntoa_r],[
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-    ],[
-      tmp_inet_ntoa_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([inet_ntoa_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-      ],[
-        tmp_inet_ntoa_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function gethostbyaddr_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r])
-  ],[
-    tmp_gethostbyaddr_r="yes"
-  ],[
-    tmp_gethostbyaddr_r="no"
-  ])
-  if test "$tmp_gethostbyaddr_r" = "yes"; then
-    AC_EGREP_CPP([gethostbyaddr_r],[
-#include <sys/types.h>
-#include <netdb.h>
-    ],[
-      tmp_gethostbyaddr_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([gethostbyaddr_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-      ],[
-        tmp_gethostbyaddr_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function gethostbyname_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([gethostbyname_r])
-  ],[
-    tmp_gethostbyname_r="yes"
-  ],[
-    tmp_gethostbyname_r="no"
-  ])
-  if test "$tmp_gethostbyname_r" = "yes"; then
-    AC_EGREP_CPP([gethostbyname_r],[
-#include <sys/types.h>
-#include <netdb.h>
-    ],[
-      tmp_gethostbyname_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([gethostbyname_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-      ],[
-        tmp_gethostbyname_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function getprotobyname_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([getprotobyname_r])
-  ],[
-    tmp_getprotobyname_r="yes"
-  ],[
-    tmp_getprotobyname_r="no"
-  ])
-  if test "$tmp_getprotobyname_r" = "yes"; then
-    AC_EGREP_CPP([getprotobyname_r],[
-#include <sys/types.h>
-#include <netdb.h>
-    ],[
-      tmp_getprotobyname_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([getprotobyname_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-      ],[
-        tmp_getprotobyname_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function getservbyport_r compiler visible.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [
-  AC_LINK_IFELSE([
-    AC_LANG_FUNC_LINK_TRY([getservbyport_r])
-  ],[
-    tmp_getservbyport_r="yes"
-  ],[
-    tmp_getservbyport_r="no"
-  ])
-  if test "$tmp_getservbyport_r" = "yes"; then
-    AC_EGREP_CPP([getservbyport_r],[
-#include <sys/types.h>
-#include <netdb.h>
-    ],[
-      tmp_getservbyport_r="proto_declared"
-    ],[
-      AC_EGREP_CPP([getservbyport_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-      ],[
-        tmp_getservbyport_r="proto_needs_reentrant"
-        tmp_need_reentrant="yes"
-      ])
-    ])
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes several _r functions compiler visible.
-dnl Internal macro for CARES_CONFIGURE_REENTRANT.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_GMTIME_R
-  fi
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_LOCALTIME_R
-  fi
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_STRERROR_R
-  fi
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_STRTOK_R
-  fi
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_INET_NTOA_R
-  fi
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
-  fi
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
-  fi
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
-  fi
-  if test "$tmp_need_reentrant" = "no"; then
-    CARES_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
-  fi
-])
-
-
-dnl CARES_CHECK_NEED_REENTRANT_SYSTEM
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl must be unconditionally done for this platform.
-dnl Internal macro for CARES_CONFIGURE_REENTRANT.
-
-AC_DEFUN([CARES_CHECK_NEED_REENTRANT_SYSTEM], [
-  case $host_os in
-    solaris*)
-      tmp_need_reentrant="yes"
-      ;;
-    *)
-      tmp_need_reentrant="no"
-      ;;
-  esac
-])
-
-
-dnl CARES_CHECK_NEED_THREAD_SAFE_SYSTEM
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _THREAD_SAFE definition
-dnl must be unconditionally done for this platform.
-dnl Internal macro for CARES_CONFIGURE_THREAD_SAFE.
-
-AC_DEFUN([CARES_CHECK_NEED_THREAD_SAFE_SYSTEM], [
-  case $host_os in
-    aix[[123]].* | aix4.[[012]].*)
-      dnl aix 4.2 and older
-      tmp_need_thread_safe="no"
-      ;;
-    aix*)
-      dnl AIX 4.3 and newer
-      tmp_need_thread_safe="yes"
-      ;;
-    *)
-      tmp_need_thread_safe="no"
-      ;;
-  esac
-])
-
-
-dnl CARES_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
-dnl -------------------------------------------------
-dnl This macro ensures that configuration tests done
-dnl after this will execute with preprocessor symbol
-dnl _REENTRANT defined. This macro also ensures that
-dnl the generated config file defines NEED_REENTRANT
-dnl and that in turn setup.h will define _REENTRANT.
-dnl Internal macro for CARES_CONFIGURE_REENTRANT.
-
-AC_DEFUN([CARES_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [
-AC_DEFINE(NEED_REENTRANT, 1,
-  [Define to 1 if _REENTRANT preprocessor symbol must be defined.])
-cat >>confdefs.h <<_EOF
-#ifndef _REENTRANT
-#  define _REENTRANT
-#endif
-_EOF
-])
-
-
-dnl CARES_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE
-dnl -------------------------------------------------
-dnl This macro ensures that configuration tests done
-dnl after this will execute with preprocessor symbol
-dnl _THREAD_SAFE defined. This macro also ensures that
-dnl the generated config file defines NEED_THREAD_SAFE
-dnl and that in turn setup.h will define _THREAD_SAFE.
-dnl Internal macro for CARES_CONFIGURE_THREAD_SAFE.
-
-AC_DEFUN([CARES_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE], [
-AC_DEFINE(NEED_THREAD_SAFE, 1,
-  [Define to 1 if _THREAD_SAFE preprocessor symbol must be defined.])
-cat >>confdefs.h <<_EOF
-#ifndef _THREAD_SAFE
-#  define _THREAD_SAFE
-#endif
-_EOF
-])
-
-
-dnl CARES_CONFIGURE_REENTRANT
-dnl -------------------------------------------------
-dnl This first checks if the preprocessor _REENTRANT
-dnl symbol is already defined. If it isn't currently
-dnl defined a set of checks are performed to verify
-dnl if its definition is required to make visible to
-dnl the compiler a set of *_r functions. Finally, if
-dnl _REENTRANT is already defined or needed it takes
-dnl care of making adjustments necessary to ensure
-dnl that it is defined equally for further configure
-dnl tests and generated config file.
-
-AC_DEFUN([CARES_CONFIGURE_REENTRANT], [
-  AC_PREREQ([2.50])dnl
-  #
-  AC_MSG_CHECKING([if _REENTRANT is already defined])
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-    ]],[[
-#ifdef _REENTRANT
-      int dummy=1;
-#else
-      force compilation error
-#endif
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tmp_reentrant_initially_defined="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tmp_reentrant_initially_defined="no"
-  ])
-  #
-  if test "$tmp_reentrant_initially_defined" = "no"; then
-    AC_MSG_CHECKING([if _REENTRANT is actually needed])
-    CARES_CHECK_NEED_REENTRANT_SYSTEM
-    if test "$tmp_need_reentrant" = "no"; then
-      CARES_CHECK_NEED_REENTRANT_ERRNO
-    fi
-    if test "$tmp_need_reentrant" = "no"; then
-      CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R
-    fi
-    if test "$tmp_need_reentrant" = "yes"; then
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if _REENTRANT is onwards defined])
-  if test "$tmp_reentrant_initially_defined" = "yes" ||
-    test "$tmp_need_reentrant" = "yes"; then
-    CARES_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
-    AC_MSG_RESULT([yes])
-  else
-    AC_MSG_RESULT([no])
-  fi
-  #
-])
-
-
-dnl CARES_CONFIGURE_THREAD_SAFE
-dnl -------------------------------------------------
-dnl This first checks if the preprocessor _THREAD_SAFE
-dnl symbol is already defined. If it isn't currently
-dnl defined a set of checks are performed to verify
-dnl if its definition is required. Finally, if
-dnl _THREAD_SAFE is already defined or needed it takes
-dnl care of making adjustments necessary to ensure
-dnl that it is defined equally for further configure
-dnl tests and generated config file.
-
-AC_DEFUN([CARES_CONFIGURE_THREAD_SAFE], [
-  AC_PREREQ([2.50])dnl
-  #
-  AC_MSG_CHECKING([if _THREAD_SAFE is already defined])
-  AC_COMPILE_IFELSE([
-    AC_LANG_PROGRAM([[
-    ]],[[
-#ifdef _THREAD_SAFE
-      int dummy=1;
-#else
-      force compilation error
-#endif
-    ]])
-  ],[
-    AC_MSG_RESULT([yes])
-    tmp_thread_safe_initially_defined="yes"
-  ],[
-    AC_MSG_RESULT([no])
-    tmp_thread_safe_initially_defined="no"
-  ])
-  #
-  if test "$tmp_thread_safe_initially_defined" = "no"; then
-    AC_MSG_CHECKING([if _THREAD_SAFE is actually needed])
-    CARES_CHECK_NEED_THREAD_SAFE_SYSTEM
-    if test "$tmp_need_thread_safe" = "yes"; then
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-  fi
-  #
-  AC_MSG_CHECKING([if _THREAD_SAFE is onwards defined])
-  if test "$tmp_thread_safe_initially_defined" = "yes" ||
-    test "$tmp_need_thread_safe" = "yes"; then
-    CARES_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE
-    AC_MSG_RESULT([yes])
-  else
-    AC_MSG_RESULT([no])
-  fi
-  #
-])
diff --git a/ares/m4/cares-system.m4 b/ares/m4/cares-system.m4
deleted file mode 100644 (file)
index f0adc89..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#***************************************************************************
-# $Id$
-#
-# Copyright (C) 2008 - 2009 by Daniel Stenberg et al
-#
-# Permission to use, copy, modify, and distribute this software and its
-# documentation for any purpose and without fee is hereby granted, provided
-# that the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-#***************************************************************************
-
-# File version for 'aclocal' use. Keep it a single number.
-# serial 3
-
-
-dnl CARES_CHECK_PATH_SEPARATOR
-dnl -------------------------------------------------
-dnl Check and compute the path separator for us. This
-dnl path separator is the symbol used to diferentiate
-dnl or separate paths inside the PATH environment var.
-
-AC_DEFUN([CARES_CHECK_PATH_SEPARATOR], [
-  if test -z "$cares_cv_PATH_SEPARATOR"; then
-    if test -z "$PATH"; then
-      AC_MSG_ERROR([PATH not set. Cannot continue without PATH being set.])
-    fi
-    dnl Directory count in PATH when using a colon separator.
-    tst_dirs_col=0
-    tst_save_IFS=$IFS; IFS=':'
-    for tst_dir in $PATH; do
-      IFS=$tst_save_IFS
-      test -d "$tst_dir" && tst_dirs_col=`expr $tst_dirs_col + 1`
-    done
-    IFS=$tst_save_IFS
-    dnl Directory count in PATH when using a semicolon separator.
-    tst_dirs_sem=0
-    tst_save_IFS=$IFS; IFS=';'
-    for tst_dir in $PATH; do
-      IFS=$tst_save_IFS
-      test -d "$tst_dir" && tst_dirs_sem=`expr $tst_dirs_sem + 1`
-    done
-    IFS=$tst_save_IFS
-    if test $tst_dirs_sem -eq $tst_dirs_col; then
-      dnl When both counting methods give the same result we do not want to
-      dnl chose one over the other, and consider auto-detection not possible.
-      if test -z "$PATH_SEPARATOR"; then
-        dnl Stop dead until user provides PATH_SEPARATOR definition.
-        AC_MSG_ERROR([PATH_SEPARATOR not set. Cannot continue without it.])
-      fi
-    else
-      dnl Separator with the greater directory count is the auto-detected one.
-      if test $tst_dirs_sem -gt $tst_dirs_col; then
-        tst_auto_separator=';'
-      else
-        tst_auto_separator=':'
-      fi
-      if test -z "$PATH_SEPARATOR"; then
-        dnl Simply use the auto-detected one when not already set.
-        PATH_SEPARATOR="$tst_auto_separator"
-      fi
-    fi
-    cares_cv_PATH_SEPARATOR="$PATH_SEPARATOR"
-  fi
-  AC_SUBST([PATH_SEPARATOR])
-  AC_SUBST([PATH])
-])
-
-
-dnl CARES_CHECK_PATH_SEPARATOR_REQUIRED
-dnl -------------------------------------------------
-dnl Use this to ensure that the path separator check
-dnl macro is only expanded and included once.
-
-AC_DEFUN([CARES_CHECK_PATH_SEPARATOR_REQUIRED], [
-  AC_REQUIRE([CARES_CHECK_PATH_SEPARATOR])dnl
-])
-
diff --git a/ares/maketgz b/ares/maketgz
deleted file mode 100755 (executable)
index 147f0e5..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/env perl
-
-$version = $ARGV[0];
-
-if($version eq "") {
-    print "Enter version number!\n";
-    exit;
-}
-
-if(!-f "ares.h") {
-    print "run this script in the ares source root dir\n";
-    exit;
-}
-
-my ($major, $minor, $patch)=split(/\./, $version);
-
-$major += 0;
-$minor += 0;
-$patch += 0;
-
-open(VER, "<ares_version.h") ||
-    die "can't open ares_version.h";
-open(NEWV, ">ares_version.h.dist");
-while(<VER>) {
-    $_ =~ s/^\#define ARES_VERSION_MAJOR .*/\#define ARES_VERSION_MAJOR $major/;
-    $_ =~ s/^\#define ARES_VERSION_MINOR .*/\#define ARES_VERSION_MINOR $minor/;
-    $_ =~ s/^\#define ARES_VERSION_PATCH .*/\#define ARES_VERSION_PATCH $patch/;
-    $_ =~ s/^\#define ARES_VERSION_STR .*/\#define ARES_VERSION_STR \"$version\"/;
-
-    print NEWV $_;
-}
-close(VER);
-close(NEWV);
-print "ares_version.h.dist created\n";
-
-if(!-f "configure") {
-    print "running buildconf\n";
-    `./buildconf`;
-}
-print "adding $version in the configure.ac file\n";
-`sed -e 's/AC_INIT.*/AC_INIT([c-ares], [$version],/' < configure.ac > configure.ac.dist`;
-
-# now make a new configure script with this
-print "makes a new configure script\n";
-`autoconf configure.ac.dist >configure`;
-
-# now run this new configure to get a fine makefile
-print "running configure\n";
-`./configure`;
-
-# generate HTML versions of man pages
-# Deactivated for now. It seems that man pages need some adjustments
-# relative to paragraph and/or line breaks for proper html formatting.
-# EXTRA_DIST will need $(HTMLPAGES) when this is fully activated.
-# print "running make html\n";
-# `make -s html`;
-
-# generate PDF versions of man pages
-print "running make pdf\n";
-`make -s pdf`;
-
-# now make the actual tarball
-print "running make dist\n";
-`make dist VERSION=$version`;
-
-# remove temporay sourced man pages
-`make -s clean-sourced-manpages`;
-
-print "removing temporary configure.ac file\n";
-`rm configure.ac.dist`;
-print "removing temporary ares_version.h file\n";
-`rm ares_version.h.dist`;
-
-print "NOTE: now cvs tag this release!\n";
diff --git a/ares/mkinstalldirs b/ares/mkinstalldirs
deleted file mode 100755 (executable)
index d0fd194..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id$
-
-errstatus=0
-
-for file
-do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
-
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
-
-     if test ! -d "$pathcomp"; then
-        echo "mkdir $pathcomp" 1>&2
-
-        mkdir "$pathcomp" || lasterr=$?
-
-        if test ! -d "$pathcomp"; then
-         errstatus=$lasterr
-        fi
-     fi
-
-     pathcomp="$pathcomp/"
-   done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/ares/nameser.h b/ares/nameser.h
deleted file mode 100644 (file)
index 3d80096..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/* $Id$ */
-
-#ifndef ARES_NAMESER_H
-#define ARES_NAMESER_H
-
-/* header file provided by liren@vivisimo.com */
-
-#ifndef HAVE_ARPA_NAMESER_H
-
-#define NS_PACKETSZ     512   /* maximum packet size */
-#define NS_MAXDNAME     256   /* maximum domain name */
-#define NS_MAXCDNAME    255   /* maximum compressed domain name */
-#define NS_MAXLABEL     63
-#define NS_HFIXEDSZ     12    /* #/bytes of fixed data in header */
-#define NS_QFIXEDSZ     4     /* #/bytes of fixed data in query */
-#define NS_RRFIXEDSZ    10    /* #/bytes of fixed data in r record */
-#define NS_INT16SZ      2
-#define NS_INADDRSZ     4
-#define NS_IN6ADDRSZ    16
-#define NS_CMPRSFLGS    0xc0  /* Flag bits indicating name compression. */
-#define NS_DEFAULTPORT  53    /* For both TCP and UDP. */
-
-typedef enum __ns_class {
-    ns_c_invalid = 0,       /* Cookie. */
-    ns_c_in = 1,            /* Internet. */
-    ns_c_2 = 2,             /* unallocated/unsupported. */
-    ns_c_chaos = 3,         /* MIT Chaos-net. */
-    ns_c_hs = 4,            /* MIT Hesiod. */
-    /* Query class values which do not appear in resource records */
-    ns_c_none = 254,        /* for prereq. sections in update requests */
-    ns_c_any = 255,         /* Wildcard match. */
-    ns_c_max = 65536
-} ns_class;
-
-typedef enum __ns_type {
-    ns_t_invalid = 0,       /* Cookie. */
-    ns_t_a = 1,             /* Host address. */
-    ns_t_ns = 2,            /* Authoritative server. */
-    ns_t_md = 3,            /* Mail destination. */
-    ns_t_mf = 4,            /* Mail forwarder. */
-    ns_t_cname = 5,         /* Canonical name. */
-    ns_t_soa = 6,           /* Start of authority zone. */
-    ns_t_mb = 7,            /* Mailbox domain name. */
-    ns_t_mg = 8,            /* Mail group member. */
-    ns_t_mr = 9,            /* Mail rename name. */
-    ns_t_null = 10,         /* Null resource record. */
-    ns_t_wks = 11,          /* Well known service. */
-    ns_t_ptr = 12,          /* Domain name pointer. */
-    ns_t_hinfo = 13,        /* Host information. */
-    ns_t_minfo = 14,        /* Mailbox information. */
-    ns_t_mx = 15,           /* Mail routing information. */
-    ns_t_txt = 16,          /* Text strings. */
-    ns_t_rp = 17,           /* Responsible person. */
-    ns_t_afsdb = 18,        /* AFS cell database. */
-    ns_t_x25 = 19,          /* X_25 calling address. */
-    ns_t_isdn = 20,         /* ISDN calling address. */
-    ns_t_rt = 21,           /* Router. */
-    ns_t_nsap = 22,         /* NSAP address. */
-    ns_t_nsap_ptr = 23,     /* Reverse NSAP lookup (deprecated). */
-    ns_t_sig = 24,          /* Security signature. */
-    ns_t_key = 25,          /* Security key. */
-    ns_t_px = 26,           /* X.400 mail mapping. */
-    ns_t_gpos = 27,         /* Geographical position (withdrawn). */
-    ns_t_aaaa = 28,         /* Ip6 Address. */
-    ns_t_loc = 29,          /* Location Information. */
-    ns_t_nxt = 30,          /* Next domain (security). */
-    ns_t_eid = 31,          /* Endpoint identifier. */
-    ns_t_nimloc = 32,       /* Nimrod Locator. */
-    ns_t_srv = 33,          /* Server Selection. */
-    ns_t_atma = 34,         /* ATM Address */
-    ns_t_naptr = 35,        /* Naming Authority PoinTeR */
-    ns_t_kx = 36,           /* Key Exchange */
-    ns_t_cert = 37,         /* Certification record */
-    ns_t_a6 = 38,           /* IPv6 address (deprecates AAAA) */
-    ns_t_dname = 39,        /* Non-terminal DNAME (for IPv6) */
-    ns_t_sink = 40,         /* Kitchen sink (experimentatl) */
-    ns_t_opt = 41,          /* EDNS0 option (meta-RR) */
-    ns_t_apl = 42,          /* Address prefix list (RFC3123) */
-    ns_t_tkey = 249,        /* Transaction key */
-    ns_t_tsig = 250,        /* Transaction signature. */
-    ns_t_ixfr = 251,        /* Incremental zone transfer. */
-    ns_t_axfr = 252,        /* Transfer zone of authority. */
-    ns_t_mailb = 253,       /* Transfer mailbox records. */
-    ns_t_maila = 254,       /* Transfer mail agent records. */
-    ns_t_any = 255,         /* Wildcard match. */
-    ns_t_zxfr = 256,        /* BIND-specific, nonstandard. */
-    ns_t_max = 65536
-} ns_type;
-
-typedef enum __ns_opcode {
-    ns_o_query = 0,         /* Standard query. */
-    ns_o_iquery = 1,        /* Inverse query (deprecated/unsupported). */
-    ns_o_status = 2,        /* Name server status query (unsupported). */
-                                /* Opcode 3 is undefined/reserved. */
-    ns_o_notify = 4,        /* Zone change notification. */
-    ns_o_update = 5,        /* Zone update message. */
-    ns_o_max = 6
-} ns_opcode;
-
-typedef enum __ns_rcode {
-    ns_r_noerror = 0,       /* No error occurred. */
-    ns_r_formerr = 1,       /* Format error. */
-    ns_r_servfail = 2,      /* Server failure. */
-    ns_r_nxdomain = 3,      /* Name error. */
-    ns_r_notimpl = 4,       /* Unimplemented. */
-    ns_r_refused = 5,       /* Operation refused. */
-    /* these are for BIND_UPDATE */
-    ns_r_yxdomain = 6,      /* Name exists */
-    ns_r_yxrrset = 7,       /* RRset exists */
-    ns_r_nxrrset = 8,       /* RRset does not exist */
-    ns_r_notauth = 9,       /* Not authoritative for zone */
-    ns_r_notzone = 10,      /* Zone of record different from zone section */
-    ns_r_max = 11,
-    /* The following are TSIG extended errors */
-    ns_r_badsig = 16,
-    ns_r_badkey = 17,
-    ns_r_badtime = 18
-} ns_rcode;
-
-#endif /* HAVE_ARPA_NAMESER_H */
-
-#ifndef HAVE_ARPA_NAMESER_COMPAT_H
-
-#define PACKETSZ         NS_PACKETSZ
-#define MAXDNAME         NS_MAXDNAME
-#define MAXCDNAME        NS_MAXCDNAME
-#define MAXLABEL         NS_MAXLABEL
-#define HFIXEDSZ         NS_HFIXEDSZ
-#define QFIXEDSZ         NS_QFIXEDSZ
-#define RRFIXEDSZ        NS_RRFIXEDSZ
-#define INDIR_MASK       NS_CMPRSFLGS
-#define NAMESERVER_PORT  NS_DEFAULTPORT
-
-#define QUERY           ns_o_query
-
-#define SERVFAIL        ns_r_servfail
-#define NOTIMP          ns_r_notimpl
-#define REFUSED         ns_r_refused
-#undef NOERROR /* it seems this is already defined in winerror.h */
-#define NOERROR         ns_r_noerror
-#define FORMERR         ns_r_formerr
-#define NXDOMAIN        ns_r_nxdomain
-
-#define C_IN            ns_c_in
-#define C_CHAOS         ns_c_chaos
-#define C_HS            ns_c_hs
-#define C_NONE          ns_c_none
-#define C_ANY           ns_c_any
-
-#define T_A             ns_t_a
-#define T_NS            ns_t_ns
-#define T_MD            ns_t_md
-#define T_MF            ns_t_mf
-#define T_CNAME         ns_t_cname
-#define T_SOA           ns_t_soa
-#define T_MB            ns_t_mb
-#define T_MG            ns_t_mg
-#define T_MR            ns_t_mr
-#define T_NULL          ns_t_null
-#define T_WKS           ns_t_wks
-#define T_PTR           ns_t_ptr
-#define T_HINFO         ns_t_hinfo
-#define T_MINFO         ns_t_minfo
-#define T_MX            ns_t_mx
-#define T_TXT           ns_t_txt
-#define T_RP            ns_t_rp
-#define T_AFSDB         ns_t_afsdb
-#define T_X25           ns_t_x25
-#define T_ISDN          ns_t_isdn
-#define T_RT            ns_t_rt
-#define T_NSAP          ns_t_nsap
-#define T_NSAP_PTR      ns_t_nsap_ptr
-#define T_SIG           ns_t_sig
-#define T_KEY           ns_t_key
-#define T_PX            ns_t_px
-#define T_GPOS          ns_t_gpos
-#define T_AAAA          ns_t_aaaa
-#define T_LOC           ns_t_loc
-#define T_NXT           ns_t_nxt
-#define T_EID           ns_t_eid
-#define T_NIMLOC        ns_t_nimloc
-#define T_SRV           ns_t_srv
-#define T_ATMA          ns_t_atma
-#define T_NAPTR         ns_t_naptr
-#define T_TSIG          ns_t_tsig
-#define T_IXFR          ns_t_ixfr
-#define T_AXFR          ns_t_axfr
-#define T_MAILB         ns_t_mailb
-#define T_MAILA         ns_t_maila
-#define T_ANY           ns_t_any
-
-#endif /* HAVE_ARPA_NAMESER_COMPAT_H */
-
-#endif /* ARES_NAMESER_H */
diff --git a/ares/setup_once.h b/ares/setup_once.h
deleted file mode 100644 (file)
index 95722b2..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-#ifndef __SETUP_ONCE_H
-#define __SETUP_ONCE_H
-
-/* $Id$ */
-
-/* Copyright (C) 2004 - 2009 by Daniel Stenberg et al
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  M.I.T. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- */
-
-
-/********************************************************************
- *                              NOTICE                              *
- *                             ========                             *
- *                                                                  *
- *  Content of header files lib/setup_once.h and ares/setup_once.h  *
- *  must be kept in sync. Modify the other one if you change this.  *
- *                                                                  *
- ********************************************************************/
-
-
-/*
- * Inclusion of common header files.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
-#include <ctype.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-
-#ifdef NEED_MEMORY_H
-#include <memory.h>
-#endif
-
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-
-#ifdef WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-
-
-/*
- * Definition of timeval struct for platforms that don't have it.
- */
-
-#ifndef HAVE_STRUCT_TIMEVAL
-struct timeval {
- long tv_sec;
- long tv_usec;
-};
-#endif
-
-
-/*
- * If we have the MSG_NOSIGNAL define, make sure we use
- * it as the fourth argument of function send()
- */
-
-#ifdef HAVE_MSG_NOSIGNAL
-#define SEND_4TH_ARG MSG_NOSIGNAL
-#else
-#define SEND_4TH_ARG 0
-#endif
-
-
-#if defined(__minix)
-/* Minix doesn't support recv on TCP sockets */
-#define sread(x,y,z) (ssize_t)read((RECV_TYPE_ARG1)(x), \
-                                   (RECV_TYPE_ARG2)(y), \
-                                   (RECV_TYPE_ARG3)(z))
-
-#elif defined(HAVE_RECV)
-/*
- * The definitions for the return type and arguments types
- * of functions recv() and send() belong and come from the
- * configuration file. Do not define them in any other place.
- *
- * HAVE_RECV is defined if you have a function named recv()
- * which is used to read incoming data from sockets. If your
- * function has another name then don't define HAVE_RECV.
- *
- * If HAVE_RECV is defined then RECV_TYPE_ARG1, RECV_TYPE_ARG2,
- * RECV_TYPE_ARG3, RECV_TYPE_ARG4 and RECV_TYPE_RETV must also
- * be defined.
- *
- * HAVE_SEND is defined if you have a function named send()
- * which is used to write outgoing data on a connected socket.
- * If yours has another name then don't define HAVE_SEND.
- *
- * If HAVE_SEND is defined then SEND_TYPE_ARG1, SEND_QUAL_ARG2,
- * SEND_TYPE_ARG2, SEND_TYPE_ARG3, SEND_TYPE_ARG4 and
- * SEND_TYPE_RETV must also be defined.
- */
-
-#if !defined(RECV_TYPE_ARG1) || \
-    !defined(RECV_TYPE_ARG2) || \
-    !defined(RECV_TYPE_ARG3) || \
-    !defined(RECV_TYPE_ARG4) || \
-    !defined(RECV_TYPE_RETV)
-  /* */
-  Error Missing_definition_of_return_and_arguments_types_of_recv
-  /* */
-#else
-#define sread(x,y,z) (ssize_t)recv((RECV_TYPE_ARG1)(x), \
-                                   (RECV_TYPE_ARG2)(y), \
-                                   (RECV_TYPE_ARG3)(z), \
-                                   (RECV_TYPE_ARG4)(0))
-#endif
-#else /* HAVE_RECV */
-#ifndef sread
-  /* */
-  Error Missing_definition_of_macro_sread
-  /* */
-#endif
-#endif /* HAVE_RECV */
-
-
-#if defined(__minix)
-/* Minix doesn't support send on TCP sockets */
-#define swrite(x,y,z) (ssize_t)write((SEND_TYPE_ARG1)(x), \
-                                    (SEND_TYPE_ARG2)(y), \
-                                    (SEND_TYPE_ARG3)(z))
-
-#elif defined(HAVE_SEND)
-#if !defined(SEND_TYPE_ARG1) || \
-    !defined(SEND_QUAL_ARG2) || \
-    !defined(SEND_TYPE_ARG2) || \
-    !defined(SEND_TYPE_ARG3) || \
-    !defined(SEND_TYPE_ARG4) || \
-    !defined(SEND_TYPE_RETV)
-  /* */
-  Error Missing_definition_of_return_and_arguments_types_of_send
-  /* */
-#else
-#define swrite(x,y,z) (ssize_t)send((SEND_TYPE_ARG1)(x), \
-                                    (SEND_TYPE_ARG2)(y), \
-                                    (SEND_TYPE_ARG3)(z), \
-                                    (SEND_TYPE_ARG4)(SEND_4TH_ARG))
-#endif
-#else /* HAVE_SEND */
-#ifndef swrite
-  /* */
-  Error Missing_definition_of_macro_swrite
-  /* */
-#endif
-#endif /* HAVE_SEND */
-
-
-#if 0
-#if defined(HAVE_RECVFROM)
-/*
- * Currently recvfrom is only used on udp sockets.
- */
-#if !defined(RECVFROM_TYPE_ARG1) || \
-    !defined(RECVFROM_TYPE_ARG2) || \
-    !defined(RECVFROM_TYPE_ARG3) || \
-    !defined(RECVFROM_TYPE_ARG4) || \
-    !defined(RECVFROM_TYPE_ARG5) || \
-    !defined(RECVFROM_TYPE_ARG6) || \
-    !defined(RECVFROM_TYPE_RETV)
-  /* */
-  Error Missing_definition_of_return_and_arguments_types_of_recvfrom
-  /* */
-#else
-#define sreadfrom(s,b,bl,f,fl) (ssize_t)recvfrom((RECVFROM_TYPE_ARG1)  (s),  \
-                                                 (RECVFROM_TYPE_ARG2 *)(b),  \
-                                                 (RECVFROM_TYPE_ARG3)  (bl), \
-                                                 (RECVFROM_TYPE_ARG4)  (0),  \
-                                                 (RECVFROM_TYPE_ARG5 *)(f),  \
-                                                 (RECVFROM_TYPE_ARG6 *)(fl))
-#endif
-#else /* HAVE_RECVFROM */
-#ifndef sreadfrom
-  /* */
-  Error Missing_definition_of_macro_sreadfrom
-  /* */
-#endif
-#endif /* HAVE_RECVFROM */
-
-
-#ifdef RECVFROM_TYPE_ARG6_IS_VOID
-#  define RECVFROM_ARG6_T int
-#else
-#  define RECVFROM_ARG6_T RECVFROM_TYPE_ARG6
-#endif
-#endif /* if 0 */
-
-
-/*
- * Function-like macro definition used to close a socket.
- */
-
-#if defined(HAVE_CLOSESOCKET)
-#  define sclose(x)  closesocket((x))
-#elif defined(HAVE_CLOSESOCKET_CAMEL)
-#  define sclose(x)  CloseSocket((x))
-#else
-#  define sclose(x)  close((x))
-#endif
-
-
-/*
- * Uppercase macro versions of ANSI/ISO is*() functions/macros which
- * avoid negative number inputs with argument byte codes > 127.
- */
-
-#define ISSPACE(x)  (isspace((int)  ((unsigned char)x)))
-#define ISDIGIT(x)  (isdigit((int)  ((unsigned char)x)))
-#define ISALNUM(x)  (isalnum((int)  ((unsigned char)x)))
-#define ISXDIGIT(x) (isxdigit((int) ((unsigned char)x)))
-#define ISGRAPH(x)  (isgraph((int)  ((unsigned char)x)))
-#define ISALPHA(x)  (isalpha((int)  ((unsigned char)x)))
-#define ISPRINT(x)  (isprint((int)  ((unsigned char)x)))
-#define ISUPPER(x)  (isupper((int)  ((unsigned char)x)))
-#define ISLOWER(x)  (islower((int)  ((unsigned char)x)))
-
-#define ISBLANK(x)  (int)((((unsigned char)x) == ' ') || \
-                          (((unsigned char)x) == '\t'))
-
-
-/*
- * Typedef to 'unsigned char' if bool is not an available 'typedefed' type.
- */
-
-#ifndef HAVE_BOOL_T
-typedef unsigned char bool;
-#define HAVE_BOOL_T
-#endif
-
-
-/*
- * Default definition of uppercase TRUE and FALSE.
- */
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-
-/*
- * Typedef to 'int' if sig_atomic_t is not an available 'typedefed' type.
- */
-
-#ifndef HAVE_SIG_ATOMIC_T
-typedef int sig_atomic_t;
-#define HAVE_SIG_ATOMIC_T
-#endif
-
-
-/*
- * Convenience SIG_ATOMIC_T definition
- */
-
-#ifdef HAVE_SIG_ATOMIC_T_VOLATILE
-#define SIG_ATOMIC_T static sig_atomic_t
-#else
-#define SIG_ATOMIC_T static volatile sig_atomic_t
-#endif
-
-
-/*
- * Default return type for signal handlers.
- */
-
-#ifndef RETSIGTYPE
-#define RETSIGTYPE void
-#endif
-
-
-/*
- * Macro used to include code only in debug builds.
- */
-
-#ifdef DEBUGBUILD
-#define DEBUGF(x) x
-#else
-#define DEBUGF(x) do { } while (0)
-#endif
-
-
-/*
- * Macro used to include assertion code only in debug builds.
- */
-
-#if defined(DEBUGBUILD) && defined(HAVE_ASSERT_H)
-#define DEBUGASSERT(x) assert(x)
-#else
-#define DEBUGASSERT(x) do { } while (0)
-#endif
-
-
-/*
- * Macro SOCKERRNO / SET_SOCKERRNO() returns / sets the *socket-related* errno
- * (or equivalent) on this platform to hide platform details to code using it.
- */
-
-#ifdef USE_WINSOCK
-#define SOCKERRNO         ((int)WSAGetLastError())
-#define SET_SOCKERRNO(x)  (WSASetLastError((int)(x)))
-#else
-#define SOCKERRNO         (errno)
-#define SET_SOCKERRNO(x)  (errno = (x))
-#endif
-
-
-/*
- * Macro ERRNO / SET_ERRNO() returns / sets the NOT *socket-related* errno
- * (or equivalent) on this platform to hide platform details to code using it.
- */
-
-#ifdef WIN32
-#define ERRNO         ((int)GetLastError())
-#define SET_ERRNO(x)  (SetLastError((DWORD)(x)))
-#else
-#define ERRNO         (errno)
-#define SET_ERRNO(x)  (errno = (x))
-#endif
-
-
-/*
- * Portable error number symbolic names defined to Winsock error codes.
- */
-
-#ifdef USE_WINSOCK
-#undef  EBADF            /* override definition in errno.h */
-#define EBADF            WSAEBADF
-#undef  EINTR            /* override definition in errno.h */
-#define EINTR            WSAEINTR
-#undef  EINVAL           /* override definition in errno.h */
-#define EINVAL           WSAEINVAL
-#define EWOULDBLOCK      WSAEWOULDBLOCK
-#define EINPROGRESS      WSAEINPROGRESS
-#define EALREADY         WSAEALREADY
-#define ENOTSOCK         WSAENOTSOCK
-#define EDESTADDRREQ     WSAEDESTADDRREQ
-#define EMSGSIZE         WSAEMSGSIZE
-#define EPROTOTYPE       WSAEPROTOTYPE
-#define ENOPROTOOPT      WSAENOPROTOOPT
-#define EPROTONOSUPPORT  WSAEPROTONOSUPPORT
-#define ESOCKTNOSUPPORT  WSAESOCKTNOSUPPORT
-#define EOPNOTSUPP       WSAEOPNOTSUPP
-#define EPFNOSUPPORT     WSAEPFNOSUPPORT
-#define EAFNOSUPPORT     WSAEAFNOSUPPORT
-#define EADDRINUSE       WSAEADDRINUSE
-#define EADDRNOTAVAIL    WSAEADDRNOTAVAIL
-#define ENETDOWN         WSAENETDOWN
-#define ENETUNREACH      WSAENETUNREACH
-#define ENETRESET        WSAENETRESET
-#define ECONNABORTED     WSAECONNABORTED
-#define ECONNRESET       WSAECONNRESET
-#define ENOBUFS          WSAENOBUFS
-#define EISCONN          WSAEISCONN
-#define ENOTCONN         WSAENOTCONN
-#define ESHUTDOWN        WSAESHUTDOWN
-#define ETOOMANYREFS     WSAETOOMANYREFS
-#define ETIMEDOUT        WSAETIMEDOUT
-#define ECONNREFUSED     WSAECONNREFUSED
-#define ELOOP            WSAELOOP
-#ifndef ENAMETOOLONG     /* possible previous definition in errno.h */
-#define ENAMETOOLONG     WSAENAMETOOLONG
-#endif
-#define EHOSTDOWN        WSAEHOSTDOWN
-#define EHOSTUNREACH     WSAEHOSTUNREACH
-#ifndef ENOTEMPTY        /* possible previous definition in errno.h */
-#define ENOTEMPTY        WSAENOTEMPTY
-#endif
-#define EPROCLIM         WSAEPROCLIM
-#define EUSERS           WSAEUSERS
-#define EDQUOT           WSAEDQUOT
-#define ESTALE           WSAESTALE
-#define EREMOTE          WSAEREMOTE
-#endif
-
-
-/*
- *  Actually use __32_getpwuid() on 64-bit VMS builds for getpwuid()
- */
-
-#if defined(__VMS) && \
-    defined(__INITIAL_POINTER_SIZE) && (__INITIAL_POINTER_SIZE == 64)
-#define getpwuid __32_getpwuid
-#endif
-
-
-/*
- * Macro argv_item_t hides platform details to code using it.
- */
-
-#ifdef __VMS
-#define argv_item_t  __char_ptr32
-#else
-#define argv_item_t  char *
-#endif
-
-
-/*
- * We use this ZERO_NULL to avoid picky compiler warnings,
- * when assigning a NULL pointer to a function pointer var.
- */
-
-#define ZERO_NULL 0
-
-
-#endif /* __SETUP_ONCE_H */
-
diff --git a/ares/vc/.cvsignore b/ares/vc/.cvsignore
deleted file mode 100644 (file)
index de8d838..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-vc.ncb
-vc.opt
-vc6aws.ncb
-vc6aws.opt
diff --git a/ares/vc/acountry/.cvsignore b/ares/vc/acountry/.cvsignore
deleted file mode 100644 (file)
index 323c03b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-DLL-*
-Debug
-LIB-*
-Release
-acountry.dep
-acountry.mak
-acountry.plg
-dll-*
-lib-*
-vc6acountry.dep
-vc6acountry.mak
-vc6acountry.plg
diff --git a/ares/vc/acountry/vc6acountry.dsp b/ares/vc/acountry/vc6acountry.dsp
deleted file mode 100644 (file)
index e9d4970..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-# Microsoft Developer Studio Project File - Name="acountry" - Package Owner=<4>\r
-# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (x86) Console Application" 0x0103\r
-\r
-CFG=acountry - Win32 using cares LIB Debug\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "vc6acountry.mak".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "vc6acountry.mak" CFG="acountry - Win32 using cares LIB Debug"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "acountry - Win32 using cares DLL Debug" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "acountry - Win32 using cares DLL Release" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "acountry - Win32 using cares LIB Debug" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "acountry - Win32 using cares LIB Release" (based on "Win32 (x86) Console Application")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-CPP=cl.exe\r
-RSC=rc.exe\r
-\r
-!IF  "$(CFG)" == "acountry - Win32 using cares DLL Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "dll-debug"\r
-# PROP BASE Intermediate_Dir "dll-debug/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "dll-debug"\r
-# PROP Intermediate_Dir "dll-debug/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /GZ /c\r
-# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
-# ADD RSC /l 0x409 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 caresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"dll-debug/acountry.exe" /pdbtype:con /libpath:"..\cares\dll-debug" /fixed:no\r
-# ADD LINK32 caresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"dll-debug/acountry.exe" /pdbtype:con /libpath:"..\cares\dll-debug" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "acountry - Win32 using cares DLL Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "dll-release"\r
-# PROP BASE Intermediate_Dir "dll-release/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "dll-release"\r
-# PROP Intermediate_Dir "dll-release/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c\r
-# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
-# ADD RSC /l 0x409 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 cares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"dll-release/acountry.exe" /libpath:"..\cares\dll-release" /fixed:no\r
-# ADD LINK32 cares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"dll-release/acountry.exe" /libpath:"..\cares\dll-release" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "acountry - Win32 using cares LIB Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "lib-debug"\r
-# PROP BASE Intermediate_Dir "lib-debug/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "lib-debug"\r
-# PROP Intermediate_Dir "lib-debug/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /GZ /c\r
-# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
-# ADD RSC /l 0x409 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 libcaresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"lib-debug/acountry.exe" /pdbtype:con /libpath:"..\cares\lib-debug" /fixed:no\r
-# ADD LINK32 libcaresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"lib-debug/acountry.exe" /pdbtype:con /libpath:"..\cares\lib-debug" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "acountry - Win32 using cares LIB Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "lib-release"\r
-# PROP BASE Intermediate_Dir "lib-release/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "lib-release"\r
-# PROP Intermediate_Dir "lib-release/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /c\r
-# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
-# ADD RSC /l 0x409 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 libcares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"lib-release/acountry.exe" /libpath:"..\cares\lib-release" /fixed:no\r
-# ADD LINK32 libcares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"lib-release/acountry.exe" /libpath:"..\cares\lib-release" /fixed:no\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "acountry - Win32 using cares DLL Debug"\r
-# Name "acountry - Win32 using cares DLL Release"\r
-# Name "acountry - Win32 using cares LIB Debug"\r
-# Name "acountry - Win32 using cares LIB Release"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\acountry.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_getopt.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_strcasecmp.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_net_pton.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_ntop.c\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_getopt.h\r
-# End Source File\r
-# End Group\r
-# End Target\r
-# End Project\r
diff --git a/ares/vc/adig/.cvsignore b/ares/vc/adig/.cvsignore
deleted file mode 100644 (file)
index 4d96e30..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-DLL-*
-LIB-*
-adig.dep
-adig.mak
-adig.plg
-dll-*
-lib-*
-vc6adig.dep
-vc6adig.mak
-vc6adig.plg
diff --git a/ares/vc/adig/vc6adig.dsp b/ares/vc/adig/vc6adig.dsp
deleted file mode 100644 (file)
index 913d5d9..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-# Microsoft Developer Studio Project File - Name="adig" - Package Owner=<4>\r
-# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (x86) Console Application" 0x0103\r
-\r
-CFG=adig - Win32 using cares LIB Debug\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "vc6adig.mak".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "vc6adig.mak" CFG="adig - Win32 using cares LIB Debug"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "adig - Win32 using cares DLL Debug" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "adig - Win32 using cares DLL Release" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "adig - Win32 using cares LIB Debug" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "adig - Win32 using cares LIB Release" (based on "Win32 (x86) Console Application")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-CPP=cl.exe\r
-RSC=rc.exe\r
-\r
-!IF  "$(CFG)" == "adig - Win32 using cares DLL Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "dll-debug"\r
-# PROP BASE Intermediate_Dir "dll-debug/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "dll-debug"\r
-# PROP Intermediate_Dir "dll-debug/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /GZ /c\r
-# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
-# ADD RSC /l 0x409 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 caresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"dll-debug/adig.exe" /pdbtype:con /libpath:"..\cares\dll-debug" /fixed:no\r
-# ADD LINK32 caresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"dll-debug/adig.exe" /pdbtype:con /libpath:"..\cares\dll-debug" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "adig - Win32 using cares DLL Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "dll-release"\r
-# PROP BASE Intermediate_Dir "dll-release/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "dll-release"\r
-# PROP Intermediate_Dir "dll-release/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c\r
-# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
-# ADD RSC /l 0x409 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 cares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"dll-release/adig.exe" /libpath:"..\cares\dll-release" /fixed:no\r
-# ADD LINK32 cares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"dll-release/adig.exe" /libpath:"..\cares\dll-release" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "adig - Win32 using cares LIB Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "lib-debug"\r
-# PROP BASE Intermediate_Dir "lib-debug/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "lib-debug"\r
-# PROP Intermediate_Dir "lib-debug/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /GZ /c\r
-# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
-# ADD RSC /l 0x409 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 libcaresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"lib-debug/adig.exe" /pdbtype:con /libpath:"..\cares\lib-debug" /fixed:no\r
-# ADD LINK32 libcaresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"lib-debug/adig.exe" /pdbtype:con /libpath:"..\cares\lib-debug" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "adig - Win32 using cares LIB Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "lib-release"\r
-# PROP BASE Intermediate_Dir "lib-release/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "lib-release"\r
-# PROP Intermediate_Dir "lib-release/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /c\r
-# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
-# ADD RSC /l 0x409 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 libcares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"lib-release/adig.exe" /libpath:"..\cares\lib-release" /fixed:no\r
-# ADD LINK32 libcares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"lib-release/adig.exe" /libpath:"..\cares\lib-release" /fixed:no\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "adig - Win32 using cares DLL Debug"\r
-# Name "adig - Win32 using cares DLL Release"\r
-# Name "adig - Win32 using cares LIB Debug"\r
-# Name "adig - Win32 using cares LIB Release"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\adig.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_getopt.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_strcasecmp.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_net_pton.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_ntop.c\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_getopt.h\r
-# End Source File\r
-# End Group\r
-# End Target\r
-# End Project\r
diff --git a/ares/vc/ahost/.cvsignore b/ares/vc/ahost/.cvsignore
deleted file mode 100644 (file)
index e510380..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-DLL-*
-LIB-*
-ahost.dep
-ahost.mak
-ahost.plg
-dll-*
-lib-*
-vc6ahost.dep
-vc6ahost.mak
-vc6ahost.plg
diff --git a/ares/vc/ahost/vc6ahost.dsp b/ares/vc/ahost/vc6ahost.dsp
deleted file mode 100644 (file)
index 64d3728..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ahost" - Package Owner=<4>\r
-# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (x86) Console Application" 0x0103\r
-\r
-CFG=ahost - Win32 using cares LIB Debug\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "vc6ahost.mak".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "vc6ahost.mak" CFG="ahost - Win32 using cares LIB Debug"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "ahost - Win32 using cares DLL Debug" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "ahost - Win32 using cares DLL Release" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "ahost - Win32 using cares LIB Debug" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "ahost - Win32 using cares LIB Release" (based on "Win32 (x86) Console Application")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-CPP=cl.exe\r
-RSC=rc.exe\r
-\r
-!IF  "$(CFG)" == "ahost - Win32 using cares DLL Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "dll-debug"\r
-# PROP BASE Intermediate_Dir "dll-debug/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "dll-debug"\r
-# PROP Intermediate_Dir "dll-debug/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /GZ /c\r
-# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
-# ADD RSC /l 0x409 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 caresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"dll-debug/ahost.exe" /pdbtype:con /libpath:"..\cares\dll-debug" /fixed:no\r
-# ADD LINK32 caresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"dll-debug/ahost.exe" /pdbtype:con /libpath:"..\cares\dll-debug" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "ahost - Win32 using cares DLL Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "dll-release"\r
-# PROP BASE Intermediate_Dir "dll-release/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "dll-release"\r
-# PROP Intermediate_Dir "dll-release/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c\r
-# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
-# ADD RSC /l 0x409 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 cares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"dll-release/ahost.exe" /libpath:"..\cares\dll-release" /fixed:no\r
-# ADD LINK32 cares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"dll-release/ahost.exe" /libpath:"..\cares\dll-release" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "ahost - Win32 using cares LIB Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "lib-debug"\r
-# PROP BASE Intermediate_Dir "lib-debug/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "lib-debug"\r
-# PROP Intermediate_Dir "lib-debug/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /GZ /c\r
-# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
-# ADD RSC /l 0x409 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 libcaresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"lib-debug/ahost.exe" /pdbtype:con /libpath:"..\cares\lib-debug" /fixed:no\r
-# ADD LINK32 libcaresd.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"lib-debug/ahost.exe" /pdbtype:con /libpath:"..\cares\lib-debug" /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "ahost - Win32 using cares LIB Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "lib-release"\r
-# PROP BASE Intermediate_Dir "lib-release/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "lib-release"\r
-# PROP Intermediate_Dir "lib-release/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "CARES_STATICLIB" /FD /c\r
-# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
-# ADD RSC /l 0x409 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 libcares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"lib-release/ahost.exe" /libpath:"..\cares\lib-release" /fixed:no\r
-# ADD LINK32 libcares.lib ws2_32.lib advapi32.lib kernel32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"lib-release/ahost.exe" /libpath:"..\cares\lib-release" /fixed:no\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "ahost - Win32 using cares DLL Debug"\r
-# Name "ahost - Win32 using cares DLL Release"\r
-# Name "ahost - Win32 using cares LIB Debug"\r
-# Name "ahost - Win32 using cares LIB Release"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ahost.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_getopt.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_strcasecmp.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_net_pton.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_ntop.c\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_getopt.h\r
-# End Source File\r
-# End Group\r
-# End Target\r
-# End Project\r
diff --git a/ares/vc/cares/.cvsignore b/ares/vc/cares/.cvsignore
deleted file mode 100644 (file)
index 63a0880..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-DLL-*
-LIB-*
-dll-*
-lib-*
-vc6cares.dep
-vc6cares.mak
-vc6cares.ncb
-vc6cares.opt
-vc6cares.plg
diff --git a/ares/vc/cares/vc6cares.dsp b/ares/vc/cares/vc6cares.dsp
deleted file mode 100644 (file)
index ca84f80..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-# Microsoft Developer Studio Project File - Name="cares" - Package Owner=<4>\r
-# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102\r
-# TARGTYPE "Win32 (x86) Static Library" 0x0104\r
-\r
-CFG=cares - Win32 LIB Debug\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "vc6cares.mak".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "vc6cares.mak" CFG="cares - Win32 LIB Debug"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "cares - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")\r
-!MESSAGE "cares - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")\r
-!MESSAGE "cares - Win32 LIB Debug" (based on "Win32 (x86) Static Library")\r
-!MESSAGE "cares - Win32 LIB Release" (based on "Win32 (x86) Static Library")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-\r
-!IF  "$(CFG)" == "cares - Win32 DLL Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "dll-debug"\r
-# PROP BASE Intermediate_Dir "dll-debug/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "dll-debug"\r
-# PROP Intermediate_Dir "dll-debug/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "DEBUGBUILD" /D "CARES_BUILDING_LIBRARY" /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "DEBUGBUILD" /D "CARES_BUILDING_LIBRARY" /FD /GZ /c\r
-MTL=midl.exe\r
-# ADD BASE MTL /nologo /D "_DEBUG" /win32\r
-# ADD MTL /nologo /D "_DEBUG" /win32\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
-# ADD RSC /l 0x409 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 ws2_32.lib advapi32.lib kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"dll-debug/caresd.dll" /implib:"dll-debug/caresd.lib" /pdbtype:con /fixed:no\r
-# ADD LINK32 ws2_32.lib advapi32.lib kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"dll-debug/caresd.dll" /implib:"dll-debug/caresd.lib" /pdbtype:con /fixed:no\r
-\r
-!ELSEIF  "$(CFG)" == "cares - Win32 DLL Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "dll-release"\r
-# PROP BASE Intermediate_Dir "dll-release/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "dll-release"\r
-# PROP Intermediate_Dir "dll-release/obj"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "CARES_BUILDING_LIBRARY" /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "CARES_BUILDING_LIBRARY" /FD /c\r
-MTL=midl.exe\r
-# ADD BASE MTL /nologo /D "NDEBUG" /win32\r
-# ADD MTL /nologo /D "NDEBUG" /win32\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
-# ADD RSC /l 0x409 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 ws2_32.lib advapi32.lib kernel32.lib /nologo /dll /pdb:none /machine:I386 /out:"dll-release/cares.dll" /implib:"dll-release/cares.lib" /fixed:no /release /incremental:no\r
-# ADD LINK32 ws2_32.lib advapi32.lib kernel32.lib /nologo /dll /pdb:none /machine:I386 /out:"dll-release/cares.dll" /implib:"dll-release/cares.lib" /fixed:no /release /incremental:no\r
-\r
-!ELSEIF  "$(CFG)" == "cares - Win32 LIB Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "lib-debug"\r
-# PROP BASE Intermediate_Dir "lib-debug/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "lib-debug"\r
-# PROP Intermediate_Dir "lib-debug/obj"\r
-# PROP Target_Dir ""\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "DEBUGBUILD" /D "CARES_BUILDING_LIBRARY" /D "CARES_STATICLIB" /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\.." /D "_DEBUG" /D "WIN32" /D "DEBUGBUILD" /D "CARES_BUILDING_LIBRARY" /D "CARES_STATICLIB" /FD /GZ /c\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
-# ADD RSC /l 0x409 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo /out:"lib-debug/libcaresd.lib" /machine:I386\r
-# ADD LIB32 /nologo /out:"lib-debug/libcaresd.lib" /machine:I386\r
-\r
-!ELSEIF  "$(CFG)" == "cares - Win32 LIB Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "lib-release"\r
-# PROP BASE Intermediate_Dir "lib-release/obj"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "lib-release"\r
-# PROP Intermediate_Dir "lib-release/obj"\r
-# PROP Target_Dir ""\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "CARES_BUILDING_LIBRARY" /D "CARES_STATICLIB" /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "NDEBUG" /D "WIN32" /D "CARES_BUILDING_LIBRARY" /D "CARES_STATICLIB" /FD /c\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
-# ADD RSC /l 0x409 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo /out:"lib-release/libcares.lib" /machine:I386\r
-# ADD LIB32 /nologo /out:"lib-release/libcares.lib" /machine:I386\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "cares - Win32 DLL Debug"\r
-# Name "cares - Win32 DLL Release"\r
-# Name "cares - Win32 LIB Debug"\r
-# Name "cares - Win32 LIB Release"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares__close_sockets.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares__get_hostent.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares__read_line.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares__timeval.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_cancel.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_data.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_destroy.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_expand_name.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_expand_string.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_fds.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_free_hostent.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_free_string.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_gethostbyaddr.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_gethostbyname.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_getsock.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_init.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_library_init.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_llist.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_mkquery.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_nowarn.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_options.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_parse_a_reply.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_parse_aaaa_reply.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_parse_ns_reply.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_parse_ptr_reply.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_parse_srv_reply.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_parse_txt_reply.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_process.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_query.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_search.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_send.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_strcasecmp.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_strerror.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_timeout.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_version.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_writev.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\bitncmp.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_net_pton.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_ntop.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\windows_port.c\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_build.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_data.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_dns.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_ipv6.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_library_init.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_llist.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_nowarn.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_private.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_rules.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_strcasecmp.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_version.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\ares_writev.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\bitncmp.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_net_pton.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\inet_ntop.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\..\nameser.h\r
-# End Source File\r
-# End Group\r
-# Begin Group "Resource Files"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\..\cares.rc\r
-# End Source File\r
-# End Group\r
-# End Target\r
-# End Project\r
diff --git a/ares/vc/cares/vc6cares.dsw b/ares/vc/cares/vc6cares.dsw
deleted file mode 100644 (file)
index 5bad375..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00\r
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
-\r
-###############################################################################\r
-\r
-Project: "cares"=".\vc6cares.dsp" - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Global:\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<3>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
diff --git a/ares/vc/vc6aws.dsw b/ares/vc/vc6aws.dsw
deleted file mode 100644 (file)
index 9543a5a..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00\r
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
-\r
-###############################################################################\r
-\r
-Project: "cares"=".\cares\vc6cares.dsp" - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "acountry"=".\acountry\vc6acountry.dsp" - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name cares\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "adig"=".\adig\vc6adig.dsp" - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name cares\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "ahost"=".\ahost\vc6ahost.dsp" - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name cares\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Global:\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<3>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
diff --git a/ares/windows_port.c b/ares/windows_port.c
deleted file mode 100644 (file)
index 64096a5..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "ares_setup.h"
-
-/* $Id$ */
-
-/* only do the following on windows
- */
-#if (defined(WIN32) || defined(WATT32)) && !defined(MSDOS)
-
-#ifdef __WATCOMC__
-/*
- * Watcom needs a DllMain() in order to initialise the clib startup code.
- */
-BOOL
-WINAPI DllMain (HINSTANCE hnd, DWORD reason, LPVOID reserved)
-{
-  (void) hnd;
-  (void) reason;
-  (void) reserved;
-  return (TRUE);
-}
-#endif
-
-#endif /* WIN32 builds only */