Comparison

plugins/mod_component.lua @ 10111:0f335815244f

plugins: Remove tostring call from logging Taken care of by loggingmanager now Mass-rewrite using lua pattern like `tostring%b()`
author Kim Alvefur <zash@zash.se>
date Tue, 30 Jul 2019 02:29:36 +0200
parent 9870:8f4880576835
child 10716:29575fe64860
comparison
equal deleted inserted replaced
10110:3fa3872588a8 10111:0f335815244f
165 165
166 local xmlns_xmpp_streams = "urn:ietf:params:xml:ns:xmpp-streams"; 166 local xmlns_xmpp_streams = "urn:ietf:params:xml:ns:xmpp-streams";
167 167
168 function stream_callbacks.error(session, error, data) 168 function stream_callbacks.error(session, error, data)
169 if session.destroyed then return; end 169 if session.destroyed then return; end
170 module:log("warn", "Error processing component stream: %s", tostring(error)); 170 module:log("warn", "Error processing component stream: %s", error);
171 if error == "no-stream" then 171 if error == "no-stream" then
172 session:close("invalid-namespace"); 172 session:close("invalid-namespace");
173 elseif error == "parse-error" then 173 elseif error == "parse-error" then
174 session.log("warn", "External component %s XML parse error: %s", tostring(session.host), tostring(data)); 174 session.log("warn", "External component %s XML parse error: %s", session.host, data);
175 session:close("not-well-formed"); 175 session:close("not-well-formed");
176 elseif error == "stream-error" then 176 elseif error == "stream-error" then
177 local condition, text = "undefined-condition"; 177 local condition, text = "undefined-condition";
178 for child in data:childtags(nil, xmlns_xmpp_streams) do 178 for child in data:childtags(nil, xmlns_xmpp_streams) do
179 if child.name ~= "text" then 179 if child.name ~= "text" then
206 function stream_callbacks.streamclosed(session) 206 function stream_callbacks.streamclosed(session)
207 session.log("debug", "Received </stream:stream>"); 207 session.log("debug", "Received </stream:stream>");
208 session:close(); 208 session:close();
209 end 209 end
210 210
211 local function handleerr(err) log("error", "Traceback[component]: %s", traceback(tostring(err), 2)); end 211 local function handleerr(err) log("error", "Traceback[component]: %s", traceback(err, 2)); end
212 function stream_callbacks.handlestanza(session, stanza) 212 function stream_callbacks.handlestanza(session, stanza)
213 -- Namespaces are icky. 213 -- Namespaces are icky.
214 if not stanza.attr.xmlns and stanza.name == "handshake" then 214 if not stanza.attr.xmlns and stanza.name == "handshake" then
215 stanza.attr.xmlns = xmlns_component; 215 stanza.attr.xmlns = xmlns_component;
216 end 216 end
266 stanza:tag("text", stream_xmlns_attr):text(reason.text):up(); 266 stanza:tag("text", stream_xmlns_attr):text(reason.text):up();
267 end 267 end
268 if reason.extra then 268 if reason.extra then
269 stanza:add_child(reason.extra); 269 stanza:add_child(reason.extra);
270 end 270 end
271 module:log("info", "Disconnecting component, <stream:error> is: %s", tostring(stanza)); 271 module:log("info", "Disconnecting component, <stream:error> is: %s", stanza);
272 session.send(stanza); 272 session.send(stanza);
273 elseif reason.name then -- a stanza 273 elseif reason.name then -- a stanza
274 module:log("info", "Disconnecting component, <stream:error> is: %s", tostring(reason)); 274 module:log("info", "Disconnecting component, <stream:error> is: %s", reason);
275 session.send(reason); 275 session.send(reason);
276 end 276 end
277 end 277 end
278 end 278 end
279 session.send("</stream:stream>"); 279 session.send("</stream:stream>");
310 end 310 end
311 311
312 function session.data(_, data) 312 function session.data(_, data)
313 local ok, err = stream:feed(data); 313 local ok, err = stream:feed(data);
314 if ok then return; end 314 if ok then return; end
315 log("debug", "Received invalid XML (%s) %d bytes: %q", tostring(err), #data, data:sub(1, 300)); 315 log("debug", "Received invalid XML (%s) %d bytes: %q", err, #data, data:sub(1, 300));
316 session:close("not-well-formed"); 316 session:close("not-well-formed");
317 end 317 end
318 318
319 session.dispatch_stanza = stream_callbacks.handlestanza; 319 session.dispatch_stanza = stream_callbacks.handlestanza;
320 320
325 session.data(conn, data); 325 session.data(conn, data);
326 end 326 end
327 function listener.ondisconnect(conn, err) 327 function listener.ondisconnect(conn, err)
328 local session = sessions[conn]; 328 local session = sessions[conn];
329 if session then 329 if session then
330 (session.log or log)("info", "component disconnected: %s (%s)", tostring(session.host), tostring(err)); 330 (session.log or log)("info", "component disconnected: %s (%s)", session.host, err);
331 if session.host then 331 if session.host then
332 module:context(session.host):fire_event("component-disconnected", { session = session, reason = err }); 332 module:context(session.host):fire_event("component-disconnected", { session = session, reason = err });
333 end 333 end
334 if session.on_destroy then session:on_destroy(err); end 334 if session.on_destroy then session:on_destroy(err); end
335 sessions[conn] = nil; 335 sessions[conn] = nil;