diff options
author | Daniel Stenberg <daniel@haxx.se> | 2003-10-07 21:54:04 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2003-10-07 21:54:04 +0000 |
commit | 0436fbe226ca8ea71a751f4a86a228632e5cbc63 (patch) | |
tree | 5cf6478e89608a8000bd36014ba4032bcc9c0528 /ares/README | |
parent | 6494889e3ba6b1432258f0a8ed402723607cff21 (diff) |
ares 1.1.1 with collected applied patches
Diffstat (limited to 'ares/README')
-rw-r--r-- | ares/README | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ares/README b/ares/README new file mode 100644 index 000000000..06b5e81ce --- /dev/null +++ b/ares/README @@ -0,0 +1,41 @@ +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. + * 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. |