Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_auth.erl')
-rw-r--r--src/ejabberd_auth.erl22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
index e7316ec55..f2c3f4b50 100644
--- a/src/ejabberd_auth.erl
+++ b/src/ejabberd_auth.erl
@@ -75,17 +75,21 @@ set_password(User, Server, Password) ->
end, {error, not_allowed}, auth_modules(Server)).
try_register(User, Server, Password) ->
- case lists:member(jlib:nameprep(Server), ?MYHOSTS) and
- not is_user_exists(User,Server) of
+ case is_user_exists(User,Server) of
true ->
- lists:foldl(
- fun(_M, {atomic, ok} = Res) ->
- Res;
- (M, _) ->
- M:try_register(User, Server, Password)
- end, {error, not_allowed}, auth_modules(Server));
+ {atomic, exists};
false ->
- {error, not_allowed}
+ 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