[exim] Feature Request: ACL Branching

Top Page
Delete this message
Reply to this message
Author: Frank Myhr
Date:  
To: exim-users
Subject: [exim] Feature Request: ACL Branching
Hello,

My acl_smtp_rcpt logic goes like:

Do Check 1
If Condition A:
    Do Check 2
    Do Check 3
    .
    .
    .
    Do Check 9
Do Check 10


As I understand it, Exim allows only a single outer ACL for the RCPT
(and other) smtp commands. So the above acl logic must be written like:

Do Check 1
If Condition A:
    Do Check 2
If Condition A:
    Do Check 3
.
.
.
If Condition A:
    Do Check 9
Do Check 10



Repeating Condition A like this is tedious, error-prone and hard to
read. Maybe there is a better way to do it with existing acl commands,
please tell me if so!

I wish Exim acl handling could go something like Linux iptables firewall
chain processing, with a conditional "jump to acl [name]" command. The
jumped-to acl would become the new outer acl, returning final
accept/deny/drop/jump to another outer acl.

This would also be something like the pass_router generic router option,
but with acl's rather than mail routing. pass_router protects against
loops, I don't know how a "jump to acl [name]" command could do this.
(Nor do I know if/how loops are prevented in iptables firewall chains.)

Thanks for your help,
Frank