summaryrefslogtreecommitdiff
path: root/src/ejabberd_auth_external.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-05-08 09:36:34 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-05-08 09:36:34 +0300
commit61ae0ff02ca848afc3ecc37a6c5a3e52bf5f5dc7 (patch)
tree063e7bac5c56bc669ee33bbf44d3d84e229a956f /src/ejabberd_auth_external.erl
parentDon't stop on out-of-date requests (diff)
Improve logging of external authentication failures
Diffstat (limited to 'src/ejabberd_auth_external.erl')
-rw-r--r--src/ejabberd_auth_external.erl17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/ejabberd_auth_external.erl b/src/ejabberd_auth_external.erl
index b36c519d..ec30870d 100644
--- a/src/ejabberd_auth_external.erl
+++ b/src/ejabberd_auth_external.erl
@@ -64,27 +64,27 @@ check_password(User, AuthzId, Server, Password) ->
set_password(User, Server, Password) ->
case extauth:set_password(User, Server, Password) of
Res when is_boolean(Res) -> ok;
- {error, Reason} -> failure(Reason)
+ {error, Reason} -> failure(User, Server, ?FUNCTION_NAME, Reason)
end.
try_register(User, Server, Password) ->
case extauth:try_register(User, Server, Password) of
true -> ok;
false -> {error, not_allowed};
- {error, Reason} -> failure(Reason)
+ {error, Reason} -> failure(User, Server, ?FUNCTION_NAME, Reason)
end.
user_exists(User, Server) ->
case extauth:user_exists(User, Server) of
Res when is_boolean(Res) -> Res;
- {error, Reason} -> failure(Reason)
+ {error, Reason} -> failure(User, Server, ?FUNCTION_NAME, Reason)
end.
remove_user(User, Server) ->
case extauth:remove_user(User, Server) of
false -> {error, not_allowed};
true -> ok;
- {error, Reason} -> failure(Reason)
+ {error, Reason} -> failure(User, Server, ?FUNCTION_NAME, Reason)
end.
check_password_extauth(User, _AuthzId, Server, Password) ->
@@ -92,16 +92,17 @@ check_password_extauth(User, _AuthzId, Server, Password) ->
case extauth:check_password(User, Server, Password) of
Res when is_boolean(Res) -> Res;
{error, Reason} ->
- failure(Reason),
+ failure(User, Server, ?FUNCTION_NAME, Reason),
false
end;
true ->
false
end.
--spec failure(any()) -> {error, db_failure}.
-failure(Reason) ->
- ?ERROR_MSG("External authentication program failure: ~p", [Reason]),
+-spec failure(binary(), binary(), atom(), any()) -> {error, db_failure}.
+failure(User, Server, Fun, Reason) ->
+ ?ERROR_MSG("External authentication program failed when calling "
+ "'~s' for ~s@~s: ~p", [Fun, User, Server, Reason]),
{error, db_failure}.
opt_type(extauth_cache) ->