chiark / gitweb /
+ * adnslogres has --help option.
[adns.git] / README
1
2                                    GNU adns
3                                        
4    Advanced, easy to use, asynchronous-capable DNS client library and
5    utilities.
6    
7    adns is a resolver library for C (and C++) programs, and a collection
8    of useful DNS resolver utilities. In contrast with the existing
9    interfaces, gethostbyname et al and libresolv, it has the following
10    features:
11      * It is reasonably easy to use for simple programs which just want
12        to translate names to addresses, look up MX records, etc.
13      * It can be used in an asynchronous, non-blocking, manner. Many
14        queries can be handled simultaneously.
15      * Responses are decoded automatically into a natural representation
16        for a C program - there is no need to deal with DNS packet
17        formats.
18      * Sanity checking (eg, name syntax checking, reverse/forward
19        correspondence, CNAME pointing to CNAME) is performed
20        automatically.
21      * Time-to-live, CNAME and other similar information is returned in
22        an easy-to-use form, without getting in the way.
23      * There is no global state in the library; resolver state is an
24        opaque data structure which the client creates explicitly. A
25        program can have several instances of the resolver.
26      * Errors are reported to the application in a way that distinguishes
27        the various causes of failure properly.
28      * Understands conventional resolv.conf, but this can overridden by
29        environment variables.
30      * Flexibility. For example, the application can tell adns to: ignore
31        environment variables (for setuid programs), disable hostname
32        syntax sanity checks to return arbitrary data, override or ignore
33        resolv.conf in favour of supplied configuration, etc.
34      * Believed to be correct ! For example, will correctly back off to
35        TCP in case of long replies or queries, or to other nameservers if
36        several are available. It has sensible handling of bad responses
37        etc.
38        
39 DNS utility programs
40
41    adns also comes with a number of utility programs for use from the
42    command line and in scripts:
43      * adnslogres is a much faster version of Apache's logresolv program.
44      * adnsresfilter is a filter which copies its input to its output,
45        replacing IP addresses by the corresponding names, without unduly
46        delaying the output. For example, you can usefully pipe the output
47        of netstat -n, tcpdump -ln, and the like, into it.
48      * adnshost is a general-purpose DNS lookup utility which can be used
49        easily in from the command line and from shell scripts to do
50        simple lookups. In a more advanced mode it can be used as a
51        general-purpose DNS helper program for scripting languages which
52        can invoke and communicate with subprocesses. See the [1]usage
53        message for a summary of its capabilities.
54        
55 Technical note
56
57    adns requires a real nameserver like [2]BIND or [3]Dents running on
58    the same system or a nearby one, which must be willing to provide
59    `recursive service'. I.e., adns is a `stub resolver'. All properly
60    configured UN*X and GNU systems will already have such nameserver(s);
61    they are usually listed in /etc/resolv.conf.
62    
63 Documentation
64
65    I'm afraid there is no manual yet. However, competent C programmers
66    should be able to use the library based on the [4]commented adns.h
67    header file, and the usage messages for the programs should be
68    sufficient.
69    
70 Feedback
71
72    I'd be pleased if you would let me know if you're using my library in
73    your project, and what you think of it.
74    
75    If you are subscribed to adns-discuss please send feedback, including
76    bug reports, there; otherwise send mail to
77    adns-bugreports@chiark.greenend.org.uk. If you'd prefer that your
78    message wasn't forwarded to the adns-bugreports list, send it to
79    adns-maint@chiark.greenend.org.uk.
80    
81 Mailinglists
82
83    I have set up mailinglists adns-announce and adns-discuss. The
84    announcements list is moderated and will contain only announcements of
85    important bugs, new versions, &c. The bug reports address mentioned
86    above is also a mailing list; feel free to subscribe to it.
87    
88    There are [5]archives and subscription web pages, or you can subscribe
89    by sending mail containing the word `subscribe' to
90    adns-announce-REQUEST@chiark.greenend.org.uk or
91    adns-discuss-REQUEST@chiark.greenend.org.uk.
92    
93 Download
94
95    Available for download from [6]chiark.greenend.org.uk are:
96      * The [7]current beta version as a gzipped tarfile.
97      * [8]adns.h API header file with comments (currently there is no
98        manual, sorry).
99      * All versions released so far are also available via [9]anonymous
100        FTP.
101      * A mirror of my CVS repository is available via rsync from
102        rsync.chiark.greenend.org.uk::ftp/users/ian/cvs-pub/adns (use FTP
103        first to find your way around), or via [10]cvsweb.
104        
105    adns is also available from the [11]GNU Project FTP servers and their
106    [12]mirrors.
107    
108 Copyright and licensing
109
110    adns is Copyright 1997-2000 Ian Jackson, Copyright 1999 Tony Finch,
111    and Copyright (C) 1991 Massachusetts Institute of Technology.
112    
113    adns is free software; you can redistribute it and/or modify it under
114    the terms of the GNU General Public License as published by the Free
115    Software Foundation; either version 2 of the License, or (at your
116    option) any later version.
117    
118    This program and documentation is distributed in the hope that it will
119    be useful, but without any warranty; without even the implied warranty
120    of merchantability or fitness for a particular purpose. See the
121    [13]GNU General Public License for more details.
122    
123    You should have received a copy of the GNU General Public License
124    along with adns, or one should be available above; if not, write to
125    the [14]Free Software Foundation, 59 Temple Place - Suite 330, Boston,
126    MA 02111-1307, USA, or email adns-maint@chiark.greenend.org.uk.
127      _________________________________________________________________
128    
129    [15]Ian Jackson / [16]adns-maint@chiark.greenend.org.uk; more [17]free
130    software by me.
131    
132    [18]GNU home page; [19]chiark home page; [20]site or mirror home page
133    
134    This web page is Copyright (C)1996-2000 Ian Jackson. See the
135    [21]Copyright/acknowledgements.
136    
137    Use any browser - [22]Campaign for a non-browser-specific WWW
138
139 References
140
141    1. http://www.chiark.greenend.org.uk/~ian/adns/usage/adnsresfilter_usage.text
142    2. http://www.isc.org/view.cgi?/products/BIND/index.phtml
143    3. http://www.dents.org/
144    4. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
145    5. http://www.chiark.greenend.org.uk/mailman/listinfo
146    6. http://www.chiark.greenend.org.uk/~ian/adns/
147    7. http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz
148    8. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
149    9. ftp://ftp.chiark.greenend.org.uk/users/ian/adns/
150   10. http://www.chiark.greenend.org.uk/ucgi/~ijackson/cvsweb/adns/
151   11. http://www.gnu.org/
152   12. http://www.gnu.org/order/ftp.html
153   13. http://www.chiark.greenend.org.uk/~ian/COPYING.txt
154   14. http://www.fsf.org/
155   15. http://www.chiark.greenend.org.uk/
156   16. mailto:adns-maint@chiark.greenend.org.uk
157   17. http://www.chiark.greenend.org.uk/~ian/software/
158   18. http://www.gnu.org/
159   19. http://www.chiark.greenend.org.uk/
160   20. file://localhost/
161   21. http://www.chiark.greenend.org.uk/~ian/sw-www-copy.html
162   22. http://www.anybrowser.org/campaign/