Hello List,
I've upgraded to dovecot from FreeBSD ports, changed the config from previous 0.99 version, but meet a problem with %d variable beeing empty in userdb static configuration directive.
Our server supports multiple domains, e.g. 'mxc.ru' and 'mail.mxc.ru'. Users can log into using their full e-mail address like antonm@mxc.ru or antonm@mail.mxc.ru, but the feature of adding default domain should also be present, e.g. when logging with user name 'antonm' server should assume username to be 'antonm@mxc.ru' cause 'mxc.ru' is the default domain.
This wroked fine in 0.99 version, but, alas, I can't get it working in newer version. I've tried different settings combination, but all of them results in '%d' beeing empty
Debug authentication log is:
dovecot: Aug 16 10:59:46 Info: auth(default):
auth(antonm@mxc.ru,10.3.1.192): username changed antonm@mxc.ru -> antonm
dovecot: Aug 16 10:59:46 Info: auth(default): ldap(antonm,10.3.1.192):
uid(user)=antonm userPassword(password)=<hidden>
dovecot: Aug 16 10:59:46 Info: auth(default): client out: OK 1
user=antonm
dovecot: Aug 16 10:59:46 Info: auth(default): master in: REQUEST
11 97887 1
dovecot: Aug 16 10:59:46 Info: auth(default): master out: USER 11
antonm uid=1004 gid=1004 home=/data/mai
lspool//antonm
The problem here seems to be with "username changed antonm@mxc.ru -> antonm", but I do not know how to switch it off.
The relevant config file parts are:
dovecot.conf:
auth_default_realm = mxc.ru auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth default { mechanisms = plain digest-md5 passdb ldap { args = /usr/local/etc/dovecot-ldap.conf } userdb static { args = uid=1004 gid=1004 mail=maildir:/data/mailspool/%d/%n } }
dovecot-ldap.conf:
#all user attrs here are commented, since we don't get any user info from ldap, but checking a password #user_attrs = uid,homeDirectory,,,uidNumber,gidNumber #user_attrs = ,,,,,,, #user_filter = (&(objectClass=posixAccount)(uid=%u))
pass_filter = (&(objectClass=mailUser)(dc=%d)(uid=%n)(accountActive=TRUE)) default_pass_scheme = PLAIN
The authentication is working, so on the pass_filter in dovecot-ldap.conf '%d' is resolved properly, but in userdb static's mail argument it's empty whatever I do.
Thank you for your help!
-- Anton Martchukov - http://www.martchukov.com