chiark / gitweb /
Include standard CFLAGS in regress/ builds of other directories' files.
[adns.git] / README.html
index 7d44601a1a5fb8620de8338dbcf5ae748d1d48ec..760c2780411168d5bc9c82bf54156d3cc5db7d19 100644 (file)
@@ -1,16 +1,6 @@
-<html><head><title>adns - advanced, alternative, asynchronous resolver</title>
-<!--
-  Note to GNU webmasters and others who might edit this page: This
-  file is maintained in GNU CVS, and also served on the author's own
-  system, under the URL http://www.chiark.greenend.org.uk/adns/
-  Please ensure that all links continine to be correct both for
-  www.gnu.org and chiark.
-
-  If you check in a change, please inform
-  webmaster@chiark.greenend.org.uk.
-
-  $Id$
-  -->   
+<html>
+<head>
+<title>adns - advanced, alternative, asynchronous resolver</title>
 <link rev="made" href="mailto:adns-maint@chiark.greenend.org.uk">
 </head>
 <body>
 <strong>Advanced, easy to use, asynchronous-capable DNS client
 library and utilities.</strong>
 
+<!-- Note: this file is maintained in Ian Jackson's private CVS.  -->
+<!--                                                              -->
+<!--  It is served on the GNU site and also from my own system,   -->
+<!--  under the URL http://www.chiark.greenend.org.uk/adns/       -->
+<!--  Please ensure that all links continine to be correct        -->
+<!--  both for www.gnu.org and chiark.                            -->
+<!--                                                              -->
+<!--  $Id$        -->   
+
 <p>
 
-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:
+adns is a resolver library for C (and C++) programs, and a collection
+of useful DNS resolver utilities.
+
+
+<h2>C library</h2>
+
+In contrast with the standard interfaces, gethostbyname et al and
+libresolv, it has the following features:
 
 <ul>
 
@@ -53,9 +57,9 @@ the various causes of failure properly.
 environment variables.
 
 <li>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, etc.
+ignore environment variables (for setuid programs), disable hostname
+syntax sanity checks to return arbitrary data, override or ignore
+resolv.conf in favour of supplied configuration, etc.
 
 <li>Believed to be correct !  For example, will correctly back off to
 TCP in case of long replies or queries, or to other nameservers if
@@ -63,6 +67,8 @@ several are available.  It has sensible handling of bad responses etc.
 
 </ul>
 
+<h2>DNS utility programs</h2>
+
 adns also comes with a number of utility programs for use from the
 command line and in scripts:
 
@@ -77,50 +83,22 @@ unduly delaying the output.  For example, you can usefully pipe the
 output of netstat -n, tcpdump -ln, and the like, into it.
 
 <li><code>adnshost</code> is a general-purpose DNS lookup utility
-which can be used easily in shell scripts to do simple lookups.  In a
-more advanced mode it can be used as a general-purpose DNS helper
-program for scripting languages which can invoke and communicate with
-subprocesses.
+which can be used easily in from the command line and from shell
+scripts to do simple lookups.  In a more advanced mode it can be used
+as a general-purpose DNS helper program for scripting languages which
+can invoke and communicate with subprocesses.  See the
+<A href="http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt">adnshost
+usage message</A> for a summary of its capabilities.
 
 </ul>
 
-<h2>Forthcoming:</h2>
-
-A native Perl interface is in the works, thanks to Tony Finch.
-
-<p>
-
-I hope that future versions may also have the following features:
-
-<ul>
-
-<li>The library should be useable by threads in a multithreaded
-program in a natural way.  It should multiplex many threads' queries
-through a single query socket.
-
-<li>IPv6 support.
-
-<li>Some kind of awareness of DNSSEC.
-
-<li>Possibly some very limited caching behaviour.
-
-</ul>
-
-(Technical note: adns requires a real nameserver like
-<A href="http://www.isc.org/view.cgi?/products/BIND/index.phtml">BIND</A>
-or
-<A href="http://www.dents.org/">Dents</A> 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.)
-
 <h2>Documentation</h2>
 
 I'm afraid there is no manual yet.  However, competent C programmers
 should be able to use the library based on the
 <A href="http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt">commented
-adns.h header file</A>.
+adns.h header file</A>, and the usage messages for the programs should
+be sufficient.
 
 <h2>Feedback</h2>
 
@@ -139,7 +117,7 @@ list, send it to <code>adns-maint@chiark.greenend.org.uk</code>.
 
 I have set up mailinglists <code>adns-announce</code> and
 <code>adns-discuss</code>.  The announcements list is moderated and
-will contain only announcements of important bugs, new versions, &c.
+will contain only announcements of important bugs, new versions, etc.
 The bug reports address mentioned above is also a mailing list; feel
 free to subscribe to it.
 
@@ -158,13 +136,15 @@ Available for download from
 <A href="http://www.chiark.greenend.org.uk/~ian/adns/">chiark.greenend.org.uk</A>
 are:
 <ul>
-<li>The <A href="http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz">current beta version</A>
-    as a gzipped tarfile.
+<li>The <A href="http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz">current
+    release</A> as a gzipped tarfile.
 <li><A href="http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt">adns.h</A>
-    API header file with comments (currently there is no manual, sorry).
+    API header file with comments, and
+    <A href="http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt">usage
+    message for adnshost</A> (currently there is no manual, sorry).
 <li>All versions released so far are also available via
     <A href="ftp://ftp.chiark.greenend.org.uk/users/ian/adns/">anonymous
-    FTP</A>.
+    FTP</A> and <A href="http://www.chiark.greenend.org.uk/~ian/adns/ftp/">HTTP</A>,
 <li>A mirror of my CVS repository is available via rsync from
     <code>rsync.chiark.greenend.org.uk::ftp/users/ian/cvs-pub/adns</code>
     (use FTP first to find your way around), or via
@@ -175,11 +155,22 @@ adns is also available from the
 <A href="http://www.gnu.org/">GNU Project</A> FTP servers and their
 <A href="http://www.gnu.org/order/ftp.html">mirrors</A>.
 
+<h2>Technical note</h2>
+
+adns requires a real nameserver like
+<A href="http://www.isc.org/view.cgi?/products/BIND/index.phtml">BIND</A>
+or
+<A href="http://www.dents.org/">Dents</A> 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.
+
 <h2>Copyright and licensing</h2>
 
-<kbd>adns</kbd> is Copyright 1997-2000 Ian Jackson, Copyright 1999
-Tony Finch, and Copyright (C) 1991 Massachusetts Institute of
-Technology.
+<kbd>adns</kbd> is Copyright 1997-2000 Ian Jackson, Copyright
+1999-2000 Tony Finch, and Copyright (C) 1991 Massachusetts Institute
+of Technology.
 
 <p>