From 0cbd41fbdc6a9a3d2d3153fd9305c90538b0448a Mon Sep 17 00:00:00 2001 From: Badlop Date: Mon, 20 Aug 2018 15:39:58 +0200 Subject: [PATCH] Fix max_user_conferences in Mnesia to consider only one MUC service (#2556) --- src/mod_muc_mnesia.erl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mod_muc_mnesia.erl b/src/mod_muc_mnesia.erl index 84db17b0a..918ce1dcb 100644 --- a/src/mod_muc_mnesia.erl +++ b/src/mod_muc_mnesia.erl @@ -263,12 +263,13 @@ unregister_online_user(_ServerHost, {U, S, R}, Room, Host) -> #muc_online_users{us = {U, S}, resource = R, room = Room, host = Host}). -count_online_rooms_by_user(_ServerHost, U, S) -> +count_online_rooms_by_user(ServerHost, U, S) -> + MucHost = gen_mod:get_module_opt_host(ServerHost, mod_muc, <<"conference.@HOST@">>), ets:select_count( muc_online_users, ets:fun2ms( - fun(#muc_online_users{us = {U1, S1}}) -> - U == U1 andalso S == S1 + fun(#muc_online_users{us = {U1, S1}, host = Host}) -> + U == U1 andalso S == S1 andalso MucHost == Host end)). get_online_rooms_by_user(ServerHost, U, S) ->