MUC: Made vCards work by redirecting vCard requests to bare JIDs

Mon, 16 Feb 2009 20:24:31 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Mon, 16 Feb 2009 20:24:31 +0500
changeset 812
ebfb904640d8
parent 811
1dbcf57154bd
child 814
f12b1ddd458d

MUC: Made vCards work by redirecting vCard requests to bare JIDs

plugins/mod_muc.lua file | annotate | diff | comparison | revisions
--- a/plugins/mod_muc.lua	Mon Feb 16 20:05:58 2009 +0500
+++ b/plugins/mod_muc.lua	Mon Feb 16 20:24:31 2009 +0500
@@ -345,7 +345,9 @@
 	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"));

mercurial