diff options
author | Alexey Shchepin <alexey@process-one.net> | 2005-07-13 03:24:13 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2005-07-13 03:24:13 +0000 |
commit | 3202705ad6b7a195eac17d43013026352a1770dd (patch) | |
tree | 5dcf9149193c13cebba0df579e1de3836432e96b /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.erl | 37 |
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 -> |