libdnsres - a non-blocking DNS resolver library

libdnsres - a non-blocking DNS resolver library

Libdnsres provides a non-blocking thread-safe API for resolving DNS names. It requires that your main application is built on top of libevent. Libdnsres' API essentially mirrors the traditional gethostbyname and getaddrinfo interfaces. All return values have been replaced by callbacks instead.

The code borrows heavily from the BSD resolver library. In fact, it is an extremely ugly hack to make the BSD resolver library non-blocking and thread-safe without changing the API too much.

Although libdnsres has not been tested heavily, it should compile on BSD systems and Linux. The library comes with a simple test program that can be use to verify if it works correctly. Good luck!

 Happpy Hacking 
 Keep me happy while
 hacking on libdnsres. 
 Reduce my wishlist! 

 Support Libdnsres 
 Search Amazon  


Libdnsres has been released under a 4-clause BSD license.

Programs using libdnsres

The usefulness of libdnsres is demonstrated by the following applications:
  • Honeyd - a virtual honeynet daemon - can be used to fight Internet worms. Current beta versions of Honeyd make use of libdnsres.


If you are inclined, you can leave a tip for me with PayPal. Sign up for it.

Niels Provos
Last modified: Sun May 8 15:33:30 PDT 2005
  You can keep me happy while hacking by reducing my Wishlists: Books, Music