From 0ed691e5632ba3b8fe2805537211be3cd15e3a90 Mon Sep 17 00:00:00 2001
From: Waqas Hussain <waqas20@gmail.com>
Date: Mon, 16 Feb 2009 20:24:31 +0500
Subject: MUC: Made vCards work by redirecting vCard requests to bare JIDs

---
 plugins/mod_muc.lua | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

(limited to 'plugins')

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"));
-- 
cgit v1.2.3