GNU adns
-
+
Advanced, easy to use, asynchronous-capable DNS client library and
utilities.
-
+
adns is a resolver library for C (and C++) programs, and a collection
- of useful DNS resolver utilities. In contrast with the existing
- interfaces, gethostbyname et al and libresolv, it has the following
- features:
+ of useful DNS resolver utilities.
+
+C library
+
+ In contrast with the standard 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
TCP in case of long replies or queries, or to other nameservers if
several are available. It has sensible handling of bad responses
etc.
-
+
DNS utility programs
adns also comes with a number of utility programs for use from the
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 [1]usage
- message for a summary of its capabilities.
-
-Technical note
+ can invoke and communicate with subprocesses. See the [1]adnshost
+ usage message for a summary of its capabilities.
+
+Forthcoming:
+
+ I hope that future versions may also have the following features:
+ * 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.
+ * IPv6 support.
+ * Some kind of awareness of DNSSEC.
+ * Possibly some very limited caching behaviour.
+ * There was, at one point, a draft native Perl interface from Tony
+ Finch.
- adns requires a real nameserver like [2]BIND or [3]Dents 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.
-
Documentation
I'm afraid there is no manual yet. However, competent C programmers
- should be able to use the library based on the [4]commented adns.h
+ should be able to use the library based on the [2]commented adns.h
header file, and the usage messages for the programs should be
sufficient.
-
+
Feedback
I'd be pleased if you would let me know if you're using my library in
your project, and what you think of it.
-
+
If you are subscribed to adns-discuss please send feedback, including
bug reports, there; otherwise send mail to
adns-bugreports@chiark.greenend.org.uk. If you'd prefer that your
message wasn't forwarded to the adns-bugreports list, send it to
adns-maint@chiark.greenend.org.uk.
-
+
Mailinglists
I have set up mailinglists adns-announce and adns-discuss. The
announcements list is moderated and will contain only announcements of
- important bugs, new versions, &c. The bug reports address mentioned
+ important bugs, new versions, etc. The bug reports address mentioned
above is also a mailing list; feel free to subscribe to it.
-
- There are [5]archives and subscription web pages, or you can subscribe
+
+ There are [3]archives and subscription web pages, or you can subscribe
by sending mail containing the word `subscribe' to
adns-announce-REQUEST@chiark.greenend.org.uk or
adns-discuss-REQUEST@chiark.greenend.org.uk.
-
+
Download
- Available for download from [6]chiark.greenend.org.uk are:
- * The [7]current beta version as a gzipped tarfile.
- * [8]adns.h API header file with comments (currently there is no
- manual, sorry).
- * All versions released so far are also available via [9]anonymous
- FTP.
- * A mirror of my CVS repository is available via rsync from
+ Available for download from [4]chiark.greenend.org.uk are:
+ * The [5]current release as a gzipped tarfile.
+ * [6]adns.h API header file with comments, and [7]usage message for
+ adnshost (currently there is no manual, sorry).
+ * All versions released so far are also available via [8]anonymous
+ FTP and [9]HTTP.
+
+ You can also access the project CVS repositories:
+ * A mirror of the source code repository is available via rsync from
rsync.chiark.greenend.org.uk::ftp/users/ian/cvs-pub/adns (use FTP
first to find your way around), or via [10]cvsweb.
-
- adns is also available from the [11]GNU Project FTP servers and their
- [12]mirrors.
-
+ * This web page is maintained in [11]Savannah, where you can browse
+ the [12]webpage CVS.
+
+ adns is also available from the [13]GNU Project FTP servers and their
+ [14]mirrors.
+
+Technical note
+
+ adns requires a real nameserver like [15]BIND or [16]Dents 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.
+
+References and related projects
+
+ There is a [17]port to MS Visual Studio 6 C++ by Jarle Aase.
+
Copyright and licensing
- adns is Copyright 1997-2000 Ian Jackson, Copyright 1999 Tony Finch,
- and Copyright (C) 1991 Massachusetts Institute of Technology.
-
+ adns is Copyright 1997-2001 Ian Jackson, Copyright 1999-2000 Tony
+ Finch, and Copyright (C) 1991 Massachusetts Institute of Technology.
+
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 and documentation 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
- [13]GNU General Public License for more details.
-
+ [18]GNU General Public License for more details.
+
You should have received a copy of the GNU General Public License
along with adns, or one should be available above; if not, write to
- the [14]Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+ the [19]Free Software Foundation, 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA, or email adns-maint@chiark.greenend.org.uk.
_________________________________________________________________
-
- [15]Ian Jackson / [16]adns-maint@chiark.greenend.org.uk; more [17]free
+
+ [20]Ian Jackson / [21]adns-maint@chiark.greenend.org.uk; more [22]free
software by me.
-
- [18]GNU home page; [19]chiark home page; [20]site or mirror home page
-
- This web page is Copyright (C)1996-2000 Ian Jackson. See the
- [21]Copyright/acknowledgements.
-
- Use any browser - [22]Campaign for a non-browser-specific WWW
+
+ [23]GNU home page; [24]chiark home page; [25]site or mirror home page
+
+ This web page is Copyright (C)1996-2001 Ian Jackson. See the
+ [26]Copyright/acknowledgements.
+
+ Use any browser - [27]Campaign for a non-browser-specific WWW
References
- 1. http://www.chiark.greenend.org.uk/~ian/adns/usage/adnsresfilter_usage.text
- 2. http://www.isc.org/view.cgi?/products/BIND/index.phtml
- 3. http://www.dents.org/
- 4. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
- 5. http://www.chiark.greenend.org.uk/mailman/listinfo
- 6. http://www.chiark.greenend.org.uk/~ian/adns/
- 7. http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz
- 8. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
- 9. ftp://ftp.chiark.greenend.org.uk/users/ian/adns/
+ 1. http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt
+ 2. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
+ 3. http://www.chiark.greenend.org.uk/mailman/listinfo
+ 4. http://www.chiark.greenend.org.uk/~ian/adns/
+ 5. http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz
+ 6. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
+ 7. http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt
+ 8. ftp://ftp.chiark.greenend.org.uk/users/ian/adns/
+ 9. http://www.chiark.greenend.org.uk/~ian/adns/ftp/
10. http://www.chiark.greenend.org.uk/ucgi/~ijackson/cvsweb/adns/
- 11. http://www.gnu.org/
- 12. http://www.gnu.org/order/ftp.html
- 13. http://www.chiark.greenend.org.uk/~ian/COPYING.txt
- 14. http://www.fsf.org/
- 15. http://www.chiark.greenend.org.uk/
- 16. mailto:adns-maint@chiark.greenend.org.uk
- 17. http://www.chiark.greenend.org.uk/~ian/software/
- 18. http://www.gnu.org/
- 19. http://www.chiark.greenend.org.uk/
- 20. file://localhost/
- 21. http://www.chiark.greenend.org.uk/~ian/sw-www-copy.html
- 22. http://www.anybrowser.org/campaign/
+ 11. http://savannah.gnu.org/
+ 12. http://savannah.gnu.org/cgi-bin/viewcvs/software/adns/?cvsroot=www.gnu.org
+ 13. http://www.gnu.org/
+ 14. http://www.gnu.org/order/ftp.html
+ 15. http://www.isc.org/view.cgi?/products/BIND/index.phtml
+ 16. http://www.dents.org/
+ 17. http://adns.jgaa.com/
+ 18. http://www.chiark.greenend.org.uk/~ian/COPYING.txt
+ 19. http://www.fsf.org/
+ 20. http://www.chiark.greenend.org.uk/
+ 21. mailto:adns-maint@chiark.greenend.org.uk
+ 22. http://www.chiark.greenend.org.uk/~ian/software/
+ 23. http://www.gnu.org/
+ 24. http://www.chiark.greenend.org.uk/
+ 25. file://localhost/
+ 26. http://www.chiark.greenend.org.uk/~ian/sw-www-copy.html
+ 27. http://www.anybrowser.org/campaign/