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.

C library

In contrast with the standard interfaces, gethostbyname et al and libresolv, it has the following features:

DNS utility programs

adns also comes with a number of utility programs for use from the command line and in scripts:


I'm afraid there is no manual yet. However, competent C programmers should be able to use the library based on the commented adns.h header file, and the usage messages for the programs should be sufficient.


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.

Bug reports should be reported to the GNU Debbugs. Send an email to 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


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.

There are archives and subscription web pages, or you can subscribe by sending mail containing the word `subscribe' to or


Download and source code

adns is also available from the GNU Project FTP servers and their mirrors.

Installation note

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

Copyright and licensing

adns is Copyright 1997-2000,2003,2006,2014 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 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 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 Free Software Foundation or email

Ian Jackson /

GNU home page; chiark home page; site or mirror home page

This web page is Copyright (C)1996-2005,2014 Ian Jackson. See the Copyright/acknowledgements.