On 01/10/2020 12:45, Victor Sudakov via Exim-users wrote:
> accept condition = 
> ${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}}
> 
> Doesn't this line mean that the right part of the expression is err... hmm... 
> a condition?

No.  The ACL general-purpose condition called "condition" takes a string
argument and converts it, using *its* set of rules, into a conditional
value for the ACL.

But you are dealing with an expansion condition, a different thing,
which is not a string.  It is a separate concept.  You were trying
to use a string (derived from an expansion, a lookup - but that isn't
really important here).
  You could convert that string into an expansion condition, by using
either "bool" or "eq".  Bool would be simpler.

> OK, I have changed my expression to
[...]
> Then into 
> 
>  accept condition =  ${if or {\
>                       
> {eq{${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}}{yes}}} \
>                       
> {eq{${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}}{yes}}} \
>                       } {yes}}
> 
> and still:
> 
> failed to expand ACL string "${if or 
> {{eq{${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}}{yes}}} 
> {eq{${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}}{yes}}} } 
> {yes}}": missing 2nd string in {} after "eq" inside "or{...}" condition

re-laying out that...

${if or {\
         {eq \
            {${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}} \
                                                                          ^^^^  
missing a } here
            {yes}\
         } \
        } \

                      
{eq{${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}}{yes}}} \
                     } {yes}}

> 
> Can you possibly please reword my combined expression into a working one?

I like to use a bracket-matching-capable editor when developing
complex conditions.
-- 
Cheers,
  Jeremy

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to