From: Evgeniy Khramtsov Date: Tue, 8 May 2018 06:36:34 +0000 (+0300) Subject: Improve logging of external authentication failures X-Git-Tag: 18.06~100 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=61ae0ff02ca848afc3ecc37a6c5a3e52bf5f5dc7;p=ejabberd Improve logging of external authentication failures --- diff --git a/src/ejabberd_auth_external.erl b/src/ejabberd_auth_external.erl index b36c519d6..ec30870db 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) ->