[Exim] strange problem with lookup in string expansion

Top Page
Delete this message
Reply to this message
Author: Terry Edhouse
Date:  
To: exim-users
Subject: [Exim] strange problem with lookup in string expansion
    I'm in the process of setting up SMTP authentication for remote users
and had everything working OK until I tried the following
server_condition :

"${if and {{!eq{$2}{}}\
           {!eq{$3}{}}\


{${lookup{${local_part:$2}}lsearch{/usr/local/exim/externalsenderslist}{1}fail}}\
           {crypteq
{$3}{${extract{1}{:}{${lookup{${local_part:$2}}lsearch{/usr/local/exim/passwds}{$value}fail}}}}}\
          } {yes}{no}\
  }"


Now I get the error :

expansion failed: missing or misplaced { or }
435 Unable to authenticate at present: missing or misplaced { or }
LOG: 0 MAIN REJECT
Authentication failed for telonis.volt.york.ac.uk (ohm.york.ac.uk)
[144.32.138.40]: 435 Unable to authenticate at present: missing or
misplaced { or }


All I've added to the server_condition that worked is the 3rd line which
checks if the sender is in the list of users allowed to send remotely
(externalsenderslist).

The contents of externalsenderslist is just the line :

tje1:1

Can anyone help, I've tried everything I can think of.

I'm using Exim version 3.14 under Solaris 7.

Thanks in advance

--Terry