view mod_conformance_restricted/mod_conformance_restricted.lua @ 737:e4ea03b060ed

mod_archive: switch from/to The XEP-0136 is not very explicit about the meening of <from> and <to> elements, but the examples are clear: <from> means it comes from the user in the 'with' attribute of the collection. That is the opposite of what is currently implemented in that module. So for better compatibility with complient clients, this switch the 'from' and 'to' fields
author Olivier Goffart <ogoffart@woboq.com>
date Wed, 04 Jul 2012 14:08:43 +0200
parents 7c88e09a07e7
children 7dbde05b48a9
line wrap: on
line source

-- Prosody IM
-- Copyright (C) 2012 Florian Zeitz
-- 
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--

local st = require "util.stanza";
local jid = require "util.jid";

module:hook("message/host", function (event)
	local origin, stanza = event.origin, event.stanza;
	local node, host, resource = jid.split(stanza.attr.to);
	local body = stanza:get_child_text("body");
	
	if resource ~= "conformance" then
		return; -- Not interop testing
	end

	if body == "PI" then
		origin.send("<?testing this='out'?>");
	elseif body == "comment" then
		origin.send("<!-- no comment -->");
	elseif body == "DTD" then
		origin.send("<!DOCTYPE greeting [\n<!ENTITY test 'You should not see this'>\n]>");
	elseif body == "entity" then
		origin.send("<message type='chat' to='"..stanza.attr.from.."'><body>&test;</body></message>");
	else
		local reply = st.reply(stanza);
		reply:body("Send me one of: PI, comment, DTD, or entity");
		origin.send(reply);
	end
	
	return true;
end);