X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blobdiff_plain;f=README;h=c045cae644944dd40a76f1fc39e77f295e2e40b5;hp=5711a58c2f7f141d012608eed70538888b8331bd;hb=fcf2b4e1faf22accb6184cca595aaee602839868;hpb=849075a00676ad04776f4fe3902e23cc2d8f70a3 diff --git a/README b/README index 5711a58..c045cae 100644 --- a/README +++ b/README @@ -1,5 +1,4 @@ - - GNU adns + GNU adns Advanced, easy to use, asynchronous-capable DNS client library and utilities. @@ -11,25 +10,25 @@ 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 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. + for a C program - there is no need to deal with DNS packet and + RRDATA 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 getting in the way. + correspondence, CNAME pointing to CNAME) is performed automatically + by default. + * Time-to-live, CNAME and other similar information is returned in an + easy-to-use form, without getting in the way. * 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. + * adns 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 hostname syntax sanity checks to return arbitrary data, override or ignore @@ -49,24 +48,12 @@ DNS utility programs delaying the output. For example, you can usefully pipe the output of netstat -n, tcpdump -ln, and the like, into it. * adnshost is a general-purpose DNS lookup utility 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 + 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]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. - Documentation I'm afraid there is no manual yet. However, competent C programmers @@ -79,112 +66,105 @@ 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. + Bug reports should be reported to the [3]GNU Debbugs. Send an email to + submit@debbugs.gnu.org and at the top of your email, in a paragraph of + its own, write the single line +Package: adns + + Your bug report will be published via to the adns-discuss list. + + Feedback and discussion takes place on the adns-discuss list. You can + mail me privately at ijackson@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, etc. The bug reports address mentioned - above is also a mailing list; feel free to subscribe to it. + important bugs, new versions, etc. - There are [3]archives and subscription web pages, or you can subscribe + There are [4]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 +Documentation + + * [5]adns.h API header file with documentation comments + * [6]usage message for adnshost - 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. +Download and source code - 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. - * This web page is maintained in [11]Savannah, where you can browse - the [12]webpage CVS. + * The [7]current release as a gzipped tarfile. + * [8]Previous versions and other files (including OpenPGP + signatures). + * [9]master git (version control) repository browser. - adns is also available from the [13]GNU Project FTP servers and their - [14]mirrors. + adns is also available from the [10]GNU Project FTP servers and their + [11]mirrors. -Technical note +Installation 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. + 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'. + + adns requires that your real nameserver is on the same machine, or + connected via a secure network, so that an attacker cannot fake the + replies to adns's queries. References and related projects - There is a [17]port to MS Visual Studio 6 C++ by Jarle Aase. + * [12]Python bindings by Andy Dustman. + * [13]liboop event loop library has a built-in binding for adns. + * [14]port to MS Visual Studio 6 C++ by Jarle Aase. Copyright and licensing - adns is Copyright 1997-2005 Ian Jackson, Copyright 1999-2004 Tony - Finch, and Copyright (C) 1991 Massachusetts Institute of Technology. + adns is Copyright 1997-2000,2003,2006,2014-2016 Ian Jackson, Copyright + 2014 Mark Wooding, Copyright 1999-2000,2003,2006 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 + Software Foundation; either version 3 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 - [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 [19]Free Software Foundation, 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA, or email adns-maint@chiark.greenend.org.uk. - _________________________________________________________________ + of merchantability or fitness for a particular purpose. See the [15]GNU + General Public License for more details. - [20]Ian Jackson / [21]adns-maint@chiark.greenend.org.uk; more [22]free - software by me. + 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 + [16]Free Software Foundation or email ijackson@chiark.greenend.org.uk. + __________________________________________________________________ - [23]GNU home page; [24]chiark home page; [25]site or mirror home page + Ian Jackson / ijackson@chiark.greenend.org.uk. - This web page is Copyright (C)1996-2005 Ian Jackson. See the - [26]Copyright/acknowledgements. + [17]GNU home page; [18]chiark home page; [19]site or mirror home page - Use any browser - [27]Campaign for a non-browser-specific WWW + This web page is Copyright (C)1996-2005,2014-2016 Ian Jackson. See the + [20]Copyright/acknowledgements. References - 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://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/ + 1. http://www.chiark.greenend.org.uk/~ian/adns/docs/adnshost.txt + 2. http://www.chiark.greenend.org.uk/~ian/adns/docs/adns.h.txt + 3. http://debbugs.gnu.org/ + 4. http://www.chiark.greenend.org.uk/mailman/listinfo + 5. http://www.chiark.greenend.org.uk/~ian/adns/docs/adns.h.txt + 6. http://www.chiark.greenend.org.uk/~ian/adns/docs/adnshost.txt + 7. http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz + 8. http://www.chiark.greenend.org.uk/~ian/adns/ftp/ + 9. http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git/adns.git/ + 10. http://www.gnu.org/ + 11. http://www.gnu.org/order/ftp.html + 12. http://code.google.com/p/adns-python + 13. http://www.lysator.liu.se/liboop/ + 14. http://adns.jgaa.com/ + 15. http://www.chiark.greenend.org.uk/~ian/adns/docs/COPYING.txt + 16. http://www.fsf.org/ + 17. http://www.gnu.org/ + 18. http://www.chiark.greenend.org.uk/ + 19. file:/// + 20. http://www.chiark.greenend.org.uk/~ian/sw-www-copy.html