Mercurial > prosody-modules
annotate mod_xhtmlim/mod_xhtmlim.lua @ 5173:460f78654864
mod_muc_rtbl: also filter messages
This was a bit tricky because we don't want to run the JIDs
through SHA256 on each message. Took a while to come up with this
simple plan of just caching the SHA256 of the JIDs on the
occupants.
This will leave some dirt in the occupants after unloading the
module, but that should be ok; once they cycle the room, the
hashes will be gone.
This is direly needed, otherwise, there is a tight race between
the moderation activities and the actors joining the room.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Tue, 21 Feb 2023 21:37:27 +0100 |
parents | 1f68287138e3 |
children |
rev | line source |
---|---|
2865
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 -- XEP-0071: XHTML-IM sanitizing |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local assert = assert; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 local st = require "util.stanza"; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local url = require "socket.url"; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 |
3699
1f68287138e3
mod_xhtmlim: Default to stripping @style attribute by default
Kim Alvefur <zash@zash.se>
parents:
3404
diff
changeset
|
8 local no_styles = module:get_option_boolean("strip_xhtml_style", true); |
2865
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 -- Tables from XEP-0071 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 local xeptables = [[ |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 <body/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 <head/> profile |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 <html/> version |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 <title/> |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 <abbr/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 <acronym/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 <address/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 <blockquote/> class, id, title; style; cite |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 <br/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 <cite/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 <code/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 <dfn/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 <div/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 <em/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 <h1/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 <h2/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 <h3/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 <h4/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 <h5/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 <h6/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 <kbd/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 <p/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 <pre/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 <q/> class, id, title; style; cite |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 <samp/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
37 <span/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
38 <strong/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
39 <var/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
40 <a/> class, id, title; style; accesskey, charset, href, hreflang, rel, rev, tabindex, type |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
41 <dl/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
42 <dt/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
43 <dd/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
44 <ol/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
45 <ul/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
46 <li/> class, id, title; style |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
47 <img/> class, id, title; style; alt, height, longdesc, src, width |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
48 ]]; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
49 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
50 -- map of whitelisted tag names to set of allowed attributes |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
51 local tags = {}; -- { string : { string : boolean } } |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
52 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
53 for tag, attrs in xeptables:gmatch("<(%w+)/>([^\n]*)") do |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
54 tags[tag] = { xmlns = true, ["xml:lang"] = true }; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
55 for attr in attrs:gmatch("%w+") do |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
56 tags[tag][attr] = true; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
57 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
58 if no_styles then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
59 tags[tag]["style"] = nil; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
60 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
61 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
62 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
63 -- module:log("debug", "tags = %s;", require "util.serialization".serialize(tags)); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
64 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
65 -- TODO Decide if disallowed tags should be bounced or silently discarded. |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
66 -- XEP says "ignore" and replace tag with text content, but that would |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
67 -- need a different transform which can't use `maptags`. |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
68 if not module:get_option_boolean("bounce_invalid_xhtml", false) then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
69 assert = function (x) return x end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
70 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
71 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
72 local function sanitize_xhtml(tag) |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
73 -- module:log("debug", "sanitize_xhtml(<{%s}%s>)", tag.attr.xmlns, tag.name); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
74 if tag.attr.xmlns == "http://www.w3.org/1999/xhtml" then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
75 local allowed = assert(tags[tag.name], tag.name); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
76 if allowed then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
77 for attr, value in pairs(tag.attr) do |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
78 if not allowed[attr] then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
79 -- module:log("debug", "Removing disallowed attribute %q from <%s>", attr, tag.name); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
80 tag.attr[attr] = nil; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
81 elseif attr == "src" or attr == "href" then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
82 local urlattr = url.parse(value); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
83 local scheme = urlattr and urlattr.scheme; |
2866
276f7af8afd1
mod_xhtmlim: Fix scheme check (thanks wiktor)
Kim Alvefur <zash@zash.se>
parents:
2865
diff
changeset
|
84 if scheme ~= "http" and scheme ~= "https" and scheme ~= "mailto" and scheme ~= "xmpp" and scheme ~= "cid" then |
2865
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
85 tag.attr[attr] = "https://url.was.invalid/"; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
86 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
87 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
88 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
89 else |
3404
6444fb5dbb51
mod_xhtmlim: Turn unknown elements into <span>
Kim Alvefur <zash@zash.se>
parents:
2866
diff
changeset
|
90 tag.name = "span" |
6444fb5dbb51
mod_xhtmlim: Turn unknown elements into <span>
Kim Alvefur <zash@zash.se>
parents:
2866
diff
changeset
|
91 tag.attr = { xmlns = "http://www.w3.org/1999/xhtml" } |
2865
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
92 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
93 -- Check child tags |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
94 tag:maptags(sanitize_xhtml); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
95 -- This tag is clean! |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
96 return tag; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
97 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
98 -- Not xhtml, probably best to discard it |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
99 return nil; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
100 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
101 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
102 -- Check for xhtml-im, sanitize if exists |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
103 local function message_handler(event) |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
104 local stanza = event.stanza; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
105 if stanza:get_child("html", "http://jabber.org/protocol/xhtml-im") then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
106 stanza = st.clone(stanza); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
107 if pcall(function() -- try |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
108 stanza:get_child("html", "http://jabber.org/protocol/xhtml-im"):maptags(sanitize_xhtml); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
109 end) then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
110 event.stanza = stanza; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
111 else -- catch |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
112 if stanza.attr.type ~= "error" then |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
113 event.origin.send(st.error_reply(stanza, "modify", "not-acceptable", "Stanza contained illegal XHTML-IM tag")); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
114 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
115 return true; |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
116 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
117 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
118 end |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
119 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
120 -- Stanzas received from clients |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
121 module:hook("pre-message/bare", message_handler, 71); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
122 module:hook("pre-message/full", message_handler, 71); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
123 module:hook("pre-message/host", message_handler, 71); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
124 |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
125 -- Stanzas about to be delivered to clients |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
126 module:hook("message/bare", message_handler, 71); |
f6ed4421167d
mod_xhtmlim: Attempts to sanitize XMTML-IM messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
127 module:hook("message/full", message_handler, 71); |