chiark / gitweb /
Documentation files.
authorian <ian>
Sat, 17 Apr 1999 17:18:29 +0000 (17:18 +0000)
committerian <ian>
Sat, 17 Apr 1999 17:18:29 +0000 (17:18 +0000)
INSTALL [new file with mode: 0644]
README [new file with mode: 0644]

diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..64075d0
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,44 @@
+INSTALLATION INSTRUCTIONS for ADNS
+
+   $ ./configure
+   $ make
+   # make install
+
+Unfortunately, since this is a beta, there is no good documentation
+yet.  For now, use the comments in the public header file adns.h.
+
+
+You will find that adns requires a reasonably standard and up to date
+system.
+
+In particular, the build system assumes that you have ELF shared
+libraries.  If you don't then please don't send me patches to support
+your kind of shared libraries, and don't send me patches to use
+libtool.  I'm not interested in supporting non-ELF shared libraries.
+However, if you send me an appropriate patch I'd be willing to make it
+easy or automatic to disable the ELF shared library arrangements.
+
+You may find that GNU Make is required.
+
+
+COPYRIGHT
+
+This file, INSTALL, contains installation instructions and other
+details for adns.
+
+adns is Copyright (C)1997-9 Ian Jackson <ian@davenant.greenend.org.uk>.
+
+adns is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with userv as the file COPYING; if not, email me at the address
+above or write to the Free Software Foundation, 59 Temple Place -
+Suite 330, Boston, MA 02111-1307, USA.
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..ecf261a
--- /dev/null
+++ b/README
@@ -0,0 +1,50 @@
+                                     adns
+
+   Advanced, easy to use, asynchronous-capable DNS client library.
+
+   adns is a resolver library for C (and C++) programs. In contrast with
+   the existing interfaces, gethostbyname et al and libresolv, it has the
+   following features:
+     * It is reasonably easy to use for simple programs which just want
+       to translate names to addresses, look up MX records, etc.
+     * It can be used in an asynchronous, non-blocking, manner. Many
+       queries can be handled simultaneously.
+     * Responses are decoded automatically into a natural representation
+       for a C program - there is no need to deal with DNS packet
+       formats.
+     * Sanity checking (eg, name syntax checking, reverse/forward
+       correspondence, CNAME pointing to CNAME) is performed
+       automatically.
+     * Time-to-live, CNAME and other similar information is returned in
+       an easy-to-use form, without affecting ease-of-use.
+     * There is no global state in the library; resolver state is an
+       opaque data structure which the client creates explicitly. A
+       program can have several instances of the resolver.
+     * Errors are reported to the application in a way that distinguishes
+       the various causes of failure properly.
+     * Understands conventional resolv.conf, but this can overridden by
+       environment variables.
+     * Flexibility. For example, the application can tell adns to: ignore
+       environment variables (for setuid programs), disable sanity checks
+       eg to return arbitrary data, override or ignore resolv.conf in
+       favour of supplied configuration, change its caching behaviour,
+       use a different flow of control model, etc.
+     * Believed to be correct ! For example, will correctly back off to
+       TCP in case of long replies or queries, or to other nameservers if
+       several are available. It has sensible handling of bad responses
+       etc.
+
+Forthcoming:
+   
+   I hope that future versions may also have the following features:
+     * The library can be used by threads in a multithreaded program in a
+       natural way. It will multiplex many threads' queries through a
+       single query socket.
+     * Limited caching behaviour.
+     * IPv6 support.
+
+   (Technical note: adns requires a real nameserver like BIND running on
+   the same system or a nearby one, which must be willing to provide
+   `recursive service'. I.e., adns is a `stub resolver'. All properly
+   configured UN*X and GNU systems will already have such nameserver(s);
+   they are usually listed in /etc/resolv.conf.)