diff options
author | Daniel Stenberg <daniel@haxx.se> | 2010-03-23 14:12:50 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2010-03-23 14:12:50 +0100 |
commit | 8c4fc9ee719cd6d6ccd4352ca50583bc003e25e5 (patch) | |
tree | 90f0991d37f42fc12ca4ae8c85ded8508b47b84f /README | |
parent | eb9ce5145b08b182d740f0d627d0a451220c419a (diff) | |
download | c-ares-8c4fc9ee719cd6d6ccd4352ca50583bc003e25e5.tar.gz c-ares-8c4fc9ee719cd6d6ccd4352ca50583bc003e25e5.tar.bz2 c-ares-8c4fc9ee719cd6d6ccd4352ca50583bc003e25e5.zip |
made README the primary readme file
... and did README.cares to contain a historic reason etc.
Diffstat (limited to 'README')
-rw-r--r-- | README | 106 |
1 files changed, 60 insertions, 46 deletions
@@ -1,46 +1,60 @@ -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. +c-ares +====== + +This is c-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. + +The full source code is available in the 'c-ares' release archives, and in a +git repository: http://github.com/bagder/c-ares + +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 git 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 */ + |