Mercurial > prosody-modules
diff mod_lib_ldap/ldap.lib.lua @ 870:13e645340767
Use singlematch to find user record in ldap.bind
author | Rob Hoelz <rob@hoelz.ro> |
---|---|
date | Mon, 10 Dec 2012 22:15:27 +0100 |
parents | ec791fd8ce87 |
children | e4a03e58f896 |
line wrap: on
line diff
--- a/mod_lib_ldap/ldap.lib.lua Mon Dec 10 22:14:28 2012 +0100 +++ b/mod_lib_ldap/ldap.lib.lua Mon Dec 10 22:15:27 2012 +0100 @@ -179,18 +179,15 @@ function _M.bind(username, password) local conn = _M.getconnection(); local filter = format('%s=%s', params.user.usernamefield, username); - local search_attrs = { + local who = _M.singlematch { attrs = params.user.usernamefield, base = params.user.basedn, - scope = 'subtree', - sizelimit = 1, filter = filter, }; - local who; - for dn in conn:search(search_attrs) do - module:log('debug', '_M.bind - who: %s', dn); - who = dn; + if who then + who = who.dn; + module:log('debug', '_M.bind - who: %s', who); end local conn, err = ldap.open_simple(params.hostname, who, password, params.use_tls);