Hi,
I have trouble getting an lsearch lookup to work.
I tried hard, but I absolutely can't get it to work.
I must be wrong at some point, but I don't know where.
Why doesn't the lookup succeed?
In the 4.20 spec pdf I read 10.13 on address lists to do a complete address lookup.
I also read section 11.6 on focusing the differences between
"eq" and "match" while when using match everything returns true.
That should be right I think.
In a router condition, I made the following statement:
==========================================
/etc/exim/exim.conf
==========================================
begin routers
outgoing_smtp_router_dnslookup_without_disclaimer:
driver = dnslookup
domains = ! +local_domains
condition = ${if eq {$sender_address}{${lookup \
{$sender_address}lsearch \
{/etc/exim/senders_without_disclaimer}}} \
{ye}{no}}
transport = smtp_dnslookup_without_disclaimer
==========================================
Here is the file that holds the mail addresses
==========================================
/etc/exim/senders_without_disclaimer
==========================================
#
# file /etc/exim/senders_without_disclaimer
#
webmaster@???
listuser@???
==========================================
==========================================
exim -d+all -be -f listuser@???
==========================================
> ${if eq {$sender_address}{${lookup{$sender_address}lsearch{/etc/exim/senders_without_disclaimer}}}{yes}{no}}
12:40:59 3823 ---0 Get 0x80eeb28 200 string.c 856
12:40:59 3823 ---0 Get 0x80eebf0 104 string.c 856
12:40:59 3823 ---0 Rst 0x80eec0d ** expand.c 4029 41000
12:40:59 3823 expanding: $sender_address
12:40:59 3823 result: listuser@???
12:40:59 3823 ---0 Get 0x80eec10 104 string.c 856
12:40:59 3823 ---0 Rst 0x80eec2d ** expand.c 4029 41000
12:40:59 3823 expanding: $sender_address
12:40:59 3823 result: listuser@???
12:40:59 3823 ---0 Get 0x80eec30 104 string.c 856
12:40:59 3823 ---0 Rst 0x80eec55 ** expand.c 4029 41000
12:40:59 3823 expanding: /etc/exim/senders_without_disclaimer
12:40:59 3823 result: /etc/exim/senders_without_disclaimer
12:40:59 3823 search_open: lsearch "/etc/exim/senders_without_disclaimer"
12:40:59 3823 cached open
12:40:59 3823 search_find: file="/etc/exim/senders_without_disclaimer"
12:40:59 3823 key="listuser@???" partial=-1 affix=NULL starflags=0
12:40:59 3823 LRU list:
12:40:59 3823 9/etc/exim/senders_without_disclaimer
12:40:59 3823 End
12:40:59 3823 internal_search_find: file="/etc/exim/senders_without_disclaimer"
12:40:59 3823 type=lsearch key="listuser@???"
12:40:59 3823 cached data used for lookup of listuser@???
12:40:59 3823 in /etc/exim/senders_without_disclaimer
12:40:59 3823 lookup yielded:
12:40:59 3823 ---0 Get 0x80eec58 8 string.c 349
12:40:59 3823 ---0 Get 0x80eec60 104 string.c 856
12:40:59 3823 ---0 Rst 0x80eec61 ** expand.c 4029 41000
12:40:59 3823 expanding: ${lookup{$sender_address}lsearch{/etc/exim/senders_without_disclaimer}}
12:40:59 3823 result:
12:40:59 3823 condition: eq {$sender_address}{${lookup{$sender_address}lsearch{/etc/exim/senders_without_disclaimer}}}
12:40:59 3823 result: false
12:40:59 3823 ---0 Get 0x80eec68 104 string.c 856
12:40:59 3823 ---0 Rst 0x80eec6c ** expand.c 4029 41000
12:40:59 3823 expanding: yes
12:40:59 3823 result: yes
12:40:59 3823 skipping: result is not used
12:40:59 3823 ---0 Get 0x80eec70 104 string.c 856
12:40:59 3823 ---0 Rst 0x80eec73 ** expand.c 4029 41000
12:40:59 3823 expanding: no
12:40:59 3823 result: no
12:40:59 3823 ---0 Get 0x80eec78 104 string.c 856
12:40:59 3823 ---0 Rst 0x80eec7b ** expand.c 4029 41000
12:40:59 3823 expanding: ${if eq {$sender_address}{${lookup{$sender_address}lsearch{/etc/exim/senders_without_disclaimer}}}{yes}{no}}
12:40:59 3823 result: no
no
==========================================
I would be glad if someone could help me here a bit.
Thanks so far for reading,
Michael