Software /
code /
prosody-modules
Comparison
mod_conformance_restricted/mod_conformance_restricted.lua @ 602:072b05999b4b
mod_conformance_restricted: Module to send XML restricted by RFC 6120 (for conformance testing)
author | Florian Zeitz <florob@babelmonkeys.de> |
---|---|
date | Tue, 07 Feb 2012 20:01:57 +0100 |
child | 699:7c88e09a07e7 |
comparison
equal
deleted
inserted
replaced
595:7693724881b3 | 602:072b05999b4b |
---|---|
1 -- Prosody IM | |
2 -- Copyright (C) 2012 Florian Zeitz | |
3 -- | |
4 -- This project is MIT/X11 licensed. Please see the | |
5 -- COPYING file in the source package for more information. | |
6 -- | |
7 | |
8 local st = require "util.stanza"; | |
9 | |
10 module:hook("message/host", function (event) | |
11 local origin, stanza = event.origin, event.stanza; | |
12 local node, host, resource = jid.split(stanza.attr.to); | |
13 local body = stanza:get_child_text("body"); | |
14 | |
15 if resource ~= "conformance" then | |
16 return; -- Not interop testing | |
17 end | |
18 | |
19 if body == "PI" then | |
20 origin.send("<?testing this='out'?>"); | |
21 elseif body == "comment" then | |
22 origin.send("<!-- no comment -->"); | |
23 elseif body == "DTD" then | |
24 origin.send("<!DOCTYPE greeting [\n<!ENTITY test 'You should not see this'>\n]>"); | |
25 elseif body == "entity" then | |
26 origin.send("<message type='chat' to='"..stanza.attr.from.."'><body>&test;</body></message>"); | |
27 else | |
28 local reply = st.reply(stanza); | |
29 reply:body("Send me one of: PI, comment, DTD, or entity"); | |
30 origin.send(reply); | |
31 end | |
32 | |
33 return true; | |
34 end); |