[Exim] string expansion puzzle

Top Page
Delete this message
Reply to this message
Author: Jack Ziegler
Date:  
To: exim-users
Subject: [Exim] string expansion puzzle
Hello,

I'm relatively new to Exim. I'm trying to implement a router that will
accept a message based on whether

1) SpamAssassin has flagged it as spam, and

2) the recipient has opted into special handling of suspected spam by
setting a flag in our LDAP directory.

Here's the code:

# # # #
graymail_router:
no_verify
condition = "${if and { {def:header_X-Spam-Flag:} \
{eq {${lookup ldap {user="cn=yyyyyyyy,o=sonoma,o=edu" pass=xxxxxx ldap:///\
ou=people,o=sonoma,o=edu?grayMailFlag?sub?(&(objectClass=mailUser)\
(uid=${quote_ldap:$local_part}))}}}{True}}} {1}{0}}"
require_files = /usr2/graymail/$local_part/Maildir
driver = accept
transport = graymail_transport

# # # #

I've tested this in "exim -be" and it does not generate errors. In fact
it seems to generated the expected results. However, when I insert it
in the config and run "exim -bV" I get

Exim configuration error in line 281:
extra characters follow string value for condition

I've RTFM and fiddled with the code many times ... Any help greatly appreciated!

Thanks.