async resolver

From: Daniel Black <daniel.subs_at_internode.on.net>
Date: Sun, 18 Oct 2009 18:37:52 +1100

I was looking at the DNS resolution used in libopendkim. It seems that the DNS
resolution used rarely occurs in an async manner and in all cases uses a wait
function to get the results.

Further more it seems that there is no callback function in the libar.

It seems this way that we are blocking milter calls while waiting for DNS
responses.

As an alternative I propose that maybe a DNS async library like c-ares
(http://daniel.haxx.se/projects/c-ares/) be used. It provided genuine
callbacks that could be used to handle the responses truely asynchronously.
It has the following features:
* multi platform
* mature
* nice interface
* MIT License
Ref: http://c-ares.haxx.se/why.html

I propose that async DNS queries be started once signatures or From headers
are seen and the libopendkim functions that depend on these results can block
if the result doesn't exist by they time they are called.
Received on Sun Oct 18 2009 - 07:38:16 PST

This archive was generated by hypermail 2.3.0 : Mon Oct 29 2012 - 23:32:29 PST