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) ->
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) ->