]> granicus.if.org Git - ejabberd/commitdiff
When getting user rooms, filter by the serverhost as expected (#1683)
authorBadlop <badlop@process-one.net>
Thu, 20 Apr 2017 14:49:32 +0000 (16:49 +0200)
committerBadlop <badlop@process-one.net>
Thu, 20 Apr 2017 14:49:32 +0000 (16:49 +0200)
src/mod_muc_mnesia.erl

index a87761665bdcd7370770180a99a82e76d9f2c83b..6a9adf4b5d47f7010536e5b3d87e6c1e355e694a 100644 (file)
@@ -269,12 +269,13 @@ count_online_rooms_by_user(_ServerHost, U, S) ->
                U == U1 andalso S == S1
        end)).
 
-get_online_rooms_by_user(_ServerHost, U, S) ->
+get_online_rooms_by_user(ServerHost, U, S) ->
+    MucHost = gen_mod:get_module_opt_host(ServerHost, mod_muc, <<"conference.@HOST@">>),
     ets:select(
       muc_online_users,
       ets:fun2ms(
        fun(#muc_online_users{us = {U1, S1}, room = Room, host = Host})
-             when U == U1 andalso S == S1 -> {Room, Host}
+             when U == U1 andalso S == S1 andalso MucHost == Host -> {Room, Host}
        end)).
 
 import(_LServer, <<"muc_room">>,