# HG changeset patch # User Kim Alvefur # Date 1379426553 -7200 # Node ID db4085433e5f262d3870adf4b9040bd998b6e69d # Parent 1818a7f0858001fe6025e10fa3ae14759f4c6053 mod_auth_ldap: Implement password change diff -r 1818a7f08580 -r db4085433e5f mod_auth_ldap/mod_auth_ldap.lua --- a/mod_auth_ldap/mod_auth_ldap.lua Wed Sep 11 21:43:49 2013 +0200 +++ b/mod_auth_ldap/mod_auth_ldap.lua Tue Sep 17 16:02:33 2013 +0200 @@ -40,9 +40,15 @@ function provider.user_exists(username) return not not get_user(username); end - -function provider.set_password(username, password) return nil, "Passwords unavailable for LDAP."; end -function provider.create_user(username, password) return nil, "Account creation/modification not available with LDAP."; end +function provider.set_password(username, password) + local dn, attr = get_user(username); + if not dn then return nil, attr end + if attr.password ~= password then + ld:modify(dn, { '=', userPassword = password }); + end + return true +end +function provider.create_user(username, password) return nil, "Account creation not available with LDAP."; end function provider.get_sasl_handler() return new_sasl(module.host, {