Re: [Exim] acl_smtp_mailauth: how to decline correctly

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Marian Eichholz
CC: exim-users
Subject: Re: [Exim] acl_smtp_mailauth: how to decline correctly
On Fri, 15 Aug 2003, Marian Eichholz wrote:

> My (working) ACL looks like this:
>
> check_senderauth:
> accept condition = ${if eq{$authenticated_sender}{$authenticated_id} {yes}{no}}
> warn
>
> I'm not quite shure about the "warn" exit. Section 23 in "doc/NewStuff"
> confuses me, to be honest.
>
> "If the ACL does not yield "accept", the value of
>       $authenticated_sender is deleted."


If your condition is not true, the "warn" verb will be obeyed, because
it has no conditions. However, "warn" verbs are useful only for their
side-effects, specified with "message=" and so on. As you have specified
no side effects, nothing will happen. A "warn" verb always passes
control on to the next ACL statement. As there is no next ACL statement,
the result of the ACL will be "deny". So the "warn" line achieves
absolutely nothing.

> So, is the "warn" verb correct or deprecated? It seems to have the same
> effect as "deny", but we'd like to make it robust for the future :)


You are hitting the end-of-acl implicit "deny"; it isn't the warn. If
you put, for example,

warn log_message = discarded AUTH=$authenticated_id

you would see an effect on your log.


--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book