curl/ares
Yang Tse 5b3be2ee35 getaddrinfo is fully thread safe on solaris versions which
implement the function even when h_errno is not a macro.

The h_errno macro test now only done on systems for which there
is no hard coded knowledge about getaddrinfo's thread safeness.
2009-11-15 13:43:15 +00:00
..
m4 getaddrinfo is fully thread safe on solaris versions which 2009-11-15 13:43:15 +00:00
vc Add kernel32.lib 2009-11-11 08:51:31 +00:00
.cvsignore Ignore more subdirs 2009-11-10 20:05:10 +00:00
acinclude.m4 Refactor how libraries are checked for connect() function, follow-up. 2009-06-21 02:42:34 +00:00
acountry.c Fix compiler warning: conditional expression is constant 2009-11-10 18:41:03 +00:00
adig.c Fix compiler warning: conditional expression is constant 2009-11-10 18:41:03 +00:00
ahost.c Fix compiler warning: conditional expression is constant 2009-11-10 18:41:03 +00:00
ares__close_sockets.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares__get_hostent.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares__read_line.c Fix compiler warning: conditional expression is constant 2009-11-10 18:41:03 +00:00
ares__timeval.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_build.h.dist fiX *__SOCKLEN_T definitions for remaining targets 2009-05-12 01:57:53 +00:00
ares_build.h.in ares_build.h Windows follow-up 2009-04-29 14:05:21 +00:00
ares_cancel.3 - Timo Teras changed the reason code used in the resolve callback done when 2009-08-03 11:51:06 +00:00
ares_cancel.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_destroy_options.3 ares_destroy_options() and ares_save_options() man pages by Brad House 2007-06-02 19:32:30 +00:00
ares_destroy.3 NORECURSE clarification, minor formatting update 2004-12-07 10:43:21 +00:00
ares_destroy.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_dns.h compiler warning fix 2007-02-16 14:22:08 +00:00
ares_dup.3 Make ares_init(), ares_dup() and ares_init_options() return ARES_ENOTINITIALIZED 2009-05-26 18:00:14 +00:00
ares_expand_name.3 removed odd newline 2004-02-03 08:47:26 +00:00
ares_expand_name.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_expand_string.3 Mention first version with CURLOPT_COPYPOSTFIELDS. 2007-10-15 21:19:40 +00:00
ares_expand_string.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_fds.3 ares 1.1.1 with collected applied patches 2003-10-07 21:54:04 +00:00
ares_fds.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_free_hostent.3 added another SEE ALSO 2007-07-14 23:01:49 +00:00
ares_free_hostent.c Make header inclusion depend on HAVE_*_H definition 2009-11-09 12:56:50 +00:00
ares_free_string.3 Dominick Meglio's new ares_expand_string() function 2004-03-30 09:06:42 +00:00
ares_free_string.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_gethostbyaddr.3 Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.) 2007-09-28 14:46:51 +00:00
ares_gethostbyaddr.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_gethostbyname_file.3 - Brad Spencer brought the new function ares_gethostbyname_file() which simply 2008-11-19 15:16:16 +00:00
ares_gethostbyname.3 Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.) 2007-09-28 14:46:51 +00:00
ares_gethostbyname.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_getnameinfo.3 Force revision update, to force CVS to update the $Id date string format 2009-05-19 16:05:45 +00:00
ares_getnameinfo.c Remove unneeded preprocessor directives 2009-11-09 12:56:11 +00:00
ares_getopt.c fix compiler warning: assignment within conditional expression 2008-04-07 12:40:05 +00:00
ares_getopt.h Undefine 'optarg', 'optind' and 'opterr' when using Watt-32 2008-12-08 16:11:16 +00:00
ares_getsock.3 This function was added in c-ares [version] 2005-12-22 15:31:32 +00:00
ares_getsock.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_init_options.3 ares 1.1.1 with collected applied patches 2003-10-07 21:54:04 +00:00
ares_init.3 Make ares_init(), ares_dup() and ares_init_options() return ARES_ENOTINITIALIZED 2009-05-26 18:00:14 +00:00
ares_init.c Renamed fpGetNetworkParams and fpSystemFunction036 to avoid namespace pollution with static library 2009-11-11 08:56:46 +00:00
ares_ipv6.h Use build-time configured ares_socklen_t instead of socklen_t 2009-05-02 02:36:47 +00:00
ares_library_cleanup.3 Make ares_init(), ares_dup() and ares_init_options() return ARES_ENOTINITIALIZED 2009-05-26 18:00:14 +00:00
ares_library_init.3 minor edits 2009-05-23 20:23:44 +00:00
ares_library_init.c Renamed fpGetNetworkParams and fpSystemFunction036 to avoid namespace pollution with static library 2009-11-11 08:56:46 +00:00
ares_library_init.h Renamed fpGetNetworkParams and fpSystemFunction036 to avoid namespace pollution with static library 2009-11-11 08:56:46 +00:00
ares_llist.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_llist.h Avoid inline C99ism, and move c-ares routines for managing doubly-linked lists. 2007-10-02 02:18:01 +00:00
ares_mkquery.3 minor edits 2004-04-02 09:50:42 +00:00
ares_mkquery.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_parse_a_reply.3 shorten the descriptions somewhat 2009-10-29 09:06:42 +00:00
ares_parse_a_reply.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_parse_aaaa_reply.3 shorten the descriptions somewhat 2009-10-29 09:06:42 +00:00
ares_parse_aaaa_reply.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_parse_ns_reply.3 Vlad Dinulescu added ares_parse_ns_reply() 2007-02-19 14:06:11 +00:00
ares_parse_ns_reply.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_parse_ptr_reply.3 Dominick Meglio man page fixes 2004-04-01 06:10:56 +00:00
ares_parse_ptr_reply.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_parse_srv_reply.3 update to the new struct name 2009-10-29 09:06:22 +00:00
ares_parse_srv_reply.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_parse_txt_reply.3 shorten the descriptions somewhat 2009-10-29 09:06:42 +00:00
ares_parse_txt_reply.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_private.h Make header inclusion depend on HAVE_*_H definition 2009-11-09 12:56:50 +00:00
ares_process.3 added ares_process_fd() to allow applications to ask for processing on 2007-05-30 12:58:47 +00:00
ares_process.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_query.3 Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.) 2007-09-28 14:46:51 +00:00
ares_query.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_rules.h Fix spelling 2009-10-27 16:56:20 +00:00
ares_save_options.3 Introduce ares_dup(3) and new thoughts about API/ABI and how to move forwards. 2008-12-03 09:59:50 +00:00
ares_search.3 Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.) 2007-09-28 14:46:51 +00:00
ares_search.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_send.3 Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.) 2007-09-28 14:46:51 +00:00
ares_send.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_set_socket_callback.3 the initial version of the ares_set_socket_callback man page 2008-12-04 12:54:43 +00:00
ares_setup.h Refactor how preprocessor symbol _THREAD_SAFE definition is done. 2009-11-14 18:51:37 +00:00
ares_strcasecmp.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_strcasecmp.h Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_strdup.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_strdup.h Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_strerror.3 mention incompatibilities with ares 2004-10-26 08:08:41 +00:00
ares_strerror.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_timeout.3 minor edits 2004-04-02 09:50:42 +00:00
ares_timeout.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_version.3 added notes about incompatible functions 2004-02-03 09:16:40 +00:00
ares_version.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_version.h - Provide in external interface preprocessor symbol definitions for 2009-05-18 00:21:02 +00:00
ares_writev.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares_writev.h Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
ares.h Symbol hiding configure options renamed to the hopefully less ambiguous 2009-10-31 04:16:40 +00:00
AUTHORS added the three people from RELEASE-NOTES and sorted the list alphabetically 2008-08-29 08:29:47 +00:00
bitncmp.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
bitncmp.h fill in missing copyrights 2007-11-19 15:47:01 +00:00
buildconf Remove files generated on previous buildconf/configure run 2009-11-15 03:47:13 +00:00
buildconf.bat Ensure that buildconf.bat does nothing unless it is used with a CVS checkout. 2009-06-08 14:27:36 +00:00
cares.rc Reinstate copyright symbol lost in previous commit 2009-11-10 22:04:51 +00:00
CHANGES Mention last changes 2009-11-10 22:07:32 +00:00
config-win32.h Fix Pelles C Win32 target compilation issues 2009-10-27 16:38:42 +00:00
config.dos Remove unneeded defines. 2009-06-20 13:08:53 +00:00
configure.ac Remove enable-thread / disable-thread configure option. These were only placebo 2009-11-15 02:45:23 +00:00
CVS-INFO CVS-INFO file only present in CVS tree, never in release nor daily snapshot 2009-06-08 14:26:58 +00:00
get_ver.awk added get_ver.awk since c-ares is a standalone project, and should therefore also compile when cURL is absent. 2008-02-27 01:51:40 +00:00
inet_net_pton.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
inet_net_pton.h HAVE_INET_PTON will only be defined when an IPv6 capable working 2008-09-24 19:13:01 +00:00
inet_ntop.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
inet_ntop.h HAVE_INET_NTOP will only be defined when an IPv6 capable working 2008-09-24 16:43:12 +00:00
install-sh added for completeness 2003-10-08 20:18:15 +00:00
libcares.pc.in fix pkg-config reporting of private libraries needed for static linking 2008-06-09 01:06:48 +00:00
Makefile.am Updated MSVC makefile that allows building dynamic and static 2009-11-09 13:24:11 +00:00
Makefile.dj Update my email address. Add ares_config.h as dependency for 'make depend'. 2009-09-07 10:01:17 +00:00
Makefile.inc source files used by sample programs 2009-11-04 14:24:47 +00:00
Makefile.m32 cope with ares_build.h and ares_rules.h 2009-04-30 11:48:43 +00:00
Makefile.msvc Add kernel32.lib 2009-11-11 08:51:31 +00:00
Makefile.netware renamed generated config.h to ares_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h. 2009-07-14 13:38:50 +00:00
maketgz Include .pdf versions of c-ares man pages in distribution tarball. 2009-05-21 17:40:55 +00:00
mkinstalldirs added for completeness 2003-10-08 20:18:15 +00:00
nameser.h adjust inclusion of "nameser.h" 2008-09-17 01:02:57 +00:00
NEWS - Fixed a few variable return types for some system calls. Made configure 2004-07-22 22:18:45 +00:00
README just to clarify that c-ares actually have some ipv6 support 2008-07-03 11:41:11 +00:00
README.cares Fix spelling 2009-10-27 16:56:20 +00:00
RELEASE-NOTES Mention --enable-symbol-hiding configure option 2009-10-31 12:51:49 +00:00
setup_once.h sclose() function-like macro definition used to close a socket, 2009-06-19 00:41:03 +00:00
TODO language fix 2009-05-26 18:03:05 +00:00
windows_port.c Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00

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.