Software /
code /
prosody
Comparison
core/xmlhandlers.lua @ 4277:683523db4fe8
Merge 0.6->0.7
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 01 Jun 2011 23:25:24 +0100 |
parent | 2925:692b3c6c5bd2 |
parent | 4276:a37522bf6b1b |
child | 4281:5a0144a032d8 |
comparison
equal
deleted
inserted
replaced
3399:3976bad56640 | 4277:683523db4fe8 |
---|---|
14 local tostring = tostring; | 14 local tostring = tostring; |
15 local t_insert = table.insert; | 15 local t_insert = table.insert; |
16 local t_concat = table.concat; | 16 local t_concat = table.concat; |
17 | 17 |
18 local default_log = require "util.logger".init("xmlhandlers"); | 18 local default_log = require "util.logger".init("xmlhandlers"); |
19 | |
20 -- COMPAT: w/LuaExpat 1.1.0 | |
21 local lxp_supports_doctype = pcall(lxp.new, { StartDoctypeDecl = false }); | |
22 | |
23 if not lxp_supports_doctype then | |
24 default_log("warn", "The version of LuaExpat on your system leaves Prosody " | |
25 .."vulnerable to denial-of-service attacks. You should upgrade to " | |
26 .."LuaExpat 1.1.1 or higher as soon as possible. See " | |
27 .."http://prosody.im/doc/depends#luaexpat for more information."); | |
28 end | |
19 | 29 |
20 local error = error; | 30 local error = error; |
21 | 31 |
22 module "xmlhandlers" | 32 module "xmlhandlers" |
23 | 33 |
137 cb_error(session, "parse-error", "unexpected-element-close", name); | 147 cb_error(session, "parse-error", "unexpected-element-close", name); |
138 end | 148 end |
139 stanza, chardata = nil, {}; | 149 stanza, chardata = nil, {}; |
140 end | 150 end |
141 end | 151 end |
152 | |
153 local function restricted_handler() | |
154 cb_error(session, "parse-error", "restricted-xml", "Restricted XML, see RFC 6120 section 11.1."); | |
155 end | |
156 | |
157 if lxp_supports_doctype then | |
158 xml_handlers.StartDoctypeDecl = restricted_handler; | |
159 end | |
160 xml_handlers.Comment = restricted_handler; | |
161 xml_handlers.StartCdataSection = restricted_handler; | |
162 xml_handlers.ProcessingInstruction = restricted_handler; | |
163 | |
142 return xml_handlers; | 164 return xml_handlers; |
143 end | 165 end |
144 | 166 |
145 return init_xmlhandlers; | 167 return init_xmlhandlers; |