Mailing List Archive

[Bug 1252] New: Add a "no_more" rule to DKIM ACL processing
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1252
Summary: Add a "no_more" rule to DKIM ACL processing
Product: Exim
Version: 4.80
Platform: Other
OS/Version: Windows
Status: NEW
Severity: wishlist
Priority: medium
Component: DKIM
AssignedTo: tom@duncanthrax.net
ReportedBy: mike.tubby@thorcom.co.uk
CC: exim-dev@exim.org


When processing email with DKIM signatures by default the DKIM ACL is called
once for each of the signatures in the message ($dkim_current_signers) - there
may be none, one or more - often two signatures.

On occasions where there are more than one signature one may be correct and the
other incorrect.

In my ACL processing I often want to accept (or deny) a message based on the
DKIM signature and then cease any further processing of DKIM, i.e. terminate
the ACL - I want this for cases like where we have two signatures in the
message and the first results in "accept" and the second in "deny", or
vise-versa.

What I think is needed is something like a "no_more" clause that could be used
at the end of the ACL entry like this:


accept sender_domains = +dkim_known_signers
dkim_status = pass
logwrite = DKIM PASS: Accepted $sender_address_domain is known
signer and has good signature
add_header = :after_received:X-DKIM-Result:
Domain=$sender_address_domain Result=Good and Known Domain
no_more

So that if we have accepted it then that's the end if it.

Mike Tubby


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email

--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
Re: [Bug 1252] New: Add a "no_more" rule to DKIM ACL processing [ In reply to ]
On 2012-05-22 23:12, Mike Tubby wrote:
> What I think is needed is something like a "no_more" clause that could be used
> at the end of the ACL entry like this:
>
>
> accept sender_domains = +dkim_known_signers
> dkim_status = pass
> logwrite = DKIM PASS: Accepted $sender_address_domain is known
> signer and has good signature
> add_header = :after_received:X-DKIM-Result:
> Domain=$sender_address_domain Result=Good and Known Domain
> no_more
>
> So that if we have accepted it then that's the end if it.

Couldn't you achieve it the following way?

1. add "set acl_m_foobar_done = true" in that quoted condition

2. add "accept condition = ${if def:acl_m_foobar_done}" above the quoted ACL

Quite simple and no need for additional syntax?

--
Janne Snabb / EPIPE Communications
snabb@epipe.com - http://epipe.com/

--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##