From 3a7d02dbd33ecbcf4e9490969302a284c8250f42 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Sat, 9 Oct 2010 00:44:23 +1000 Subject: [PATCH] fixes anonymous sessions lookup --- src/ejabberd_auth_anonymous.erl | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl index 07eafd7b5..94f46eb79 100644 --- a/src/ejabberd_auth_anonymous.erl +++ b/src/ejabberd_auth_anonymous.erl @@ -128,11 +128,18 @@ anonymous_user_exist(User, Server) -> LUser = jlib:nodeprep(User), LServer = jlib:nameprep(Server), US = {LUser, LServer}, - case catch mnesia:dirty_read({anonymous, US}) of - [] -> - false; + Ss = case ejabberd_cluster:get_node(US) of + Node when Node == node() -> + catch mnesia:dirty_read({anonymous, US}); + Node -> + catch rpc:call(Node, mnesia, dirty_read, + [{anonymous, US}], 5000) + end, + case Ss of [_H|_T] -> - true + true; + _ -> + false end. %% Remove connection from Mnesia tables