diff options
Diffstat (limited to 'src/ejabberd_auth_anonymous.erl')
-rw-r--r-- | src/ejabberd_auth_anonymous.erl | 16 |
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}, _) -> |