Marek Greško wrote:
Hello, I am thinking the same as Aki. It is working, because ldap bind authenticates you. You get the error probably because of anonymous search in the ldap database for which userPassword attribute is not visible. How about just commenting out the line with userPassword? Marek
Hi there,
Let me jump in, as I have exactly the same problem. Here's my conf:
---------------- auth-ldap.conf.ext ---------------- ldap_uris = ldap://localhost ldap_base = ou=people,dc=example,dc=com ldap_auth_dn = cn=postfix,dc=example,dc=com ldap_auth_dn_password = xxx
passdb ldap { filter = (&(objectClass=organizationalPerson)(uid=%{user | username})(mail=%{user})) bind = yes fields { user = %{ldap:uid} password = %{ldap:userPassword} } }
userdb prefetch { driver = prefetch }
userdb ldap { filter = (&(objectClass=organizationalPerson)(uid=%{user | username})(mail=%{user})) fields { home = /srv/vmail/%{user | domain}/%{user | username} } }
That *works* (Thunderbird login) though with the same OP's error
auth(...) Error: ldap: auth_passdb_post settings: Failed to parse configuration: Failed to expand passdb_fields/password setting variables: ldap: No such attribute 'userpassword'
What I have tried (running with "auth_verbose = yes"):
- remove "passdb_ldap_bind".
Result: broken login with error
Login auth request failed: Authenticated user not found from userdb
- remove "passdb_ldap_fields_password".
Result: broken login with error
auth(...) ldap: unknown user imap(...) Login auth request failed: Authenticated user not found from userdb, auth lookup id=...
Any idea?
Marco