summaryrefslogtreecommitdiff
path: root/src/ejabberd_auth.erl
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2005-07-13 03:24:13 +0000
committerAlexey Shchepin <alexey@process-one.net>2005-07-13 03:24:13 +0000
commit3202705ad6b7a195eac17d43013026352a1770dd (patch)
tree5dcf9149193c13cebba0df579e1de3836432e96b /src/ejabberd_auth.erl
parent* src/ejabberd_app.erl: Bugfix (diff)
* src/mod_register.erl: Bugfix
* src/mod_vcard.erl: Bugfix * src/ejabberd_app.erl: Updated to allow different authentication methods for different virtual hosts * src/ejabberd_auth.erl: Likewise * src/ejabberd_auth_external.erl: Likewise * src/ejabberd_auth_internal.erl: Likewise * src/ejabberd_auth_ldap.erl: Likewise * src/ejabberd_auth_odbc.erl: Likewise * src/cyrsasl.erl: Likewise * src/cyrsasl_digest.erl: Likewise * src/cyrsasl_plain.erl: Likewise * src/ejabberd_c2s.erl: Likewise * src/ejabberd_config.erl: Likewise * src/extauth.erl: Likewise * src/mod_last_odbc.erl: Likewise * src/mod_offline_odbc.erl: Likewise * src/mod_roster_odbc.erl: Likewise * src/odbc/ejabberd_odbc.erl: Likewise * src/odbc/ejabberd_odbc_sup.erl: Likewise SVN Revision: 374
Diffstat (limited to 'src/ejabberd_auth.erl')
-rw-r--r--src/ejabberd_auth.erl37
1 files changed, 20 insertions, 17 deletions
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
index a9255b69..9e3c43fe 100644
--- a/src/ejabberd_auth.erl
+++ b/src/ejabberd_auth.erl
@@ -23,7 +23,7 @@
is_user_exists/2,
remove_user/2,
remove_user/3,
- plain_password_required/0
+ plain_password_required/1
]).
-include("ejabberd.hrl").
@@ -32,55 +32,58 @@
%%% API
%%%----------------------------------------------------------------------
start() ->
- (auth_module()):start().
+ lists:foreach(fun(Host) ->
+ (auth_module(Host)):start(Host)
+ end, ?MYHOSTS).
-plain_password_required() ->
- (auth_module()):plain_password_required().
+plain_password_required(Server) ->
+ (auth_module(Server)):plain_password_required().
check_password(User, Server, Password) ->
- (auth_module()):check_password(User, Server, Password).
+ (auth_module(Server)):check_password(User, Server, Password).
check_password(User, Server, Password, StreamID, Digest) ->
- (auth_module()):check_password(User, Server, Password, StreamID, Digest).
+ (auth_module(Server)):check_password(User, Server, Password, StreamID, Digest).
set_password(User, Server, Password) ->
- (auth_module()):set_password(User, Server, Password).
+ (auth_module(Server)):set_password(User, Server, Password).
try_register(User, Server, Password) ->
case lists:member(jlib:nameprep(Server), ?MYHOSTS) of
true ->
- (auth_module()):try_register(User, Server, Password);
+ (auth_module(Server)):try_register(User, Server, Password);
false ->
{error, not_allowed}
end.
dirty_get_registered_users() ->
- (auth_module()):dirty_get_registered_users().
+ (auth_module(?MYNAME)):dirty_get_registered_users().
get_vh_registered_users(Server) ->
- (auth_module()):get_vh_registered_users(Server).
+ (auth_module(Server)):get_vh_registered_users(Server).
get_password(User, Server) ->
- (auth_module()):get_password(User, Server).
+ (auth_module(Server)):get_password(User, Server).
get_password_s(User, Server) ->
- (auth_module()):get_password_s(User, Server).
+ (auth_module(Server)):get_password_s(User, Server).
is_user_exists(User, Server) ->
- (auth_module()):is_user_exists(User, Server).
+ (auth_module(Server)):is_user_exists(User, Server).
remove_user(User, Server) ->
- (auth_module()):remove_user(User, Server).
+ (auth_module(Server)):remove_user(User, Server).
remove_user(User, Server, Password) ->
- (auth_module()):remove_user(User, Server, Password).
+ (auth_module(Server)):remove_user(User, Server, Password).
%%%----------------------------------------------------------------------
%%% Internal functions
%%%----------------------------------------------------------------------
-auth_module() ->
- case ejabberd_config:get_local_option(auth_method) of
+auth_module(Server) ->
+ LServer = jlib:nameprep(Server),
+ case ejabberd_config:get_local_option({auth_method, LServer}) of
external ->
ejabberd_auth_external;
ldap ->