readme.html

来自「adns for unix/linux, adns-1.3.tar.gz」· HTML 代码 · 共 263 行

HTML
263
字号
<html><head><title>adns - advanced, alternative, asynchronous resolver</title><link rev="made" href="mailto:adns-maint@chiark.greenend.org.uk"><meta name="keywords" content="adns"></head><body><h1>GNU adns</h1><strong>Advanced, easy to use, asynchronous-capable DNS clientlibrary and utilities.</strong><!--      Note: this file must contain portable HTML !            --><!--                                                              --><!--  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: README.html,v 1.12 2006/04/08 14:36:57 ian Exp $    -->   <p>adns is a resolver library for C (and C++) programs, and a collectionof useful DNS resolver utilities.<h2>C library</h2>In contrast with the standard interfaces, gethostbyname et al andlibresolv, it has the following features:<ul><li>It is reasonably easy to use for simple programs which just wantto translate names to addresses, look up MX records, etc.<li>It can be used in an asynchronous, non-blocking, manner.  Manyqueries can be handled simultaneously.<li>Responses are decoded automatically into a natural representationfor a C program - there is no need to deal with DNS packet formats.<li>Sanity checking (eg, name syntax checking, reverse/forwardcorrespondence, CNAME pointing to CNAME) is performed automatically.<li>Time-to-live, CNAME and other similar information is returned inan easy-to-use form, without getting in the way.<li>There is no global state in the library; resolver state is anopaque data structure which the client creates explicitly.  A programcan have several instances of the resolver.<li>Errors are reported to the application in a way that distinguishesthe various causes of failure properly.<li>Understands conventional resolv.conf, but this can overridden byenvironment variables.<li>Flexibility.  For example, the application can tell adns to:ignore environment variables (for setuid programs), disable hostnamesyntax sanity checks to return arbitrary data, override or ignoreresolv.conf in favour of supplied configuration, etc.<li>Believed to be correct !  For example, will correctly back off toTCP in case of long replies or queries, or to other nameservers ifseveral 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 thecommand line and in scripts:<ul><li><code>adnslogres</code> is a much faster version of Apache'slogresolv program.<li><code>adnsresfilter</code> is a filter which copies its input toits output, replacing IP addresses by the corresponding names, withoutunduly delaying the output.  For example, you can usefully pipe theoutput of netstat -n, tcpdump -ln, and the like, into it.<li><code>adnshost</code> is a general-purpose DNS lookup utilitywhich can be used easily in from the command line and from shellscripts to do simple lookups.  In a more advanced mode it can be usedas a general-purpose DNS helper program for scripting languages whichcan invoke and communicate with subprocesses.  See the<A href="http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt">adnshostusage message</A> for a summary of its capabilities.</ul><h2>Forthcoming:</h2>I hope that future versions may also have the following features:<ul><li>The library should be useable by threads in a multithreadedprogram in a natural way.  It should multiplex many threads' queriesthrough a single query socket.<li>IPv6 support.<li>Some kind of awareness of DNSSEC.<li>Possibly some very limited caching behaviour.<li>There was, at one point, a draft native Perl interface from Tony Finch.</ul><h2>Documentation</h2>I'm afraid there is no manual yet.  However, competent C programmersshould be able to use the library based on the<A href="http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt">commentedadns.h header file</A>, and the usage messages for the programs shouldbe sufficient.<h2>Feedback</h2>I'd be pleased if you would let me know if you're using my library inyour project, and what you think of it.<p>If you are subscribed to <code>adns-discuss</code> please sendfeedback, including bug reports, there; otherwise send mail to<code>adns-bugreports@chiark.greenend.org.uk</code>.  If you'd preferthat your message wasn't forwarded to the <code>adns-bugreports</code>list, send it to <code>adns-maint@chiark.greenend.org.uk</code>.<h2>Mailinglists</h2>I have set up mailinglists <code>adns-announce</code> and<code>adns-discuss</code>.  The announcements list is moderated andwill contain only announcements of important bugs, new versions, etc.The bug reports address mentioned above is also a mailing list; feelfree to subscribe to it.<p>There are<A href="http://www.chiark.greenend.org.uk/mailman/listinfo">archivesand subscription web pages</A>, or you can subscribe by sending mailcontaining the word `subscribe' to<code>adns-announce-REQUEST@chiark.greenend.org.uk</code> or<code>adns-discuss-REQUEST@chiark.greenend.org.uk</code>.<h2>Download</h2>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    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, 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> and <A href="http://www.chiark.greenend.org.uk/~ian/adns/ftp/">HTTP</A>.</ul>You can also access the project CVS repositories:<ul><li>A mirror of the source code 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    <A href="http://www.chiark.greenend.org.uk/ucgi/~ijackson/cvsweb/adns/">cvsweb</A>.<li>This web page is maintained in    <A href="http://savannah.gnu.org/">Savannah</A>,    where you can browse the    <A href="http://savannah.gnu.org/cgi-bin/viewcvs/software/adns/?cvsroot=www.gnu.org">webpage CVS</A>.</ul>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 onthe same system or a nearby one, which must be willing to provide`recursive service'.  I.e., adns is a `stub resolver'.  All properlyconfigured UN*X and GNU systems will already have such nameserver(s);they are usually listed in /etc/resolv.conf.<h2>References and related projects</h2><ul><li><a href="http://dustman.net/andy/python/adns-python">Python bindings</a>   by Andy Dustman.<li><a href="http://cryp.to/hsdns/">Haskell bindings</a>   by Peter Simons.<li><a href="http://liboop.ofb.net/ref">liboop event loop library</a>   (by Dan Egnor) has a built-in binding for adns.<li><a href="http://adns.jgaa.com/">port to MS Visual Studio 6 C++</a>   by Jarle Aase.</ul><h2>Copyright and licensing</h2><kbd>adns</kbd> is Copyright 1997-2000,2003,2006 Ian Jackson,Copyright 1999-2000,2003,2006 Tony Finch, and Copyright (C) 1991Massachusetts Institute of Technology.<p><kbd>adns</kbd> is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or (atyour option) any later version.<p>This program and documentation is distributed in the hope that it willbe useful, but <em>without any warranty</em>; without even the impliedwarranty of <em>merchantability</em> or <em>fitness for a particularpurpose</em>.  See the<A href="http://www.chiark.greenend.org.uk/~ian/COPYING.txt">GNUGeneral Public License</A> for more details.<p>You should have received a copy of the GNU General Public Licensealong with <kbd>adns</kbd>, or one should be available above; if not,write to the<A href="http://www.fsf.org/">Free Software Foundation</A>,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA,or email <code>adns-maint@chiark.greenend.org.uk</code>.<p><hr><A href="http://www.chiark.greenend.org.uk/">Ian Jackson</A> / <A href="mailto:adns-maint@chiark.greenend.org.uk"><tt>adns-maint@chiark.greenend.org.uk</tt></A>;more <A href="http://www.chiark.greenend.org.uk/~ian/software/">freesoftware</A> by me.<p><A href="http://www.gnu.org/">GNU home page</A>;<A href="http://www.chiark.greenend.org.uk/">chiark home page</A>;<A href="/">site or mirror home page</A><p>This web page is Copyright (C)1996-2005 Ian Jackson.  See the<A href="http://www.chiark.greenend.org.uk/~ian/sw-www-copy.html">Copyright/acknowledgements</A>.<p>Use any browser -<A href="http://www.anybrowser.org/campaign/">Campaign for a non-browser-specific WWW</A></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?