./net/adns, Asynchronous-capable DNS client library and utilities

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: pkgsrc-2021Q4, Version: 1.6.0, Package name: adns-1.6.0, Maintainer: pkgsrc-users

adns is a DNS resolver library and a collection of utilities that use the
library. The adns library 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
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.
* 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.
* 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.
* 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
resolv.conf in favour of supplied configuration, etc.
...and more!


Master sites:

Filesize: 315.893 KB

Version history: (Expand)