Re: [Exim] ACL tidying

Top Page
Delete this message
Reply to this message
Author: John Jetmore
Date:  
To: William Thompson
CC: exim-users
Subject: Re: [Exim] ACL tidying
On Thu, 1 May 2003, William Thompson wrote:

> ICK, that's horrid.


it's also officially the first thing I ever wrote for exim4. but yes, it
is, hence my "that looks ugly" comment =).

> > acl_choose_check_rcpt:
> >   accept domains = dbmnz;MAILRTRD/db.rtr_alldomains.db
> >          acl     = acl_rtr_main
> >   accept acl     = check_recipient

>
> That should work.
>
> > but it doesn't. If acl_rtr_main denies the rcpt, check_recipient is then
> > given a go, which is wrong. I also considered this:
>
> Maybe you should change that to a deny:
>     deny    domains = dbmnz;MAILRTRD/db.rtr_alldomains.db
>         acl = acl_rtr_main


hmm, idly fiddling w/ deny didn't work, in fact it caused everything to be
rejected. However, it did occur to me that this should work:

I also tried deny !acl, but that didn't work either.

I thought this would work:
acl_choose_check_rcpt:
  accept domains  = dbmnz;MAILRTRD/db.rtr_alldomains.db
         acl      = acl_rtr_main
  accept !domains = dbmnz;MAILRTRD/db.rtr_alldomains.db
         acl      = check_recipient


but it appears the act of even considering the second accept causes my
custom rejection response from the first to be lost...

Any further thoughts? It's really looking at this point like I'll have to
use an ${if to choose the... (just read Nico's email, but I'll finish this
sentence anyway) acl, any ideas on making the lookup cleaner?

And Thank you, Nico. And allow me to say doh! I should have thought of
that.

--John