Re: [exim-dev] [WL 413 & 343] An exim ACL called when the SM…

Top Page
Delete this message
Reply to this message
Author: Ted Cooper
Date:  
To: exim-dev
Subject: Re: [exim-dev] [WL 413 & 343] An exim ACL called when the SMTP connection ends without QUIT
Philip Hazel wrote:
> On Sat, 18 Aug 2007, Ted Cooper wrote:
>
>> I found another place where the QUIT ACL may possibly want to be called
>> but I had reservations about it when I spotted it.
>
> Hmm. It is documented that the QUIT ACL does not run for certain kinds
> of disastrous failure. See 40.8. I can't remember why I did this, but I
> imagine I thought the ACL would be used on for "normal" QUITs. But I
> don't really mind either way.


I was just trying to cover every single exit path for an Exim process
that was in a conversation with a remote host entirely for selfish
reasons :)

I run a daemon on a socket that dictates what exim does based on the
available evidence, but it does so by tracking the connection from
connection to exit. For every connection, I wanted an appropriate exit.

Considering the cases where Exim doesn't call a QUIT (or not-QUIT now)
ACL, it's probably just fine to leave it as is, without every exit
covered. If something is that wrong with Exim, then I'd like to think I
would have noticed and fixed the situation before it gets out of hand.
The numerous entries in the panic log and perhaps an exited daemon
should give it away.

Or maybe the not-QUIT ACL could be the collector for all terminal errors
like that - setting the variable $smtp_notquit_reason to yet another
creative string. It would probably need to be renamed if its role
changed that much.

I have remembered my reservations about touching the smtp_closedown
function. If the not-QUIT function which calls the ACL fails because it
is not able to write a log line, it calls smtp_closedown again creating
an infinite loop. I suspect calling an ACL at this stage would be more
trouble that it's worth.


For disastrous errors that don't occur unless there's something
seriously wrong with Exim that it can't receive messages anyway, at
least for my purposes, not calling the QUIT or not-QUIT ACL is
acceptable. I defer the choice to the court.


--
The Exim Manual
http://www.exim.org/docs.html
http://www.exim.org/exim-html-current/doc/html/spec_html/index.html