aboutsummaryrefslogtreecommitdiff
path: root/ejabberd-1.1.2/src/ejabberd_auth.erl
diff options
context:
space:
mode:
Diffstat (limited to 'ejabberd-1.1.2/src/ejabberd_auth.erl')
-rw-r--r--ejabberd-1.1.2/src/ejabberd_auth.erl176
1 files changed, 0 insertions, 176 deletions
diff --git a/ejabberd-1.1.2/src/ejabberd_auth.erl b/ejabberd-1.1.2/src/ejabberd_auth.erl
deleted file mode 100644
index 4c34ae76a..000000000
--- a/ejabberd-1.1.2/src/ejabberd_auth.erl
+++ /dev/null
@@ -1,176 +0,0 @@
-%%%----------------------------------------------------------------------
-%%% File : ejabberd_auth.erl
-%%% Author : Alexey Shchepin <alexey@sevcom.net>
-%%% Purpose : Authentification
-%%% Created : 23 Nov 2002 by Alexey Shchepin <alexey@sevcom.net>
-%%% Updated : 23 Feb 2006 by Mickael Remond <mremond@process-one.net>
-%%% for anonymous login support
-%%% Id : $Id$
-%%%----------------------------------------------------------------------
-
-%% TODO: Use the functions in ejabberd auth to add and remove users.
-
--module(ejabberd_auth).
--author('alexey@sevcom.net').
--vsn('$Revision$ ').
-
-%% External exports
--export([start/0,
- set_password/3,
- check_password/3,
- check_password/5,
- try_register/3,
- dirty_get_registered_users/0,
- get_vh_registered_users/1,
- get_password/2,
- get_password_s/2,
- is_user_exists/2,
- is_user_exists_in_other_modules/3,
- remove_user/2,
- remove_user/3,
- plain_password_required/1,
- ctl_process_get_registered/3
- ]).
-
--export([auth_modules/1]).
-
--include("ejabberd.hrl").
--include("ejabberd_ctl.hrl").
-
-%%%----------------------------------------------------------------------
-%%% API
-%%%----------------------------------------------------------------------
-start() ->
- lists:foreach(
- fun(Host) ->
- lists:foreach(
- fun(M) ->
- M:start(Host)
- end, auth_modules(Host))
- end, ?MYHOSTS).
-
-plain_password_required(Server) ->
- lists:any(
- fun(M) ->
- M:plain_password_required()
- end, auth_modules(Server)).
-
-check_password(User, Server, Password) ->
- lists:any(
- fun(M) ->
- M:check_password(User, Server, Password)
- end, auth_modules(Server)).
-
-check_password(User, Server, Password, StreamID, Digest) ->
- lists:any(
- fun(M) ->
- M:check_password(User, Server, Password, StreamID, Digest)
- end, auth_modules(Server)).
-
-set_password(User, Server, Password) ->
- lists:foldl(
- fun(M, {error, _}) ->
- M:set_password(User, Server, Password);
- (_M, Res) ->
- Res
- end, {error, not_allowed}, auth_modules(Server)).
-
-try_register(User, Server, Password) ->
- case is_user_exists(User,Server) of
- true ->
- {atomic, exists};
- false ->
- case lists:member(jlib:nameprep(Server), ?MYHOSTS) of
- true ->
- lists:foldl(
- fun(_M, {atomic, ok} = Res) ->
- Res;
- (M, _) ->
- M:try_register(User, Server, Password)
- end, {error, not_allowed}, auth_modules(Server));
- false ->
- {error, not_allowed}
- end
- end.
-
-%% Registered users list do not include anonymous users logged
-dirty_get_registered_users() ->
- lists:flatmap(
- fun(M) ->
- M:dirty_get_registered_users()
- end, auth_modules(?MYNAME)).
-
-%% Registered users list do not include anonymous users logged
-get_vh_registered_users(Server) ->
- lists:flatmap(
- fun(M) ->
- M:get_vh_registered_users(Server)
- end, auth_modules(Server)).
-
-get_password(User, Server) ->
- lists:foldl(
- fun(M, false) ->
- M:get_password(User, Server);
- (_M, Password) ->
- Password
- end, false, auth_modules(Server)).
-
-get_password_s(User, Server) ->
- case get_password(User, Server) of
- false ->
- "";
- Password ->
- Password
- end.
-
-%% Returns true if the user exists in the DB or if an anonymous user is logged
-%% under the given name
-is_user_exists(User, Server) ->
- lists:any(
- fun(M) ->
- M:is_user_exists(User, Server)
- end, auth_modules(Server)).
-
-%% Check if the user exists in all authentications module except the module
-%% passed as parameter
-is_user_exists_in_other_modules(Module, User, Server) ->
- lists:any(
- fun(M) ->
- M:is_user_exists(User, Server)
- end, auth_modules(Server)--[Module]).
-
-remove_user(User, Server) ->
- lists:foreach(
- fun(M) ->
- M:remove_user(User, Server)
- end, auth_modules(Server)).
-
-remove_user(User, Server, Password) ->
- lists:foreach(
- fun(M) ->
- M:remove_user(User, Server, Password)
- end, auth_modules(Server)).
-
-
-ctl_process_get_registered(_Val, Host, ["registered-users"]) ->
- Users = ejabberd_auth:get_vh_registered_users(Host),
- NewLine = io_lib:format("~n", []),
- SUsers = lists:sort(Users),
- FUsers = lists:map(fun({U, _S}) -> [U, NewLine] end, SUsers),
- io:format("~s", [FUsers]),
- {stop, ?STATUS_SUCCESS};
-ctl_process_get_registered(Val, _Host, _Args) ->
- Val.
-
-%%%----------------------------------------------------------------------
-%%% Internal functions
-%%%----------------------------------------------------------------------
-auth_modules(Server) ->
- LServer = jlib:nameprep(Server),
- Method = ejabberd_config:get_local_option({auth_method, LServer}),
- Methods = if
- Method == undefined -> [];
- is_list(Method) -> Method;
- is_atom(Method) -> [Method]
- end,
- [list_to_atom("ejabberd_auth_" ++ atom_to_list(M)) || M <- Methods].