Software /
code /
prosody-modules
Comparison
mod_lib_ldap/ldap.lib.lua @ 864:16b007c7706c
We must search for dn before trying to bind
author | Guilhem LETTRON <guilhem.lettron@gmail.com> |
---|---|
date | Mon, 10 Dec 2012 21:52:09 +0100 |
parent | 809:1d51c5e38faa |
child | 868:0017518c94a0 |
comparison
equal
deleted
inserted
replaced
862:675945ea2ed6 | 864:16b007c7706c |
---|---|
175 return params; | 175 return params; |
176 end | 176 end |
177 | 177 |
178 -- XXX consider renaming this...it doesn't bind the current connection | 178 -- XXX consider renaming this...it doesn't bind the current connection |
179 function _M.bind(username, password) | 179 function _M.bind(username, password) |
180 local who = format('%s=%s,%s', params.user.usernamefield, username, params.user.basedn); | 180 local conn = _M.getconnection(); |
181 local filter = format('%s=%s', params.user.usernamefield, username); | |
182 local search_attrs = { | |
183 attrs = params.user.usernamefield, | |
184 base = params.user.basedn, | |
185 scope = 'subtree', | |
186 sizelimit = 1, | |
187 filter = filter, | |
188 }; | |
189 local who; | |
190 | |
191 for dn in conn:search(search_attrs) do | |
192 module:log('debug', '_M.bind - who: %s', dn); | |
193 who = dn; | |
194 end | |
195 | |
181 local conn, err = ldap.open_simple(params.hostname, who, password, params.use_tls); | 196 local conn, err = ldap.open_simple(params.hostname, who, password, params.use_tls); |
182 | 197 |
183 if conn then | 198 if conn then |
184 conn:close(); | 199 conn:close(); |
185 return true; | 200 return true; |