aboutsummaryrefslogtreecommitdiff
path: root/src/prosody2ejabberd.erl
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2019-05-02 20:22:46 +0200
committerBadlop <badlop@process-one.net>2019-05-02 20:32:10 +0200
commit7a107c02a524a31a766c51bf69292405612b579e (patch)
tree86b79d4ad12a68c7b480cc68f8b6bbe7c7c6f8de /src/prosody2ejabberd.erl
parentSet from/to in activity marker messages (diff)
Store imported room in the correct ServerHost (#2874)
Diffstat (limited to 'src/prosody2ejabberd.erl')
-rw-r--r--src/prosody2ejabberd.erl15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/prosody2ejabberd.erl b/src/prosody2ejabberd.erl
index 3fc3cc8b5..6eb5689c1 100644
--- a/src/prosody2ejabberd.erl
+++ b/src/prosody2ejabberd.erl
@@ -198,7 +198,7 @@ convert_data(_Host, "config", _User, [Data]) ->
RoomCfg = convert_room_config(Data),
case proplists:get_bool(<<"persistent">>, Config) of
true when RoomJID /= error ->
- mod_muc:store_room(ejabberd_config:get_myname(), RoomJID#jid.lserver,
+ mod_muc:store_room(find_serverhost(RoomJID#jid.lserver), RoomJID#jid.lserver,
RoomJID#jid.luser, RoomCfg);
_ ->
ok
@@ -522,6 +522,19 @@ el_to_offline_msg(LUser, LServer, #xmlel{attrs = Attrs} = El) ->
[]
end.
+find_serverhost(Host) ->
+ [ServerHost] =
+ lists:filter(
+ fun(ServerHost) ->
+ case gen_mod:is_loaded(ServerHost, mod_muc) of
+ true ->
+ Host == gen_mod:get_module_opt_host(ServerHost, mod_muc, <<"conference.@HOST@">>);
+ false ->
+ false
+ end
+ end, ejabberd_config:get_myhosts()),
+ ServerHost.
+
deserialize(L) ->
deserialize(L, #xmlel{}, []).