98:3a2d327c4856 | 99:ba08b8a4eeef |
---|---|
1 | 1 |
2 local sessionmanager_streamopened = require "core.sessionmanager".streamopened; | |
3 require "util.stanza" | 2 require "util.stanza" |
4 | 3 |
5 local st = stanza; | 4 local st = stanza; |
6 local tostring = tostring; | 5 local tostring = tostring; |
7 local format = string.format; | 6 local format = string.format; |
14 | 13 |
15 local error = error; | 14 local error = error; |
16 | 15 |
17 module "xmlhandlers" | 16 module "xmlhandlers" |
18 | 17 |
19 function init_xmlhandlers(session) | 18 function init_xmlhandlers(session, streamopened) |
20 local ns_stack = { "" }; | 19 local ns_stack = { "" }; |
21 local curr_ns = ""; | 20 local curr_ns = ""; |
22 local curr_tag; | 21 local curr_tag; |
23 local chardata = {}; | 22 local chardata = {}; |
24 local xml_handlers = {}; | 23 local xml_handlers = {}; |
36 end | 35 end |
37 curr_ns,name = name:match("^(.+):(%w+)$"); | 36 curr_ns,name = name:match("^(.+):(%w+)$"); |
38 if not stanza then | 37 if not stanza then |
39 if session.notopen then | 38 if session.notopen then |
40 if name == "stream" then | 39 if name == "stream" then |
41 sessionmanager_streamopened(session, attr); | 40 streamopened(session, attr); |
42 return; | 41 return; |
43 end | 42 end |
44 error("Client failed to open stream successfully"); | 43 error("Client failed to open stream successfully"); |
45 end | 44 end |
46 if curr_ns == "jabber:client" and name ~= "iq" and name ~= "presence" and name ~= "message" then | 45 if curr_ns == "jabber:client" and name ~= "iq" and name ~= "presence" and name ~= "message" then |