Original David Arnold evaluation: http://elvin.dstc.com/ListArchive/elvin-dev/archive/2001/09/msg00027.html
glibc-2.2.4 | (and maybe a few earlier releases) provides a new function getaddrinfo_a() -- similar to getaddrinfo(), but asynchronous. results can be collected by polling or notified using a signal. This is probably the right thing to do on linux, although the use of a signal handler within the library could be problematic (if a linking application also wants to use the same signal). |
ADNS | ADNS (http://www.chiark.greenend.org.uk/~ian/adns/)is a GPL-ed library which provides async DNS lookup. GPL rules it out, obviously. |
Mozilla's netlib | (http://www.mozilla.org/docs/netlib/) provides an async DNS lookup abstraction, and per-platform backend implementations. it's written on top of the NSPR (portable runtime), and so it's use would require a whole chunk of Mozilla code. this basically rules it out too, i think. |
arlib | BIND v4.9.5's contrib section had a thing called arlib, from Darren Reed. looks pretty simple. its licence prohibits redistribution without explicit permission. could be worth asking? it doesn't seem to be in BIND9 though, so it might not work anymore. |
FireDNS | GPL. We asked the author about reconsidering the license. No luck. |
djbdns | http://cr.yp.to/djbdns.html Written by Dan Bernstein. The package is not allowed to be redistributed modified, which rules it out. |