Software / code / prosody
Comparison
core/xmlhandlers.lua @ 99:ba08b8a4eeef
Abstract connections with "connection listeners"
- Added connlistener for xmppclient
- SASL/TLS now use a new session:reset_stream() method
- main.lua on its way to being a bit neater
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Wed, 22 Oct 2008 17:36:21 +0100 |
| parent | 53:14ea0fe6ca86 |
| child | 145:fbb3a4ff9cf1 |
| child | 149:40e443eacbbd |
comparison
equal
deleted
inserted
replaced
| 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 |