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.erl12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl
index bd69964a4..dfde90a7e 100644
--- a/src/ejabberd_auth_anonymous.erl
+++ b/src/ejabberd_auth_anonymous.erl
@@ -149,6 +149,8 @@ allow_multiple_connections(Host) when is_list(Host) ->
%% @doc Check if user exist in the anonymous database.
anonymous_user_exist(User, Server) when is_list(User), is_list(Server) ->
+ anonymous_user_exist(list_to_binary(User), list_to_binary(Server));
+anonymous_user_exist(User, Server) when is_binary(User), is_binary(Server) ->
LUser = exmpp_stringprep:nodeprep(User),
LServer = exmpp_stringprep:nameprep(Server),
US = {LUser, LServer},
@@ -165,7 +167,7 @@ anonymous_user_exist(User, Server) when is_list(User), is_list(Server) ->
%% LServer = string()
%% @doc Remove connection from Mnesia tables.
-remove_connection(SID, LUser, LServer) when is_list(LUser), is_list(LServer) ->
+remove_connection(SID, LUser, LServer) when is_binary(LUser), is_binary(LServer) ->
US = {LUser, LServer},
F = fun() ->
mnesia:delete_object({anonymous, US, SID})
@@ -201,8 +203,8 @@ register_connection(SID, JID, Info) when ?IS_JID(JID) ->
%% @doc Remove an anonymous user from the anonymous users table.
unregister_connection(SID, JID, _) when ?IS_JID(JID) ->
- LUser = exmpp_jid:prep_node_as_list(JID),
- LServer = exmpp_jid:prep_domain_as_list(JID),
+ LUser = exmpp_jid:prep_node(JID),
+ LServer = exmpp_jid:prep_domain(JID),
purge_hook(anonymous_user_exist(LUser, LServer),
LUser, LServer),
remove_connection(SID, LUser, LServer).
@@ -214,8 +216,8 @@ unregister_connection(SID, JID, _) when ?IS_JID(JID) ->
purge_hook(false, _LUser, _LServer) ->
ok;
-purge_hook(true, LUser, LServer) when is_list(LUser), is_list(LServer) ->
- ejabberd_hooks:run(anonymous_purge_hook, list_to_binary(LServer), [LUser, LServer]).
+purge_hook(true, LUser, LServer) when is_binary(LUser), is_binary(LServer) ->
+ ejabberd_hooks:run(anonymous_purge_hook, LServer, [LUser, LServer]).
%% ---------------------------------
%% Specific anonymous auth functions