aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_auth_anonymous.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_auth_anonymous.erl')
-rw-r--r--src/ejabberd_auth_anonymous.erl16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl
index be04fc0a8..3c5c58fed 100644
--- a/src/ejabberd_auth_anonymous.erl
+++ b/src/ejabberd_auth_anonymous.erl
@@ -141,11 +141,17 @@ remove_connection(SID, LUser, LServer) ->
mnesia:transaction(F).
%% Register connection
-register_connection(SID, #jid{luser = LUser, lserver = LServer}, _) ->
- US = {LUser, LServer},
- mnesia:sync_dirty(
- fun() -> mnesia:write(#anonymous{us = US, sid=SID})
- end).
+register_connection(SID, #jid{luser = LUser, lserver = LServer}, Info) ->
+ AuthModule = xml:get_attr_s(auth_module, Info),
+ case AuthModule == ?MODULE of
+ true ->
+ US = {LUser, LServer},
+ mnesia:sync_dirty(
+ fun() -> mnesia:write(#anonymous{us = US, sid=SID})
+ end);
+ false ->
+ ok
+ end.
%% Remove an anonymous user from the anonymous users table
unregister_connection(SID, #jid{luser = LUser, lserver = LServer}, _) ->