[exim] Cannot negate router lookup condition

Top Page
Delete this message
Reply to this message
Author: Sebastian Arcus
Date:  
To: Exim Users
Subject: [exim] Cannot negate router lookup condition
I am running Exim 4.89. I have the following router in exim.conf:

send_direct:
     driver = dnslookup
     condition = ! ${lookup{$local_part@$domain}\
           lsearch{/etc/exim/exim.passwd}{$value}{}}
     transport = remote_smtp



I just can't seem to negate the condition. I want it to evaluate to
false if the email address is found in the password file - so that this
router is skipped. The debug output is below - and it is always the same
- even when I use {1}{0} - the condition always returns the password
from the file - instead of the value I give lsearch to return. Any help
would be much appreciated.

checking "condition" "!
${lookup{$local_part@$domain}lsearch{/etc/exim/exim.passwd}{$value}{}}"...
search_open: lsearch "/etc/exim/exim.passwd"
search_find: file="/etc/exim/exim.passwd"
key="email@???" partial=-1 affix=NULL starflags=0
LRU list:
6/etc/exim/exim.passwd
End
internal_search_find: file="/etc/exim/exim.passwd"
type=lsearch key="email@???"
file lookup required for email@???
in /etc/exim/exim.passwd
lookup yielded: mypassword
calling send_direct router