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

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


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





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