Applied, thanks.
On 10-Mar-08, at 6:29 PM, Radu Greab wrote:
I found that the async/require_resolvable_fromhost plugin has two
problems:
- it sometimes denies mails from resolvable fromhosts
- it may call $qp->run_continuation multiple times, making other
plugins
run too early
I believe the short fix would have been to add a "finished"
callback to
the MX query and to set $num_queries to three queries (or two
queries if
no IPv6).
Initially I didn't knew the difference between the "callback" and the
"finished" ParaDNS callbacks, so I added more checks then strictly
necessary. I think that those extra checks are nice to have so I left
them in. I also changed during my tests the logic of plugin to the
following and I left it so: the plugin finishes its work either
when the
first valid DNS result is received (and the following results are
ignored) or when all queries have been finished.
I also added manual pausing and "resuming" of reading from the
client's
socket. I suppose it is better than the original version, but I
could be
wrong and I would appreciate Matt's advise on this: is it a good
idea to
tell async plugin writers to pause/resume reading from the client's
socket?
Please review the patch and if is OK, please apply it.
Thank you,
Radu Greab
<qpsmtpd-0.43-async-require_resolvable_fromhost.patch>