What is it ?
Skadns is Kind of an Asynchronous DNS client software.
- Kind of: it's small. Really small. But it just works.
- Asynchronous: all DNS operations are non-blocking.
- DNS client software: it's a DNS client, what you may know
as a "stub resolver". To perform full DNS resolution, you will still
need a full resolver like
The skadns library offers a simple API to make asynchronous
The skadnsip, skadnsmx and skadnsfilter
commands are examples of how to use that API. They are mainly there
for their source code.
The skadnsd daemon, usable as a child process or as a
separate service, handles the grunt work of DNS querying and
makes the network completely invisible to the client.
- ares is
an asynchronous DNS resolver library with a nice interface and more
configuration options than skadns (and a very reasonable size). Use
it if you find that skadns lacks configurability (you shouldn't need
more than it provides, but well, you're the user). Yet it doesn't hide
the DNS internals as opaquely as skadns does, giving you a bunch of
fds to select() on instead of just one.
- adns works
fine, and is small for a GNU project. Impressive. But the interface is
still too complex and much too generic - the usual problems with GNU