This is code to do asynchronous DNS lookups, very similarly to how the Ident Daemon does RFC1413 lookups. This is currently in alpha but has been heavily tested on Surfers. Right now it only does PTR lookups (i.e. map IP to name), and doesn't do any checking for someone trying to spoof DNS. I hope to add such features before putting the code on general release.
Why bother? Well, Surfers did start running into a problem where some connections would come from sites with DNS servers that would take a long time to respond, or not at all in the end. The result of which was that the talker would pause during the gethostbyaddr() call, not good. This code farms those calls out to seperate processes, allowing the talker to run smoothly in the meantime.
The latest version is v0.10, which is just a fix for a bug in v0.09 (that I'm shocked no-one pointed out before as it causes random crashes of whatever you integrate this code into). Note v0.10 is untested, but the fix looks right. v0.09 was released so long ago that I said of it: "This should work out of the box on any Linux 2.0.x or 2.2.x kernel, with either glibc1 or glibc2. It _should_ also work on Linux kernels 2.4.x and on the *BSDs, but hasn't been tested."
You may download the latest version by clicking a link below:
Please be sure to read ALL the documentation, particularly the COPYRIGHT, LICENSE and README files.