[Exim] Ldap problems

Pàgina inicial
Delete this message
Reply to this message
Autor: Nico Erfurth
Data:  
A: exim-users
Assumpte: [Exim] Ldap problems
Hi, i have a problem with ldap, and these one is VERY strange
exim 4.05

FILTERFILE=${lookup\
ldap{ldap:///uid=${quote_ldap:$local_part}, ou=users,domain=\
${quote_ldap:$domain},o=host?filterfile?sub?\
(mailacceptinggeneralid=${quote_ldap:$local_part}@\
${quote_ldap:$domain})}}

when i use this macro in a router like this one

ldap_forward:
   driver = redirect
   allow_filter
   check_ancestor
   no_check_local_user
   no_expn
   condition = ${if eq {}{FILTERFILE}{no}{yes}}
   require_files = FILTERFILE
   data = ${sg{${readfile{FILTERFILE}}}{save\\s+([^/].*)\\s*}\
       {save USERHOME/$local_part/\$1\\n}}
   file_transport = local_delivery
   pipe_transport = address_pipe
   reply_transport = address_reply
   directory_transport = local_delivery
   retry_use_local_part
   user = mail
   verify = false


exim brings a error-message like this
LOG: MAIN
== duke@??? R=ldap_forward defer (-1): failed to expand "${lookup
ldap {ldap" for require_files: missing } at end of string

in the debug log, when i drop require_files and use this instead:

condition = ${if and { {!eq {}{FILTERFILE}} {exists {FILTERFILE}} }
{yes}{no} }

It works, so i think the makro is ok (i tried it without makros, same
results).

Any idea what's wrong?

Another thing.
How to read the list of domains from ldap?
At the moment i use this
domainlist local_domains = ${sg {${lookup ldapm \
{ldap:///o=host?domain?one?(objectclass=dnsdomain)}}}{\\n}{:}}

but this is ugly ;))) is there another/better way?

ciao