author | Matthew Wild <mwild1@gmail.com> |
Tue, 23 Apr 2024 12:10:38 +0100 | |
changeset 5894 | ba71fdc8ea73 |
parent 3703 | 1f68287138e3 |
permissions | -rw-r--r-- |
2869
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 |
|
3703
1f68287138e3
mod_xhtmlim: Default to stripping @style attribute by default
Kim Alvefur <zash@zash.se>
parents:
3408
diff
changeset
|
8 |
local no_styles = module:get_option_boolean("strip_xhtml_style", true); |
2869
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; |
2870
276f7af8afd1
mod_xhtmlim: Fix scheme check (thanks wiktor)
Kim Alvefur <zash@zash.se>
parents:
2869
diff
changeset
|
84 |
if scheme ~= "http" and scheme ~= "https" and scheme ~= "mailto" and scheme ~= "xmpp" and scheme ~= "cid" then |
2869
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 |
3408
6444fb5dbb51
mod_xhtmlim: Turn unknown elements into <span>
Kim Alvefur <zash@zash.se>
parents:
2870
diff
changeset
|
90 |
tag.name = "span" |
6444fb5dbb51
mod_xhtmlim: Turn unknown elements into <span>
Kim Alvefur <zash@zash.se>
parents:
2870
diff
changeset
|
91 |
tag.attr = { xmlns = "http://www.w3.org/1999/xhtml" } |
2869
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); |