summaryrefslogtreecommitdiff
path: root/src/ejabberd_auth_ldap.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-03-25 18:16:50 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-03-25 18:16:50 +0300
commit46568fb9596d8203c635477b30c91d2928847dea (patch)
treea3aad804b0bcab951f9ebfaf3df1db27c550db7f /src/ejabberd_auth_ldap.erl
parentMerge pull request #1035 from processone/modular-tests-run (diff)
parentUse SASL PLAIN authzid as client identity if auth module permits it (diff)
Merge commit 'refs/pull/524/head' of github.com:processone/ejabberd into sasl-api-change
Diffstat (limited to 'src/ejabberd_auth_ldap.erl')
-rw-r--r--src/ejabberd_auth_ldap.erl12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/ejabberd_auth_ldap.erl b/src/ejabberd_auth_ldap.erl
index dd5d54a7..51b466ef 100644
--- a/src/ejabberd_auth_ldap.erl
+++ b/src/ejabberd_auth_ldap.erl
@@ -37,7 +37,7 @@
handle_cast/2, terminate/2, code_change/3]).
-export([start/1, stop/1, start_link/1, set_password/3,
- check_password/3, check_password/5, try_register/3,
+ check_password/4, check_password/6, try_register/3,
dirty_get_registered_users/0, get_vh_registered_users/1,
get_vh_registered_users/2,
get_vh_registered_users_number/1,
@@ -116,7 +116,10 @@ plain_password_required() -> true.
store_type() -> external.
-check_password(User, Server, Password) ->
+check_password(User, AuthzId, Server, Password) ->
+ if AuthzId /= <<>> andalso AuthzId /= User ->
+ false;
+ true ->
if Password == <<"">> -> false;
true ->
case catch check_password_ldap(User, Server, Password)
@@ -124,11 +127,12 @@ check_password(User, Server, Password) ->
{'EXIT', _} -> false;
Result -> Result
end
+ end
end.
-check_password(User, Server, Password, _Digest,
+check_password(User, AuthzId, Server, Password, _Digest,
_DigestGen) ->
- check_password(User, Server, Password).
+ check_password(User, AuthzId, Server, Password).
set_password(User, Server, Password) ->
{ok, State} = eldap_utils:get_state(Server, ?MODULE),