net/xmppserver_listener.lua

changeset 2077
e33658f6052c
parent 2053
161db352822c
child 2126
fcdcdf00787c
child 2779
87b66be6d514
child 2816
59dfb99831ae
equal deleted inserted replaced
2076:de2ae849b0b3 2077:e33658f6052c
15 local s2s_new_incoming = require "core.s2smanager".new_incoming; 15 local s2s_new_incoming = require "core.s2smanager".new_incoming;
16 local s2s_streamopened = require "core.s2smanager".streamopened; 16 local s2s_streamopened = require "core.s2smanager".streamopened;
17 local s2s_streamclosed = require "core.s2smanager".streamclosed; 17 local s2s_streamclosed = require "core.s2smanager".streamclosed;
18 local s2s_destroy_session = require "core.s2smanager".destroy_session; 18 local s2s_destroy_session = require "core.s2smanager".destroy_session;
19 local s2s_attempt_connect = require "core.s2smanager".attempt_connection; 19 local s2s_attempt_connect = require "core.s2smanager".attempt_connection;
20 local stream_callbacks = { stream_tag = "http://etherx.jabber.org/streams|stream", 20 local stream_callbacks = { stream_tag = "http://etherx.jabber.org/streams\1stream",
21 default_ns = "jabber:server", 21 default_ns = "jabber:server",
22 streamopened = s2s_streamopened, streamclosed = s2s_streamclosed, handlestanza = core_process_stanza }; 22 streamopened = s2s_streamopened, streamclosed = s2s_streamclosed, handlestanza = core_process_stanza };
23 23
24 function stream_callbacks.error(session, error, data) 24 function stream_callbacks.error(session, error, data)
25 if error == "no-stream" then 25 if error == "no-stream" then
51 51
52 -- These are session methods -- 52 -- These are session methods --
53 53
54 local function session_reset_stream(session) 54 local function session_reset_stream(session)
55 -- Reset stream 55 -- Reset stream
56 local parser = lxp.new(init_xmlhandlers(session, stream_callbacks), "|"); 56 local parser = lxp.new(init_xmlhandlers(session, stream_callbacks), "\1");
57 session.parser = parser; 57 session.parser = parser;
58 58
59 session.notopen = true; 59 session.notopen = true;
60 60
61 function session.data(conn, data) 61 function session.data(conn, data)
68 68
69 return true; 69 return true;
70 end 70 end
71 71
72 local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'}; 72 local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'};
73 local default_stream_attr = { ["xmlns:stream"] = stream_callbacks.stream_tag:gsub("%|[^|]+$", ""), xmlns = stream_callbacks.default_ns, version = "1.0", id = "" }; 73 local default_stream_attr = { ["xmlns:stream"] = stream_callbacks.stream_tag:match("[^\1]*"), xmlns = stream_callbacks.default_ns, version = "1.0", id = "" };
74 local function session_close(session, reason) 74 local function session_close(session, reason)
75 local log = session.log or log; 75 local log = session.log or log;
76 if session.conn then 76 if session.conn then
77 if session.notopen then 77 if session.notopen then
78 session.sends2s("<?xml version='1.0'?>"); 78 session.sends2s("<?xml version='1.0'?>");

mercurial