30 |
30 |
31 local xmlns_component = 'jabber:component:accept'; |
31 local xmlns_component = 'jabber:component:accept'; |
32 |
32 |
33 --- Callbacks/data for xmlhandlers to handle streams for us --- |
33 --- Callbacks/data for xmlhandlers to handle streams for us --- |
34 |
34 |
35 local stream_callbacks = { stream_tag = "http://etherx.jabber.org/streams\1stream", default_ns = xmlns_component }; |
35 local stream_callbacks = { default_ns = xmlns_component }; |
36 |
36 |
37 function stream_callbacks.error(session, error, data, data2) |
37 function stream_callbacks.error(session, error, data, data2) |
38 log("warn", "Error processing component stream: "..tostring(error)); |
38 log("warn", "Error processing component stream: "..tostring(error)); |
39 if error == "no-stream" then |
39 if error == "no-stream" then |
40 session:close("invalid-namespace"); |
40 session:close("invalid-namespace"); |
85 return core_process_stanza(session, stanza); |
85 return core_process_stanza(session, stanza); |
86 end |
86 end |
87 |
87 |
88 --- Closing a component connection |
88 --- Closing a component connection |
89 local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'}; |
89 local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'}; |
90 local default_stream_attr = { ["xmlns:stream"] = stream_callbacks.stream_tag:match("[^\1]*"), xmlns = stream_callbacks.default_ns, version = "1.0", id = "" }; |
90 local default_stream_attr = { ["xmlns:stream"] = "http://etherx.jabber.org/streams", xmlns = stream_callbacks.default_ns, version = "1.0", id = "" }; |
91 local function session_close(session, reason) |
91 local function session_close(session, reason) |
92 local log = session.log or log; |
92 local log = session.log or log; |
93 if session.conn then |
93 if session.conn then |
94 if session.notopen then |
94 if session.notopen then |
95 session.send("<?xml version='1.0'?>"); |
95 session.send("<?xml version='1.0'?>"); |