X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=util%2Fxmppstream.lua;h=2f232fd81127fe71626ab5bbb73941618af1c539;hb=4e2a8775d379a6a94bb976e1e505b214de483807;hp=ed5395b5b0c9f2962dddbf7244635bf57d0c388e;hpb=9bd553f671cd8abcd19704598f1d66e4d6eebae5;p=prosody.git diff --git a/util/xmppstream.lua b/util/xmppstream.lua index ed5395b5..2f232fd8 100644 --- a/util/xmppstream.lua +++ b/util/xmppstream.lua @@ -69,8 +69,8 @@ function new_sax_handlers(session, stream_callbacks) attr[i] = nil; local ns, nm = k:match(ns_pattern); if nm ~= "" then - ns = ns_prefixes[ns]; - if ns then + ns = ns_prefixes[ns]; + if ns then attr[ns..":"..nm] = attr[k]; attr[k] = nil; end @@ -95,10 +95,6 @@ function new_sax_handlers(session, stream_callbacks) stanza = st.stanza(name, attr); else -- we are inside a stanza, so add a tag - attr.xmlns = nil; - if curr_ns ~= stream_default_ns then - attr.xmlns = curr_ns; - end stanza:tag(name, attr); end end @@ -145,7 +141,12 @@ function new_sax_handlers(session, stream_callbacks) stanza, chardata = nil, {}; end - return xml_handlers, { reset = reset }; + local function set_session(stream, new_session) + session = new_session; + log = new_session.log or default_log; + end + + return xml_handlers, { reset = reset, set_session = set_session }; end function new(session, stream_callbacks) @@ -161,7 +162,8 @@ function new(session, stream_callbacks) end, feed = function (self, data) return parse(parser, data); - end + end, + set_session = meta.set_session; }; end