[exim] ldap lookup only

Top Page
Delete this message
Reply to this message
Author: Andreas Pettersson
Date:  
To: exim-users
Subject: [exim] ldap lookup only
Hi all.

I'm running Exim 4.62 on FreeBSD 5.4.
I use Exim almost only for scanning mails with SpamAssassin, and
thereafter relaying to two different hosts, depending on the domain.

One of the hosts is a Lotus Domino server. I now feel the need to make
a lookup using ldap to Domino, to immediately reject mails with non-
existing recipients.

Most of the ldap examples I've been looking at seems to involve som
kind of address rewrite, but I want to keep the address as it is.

I have a router config like this:

smarthost:
  driver = manualroute
  domains = !+local_domains
  transport = remote_smtp
  route_list = \
        domain1.com domino.domain1.com byname ; 
\                                    
        domain2.com otherserver.domain2.com byname
  no_verify
  no_more


I found an interresting example in the FAQ (Q0729) that (I think)
seems to resemble what I'm looking for:

   verify_user_router:
      driver = accept
      domains = win2kdomain.com
      local_parts=\
        ldap;user="cn=ldap-guest,cn=Users,dc=win2kdomain,dc=com"\
        pass=guest \
        ldap:://win2kpdc/dc=win2kdomain,dc=com?mailNickname?\
        sub?(&(mailNickname=$local_part)\
        (showInAddressBook=*)(sAMAccountName=*))
      verify_only


The problem is that I can't find any documentation on how I use ldap
in this context.
I've tried applying the example and just change to my credentials and
filter, but when I run
# exim -d+deliver -bt ksjdf@???

I get this:

--------> verify_user_router router <--------
local_part=ksjdf domain=domain1.com
verify_user_router router skipped: verify_only set

Sniffing ldap traffic reveals nothing is being sent or retrieved.

So, can someone point me i the right direction.. What should I start
with, how can I do some more testing, and most important, what have I
done wrong? :)

BTW, I have this search filter that I want to use:

(&(objectClass=inetOrgPerson)(|(uid=$local_part)(cn=$local_part)
(mail=$local_part@???)))


Any help is very appreciated.

Best regards,
Andreas