diff options
-rw-r--r-- | plugins/mod_muc.lua | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/mod_muc.lua b/plugins/mod_muc.lua index 36ea0477..9a559f2d 100644 --- a/plugins/mod_muc.lua +++ b/plugins/mod_muc.lua @@ -345,7 +345,9 @@ function handle_to_occupant(origin, stanza) -- PM, vCards, etc else -- private stanza local o_data = rooms:get(room, to); if o_data then - stanza.attr.to, stanza.attr.from = o_data.jid, current_nick; + local jid = o_data.jid; + if stanza.name=='iq' and type=='get' and stanza.tags[1].attr.xmlns == 'vcard-temp' then jid = jid_bare(jid); end + stanza.attr.to, stanza.attr.from = jid, current_nick; core_route_stanza(component, stanza); else -- recipient not in room origin.send(st.error_reply(stanza, "cancel", "item-not-found", "Recipient not in room")); |