[Dovecot] DoveCot LDA prefetch fails with LDA, works with POP client

Zhou, Yan yzhou at medplus.com
Fri Aug 5 23:57:36 EEST 2011


> -----Original Message-----
> From: dovecot-bounces at dovecot.org [mailto:dovecot-bounces at dovecot.org]
> On Behalf Of Zhou, Yan
> Sent: Friday, August 05, 2011 4:24 PM
> To: dovecot at dovecot.org
> Subject: [Dovecot] DoveCot LDA prefetch fails with LDA, works with POP
> client
> 
> Hi there,
> 
> I am using DoveCot 1.0.7. I know it is real old, but we have to work
> with it. I have configured LDAP lookup with password prefetch in
> DoveCot. I can successfully receive emails through DoveCot, thus
> proving
> my password prefetch and user authentication are good.
> 
> The problem is when I use Postfix to deliver message to DoveCot via
LDA.
> My postfix master.cf looks like this:
> 
> dovecot   unix  -       n       n       -       -       pipe
>    flags=Rhu user=hubdirect null_sender=
> argv=/usr/libexec/dovecot/deliver -e -f ${sender} -d ${user}
> 
> Given a message, Postfix looks up LDAP and find the user associated
> with
> the recipient address and delivers the message using LDA.  LDAP logs
> indicates that Postfix is returning the right user.
> 
> The problem is that DoveCot complains "passdb did not return userdb
> entries", but I do not know which entries passdb failed to return.
Here
> is what I have in dovecot-ldap.conf. I have tried different things in
> "user_attrs", DoveCot keeps complaining the same thing.
> 
> user_attrs = username=user
> user_filter =
> (&(objectClass=DirectUser)(username=%u)(roles=*ROLE_EDGE_EMAIL*))
> pass_attrs =
>
username=user,password=password,username=userdb_user,usermaildirectory=
> u
> serdb_mail,userhomedirectory=userdb_home,825=userdb_uid,825=userdb_gid
> pass_filter =
> (&(objectClass=DirectUser)(username=%u)(roles=*ROLE_EDGE_EMAIL*))
> 
> 
> 
> The documentation says LDA does not use prefetch, but the log seems to
> indicate otherwise. I clearly see the "service=deliver" is
> authenticating the user first, thus using password prefetch. Can
> someone
> clarify this?
> 
> 
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool): Loading modules
from
> directory: /usr/lib64/dovecot/lda
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool): Module loaded:
> /usr/lib64/dovecot/lda/lib10_quota_plugin.so
> Aug  5 15:12:25 dir-dev-pop01 dovecot: auth(default): master in: USER
> 1       emailspool      service=deliver
> Aug  5 15:12:25 dir-dev-pop01 dovecot: auth(default):
> prefetch(emailspool): passdb didn't return userdb entries
> Aug  5 15:12:25 dir-dev-pop01 dovecot: auth(default):
ldap(emailspool):
> user search: base=dc=hubdirect,dc=dev,dc=medplus,dc=com scope=subtree
>
filter=(&(objectClass=DirectUser)(username=emailspool)(roles=*ROLE_EDGE
> _
> EMAIL*)) fields=username
> Aug  5 15:12:25 dir-dev-pop01 dovecot: auth(default): master out: USER
> 1       emailspool      user=emailspool uid=825 gid=825
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool): auth input:
> emailspool
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool): auth input:
> user=emailspool
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool): auth input: uid=825
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool): auth input: gid=825
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool): maildir:
> data=/home/hubdirect/emailspool/Maildir
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool): maildir:
> root=/home/hubdirect/emailspool/Maildir,
> index=/home/hubdirect/emailspool/Maildir, control=, inbox=
> Aug  5 15:12:25 dir-dev-pop01 deliver(emailspool):
> msgid=<12097075.28.1312571545112.JavaMail.zhou_y at yzhou-lp2>: saved
mail
> to INBOX
> 
> Thanks,
> Yan
> 
> 
> 

I was able to get this working by the following attributes. 

user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid

Thanks!

Yan





Confidentiality Notice: The information contained in this electronic transmission is confidential and may be legally privileged. It is intended only for the addressee(s) named above. If you are not an intended recipient, be aware that any disclosure, copying, distribution or use of the information contained in this transmission is prohibited and may be unlawful. If you have received this transmission in error, please notify us by telephone (513) 229-5500 or by email (postmaster at MedPlus.com). After replying, please erase it from your computer system.



More information about the dovecot mailing list