This is a feature request or thing to think about w.r.t. the future of the
callout code.
There's a problem that Exim has to do the callout verification within the
timout period for one SMTP command, but the callout takes multiple
commands. This can cause Exim to fail to get an answer when it could if it
waited longer.
There's a lot of desire for more functionality in callout verification,
such as TLS and AUTH. This probably implies that callouts should be more
closely based on the existing transport code. The transport would probably
have to run in a separate process, which allows a certain amount of
decoupling.
My actual suggestion is that if this model is followed, the parent process
doesn't have to stop the callout process if it is taking too long to
respond: it can return 450 to the incoming connection within the 5 minute
SMTP command timeout and leave the callout process to continue, in the
hope that it will eventually get a result and store it in the callout
cache in time for the sender's next attempt.
Tony.
--
f.a.n.finch <dot@???>
http://dotat.at/
ARDNAMURCHAN POINT TO CAPE WRATH INCLUDING THE OUTER HEBRIDES: VARIABLE 3 OR 4
BECOMING NORTH OR NORTHWEST 4 OR 5, OCCASIONALLY 6 LATER IN SOUTHWEST.
OCCASIONAL RAIN. MODERATE OR GOOD. SLIGHT OR MODERATE, OCCASIONALLY ROUGH WEST
OF THE OUTER HEBRIDES.