diff options
author | Tobias Markmann <tm@ayena.de> | 2009-11-29 21:33:37 +0100 |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2009-11-29 21:33:37 +0100 |
commit | f91009f78a46ad74aa62ff487fa297c06a1ae6a3 (patch) | |
tree | 8ef6302fc66fdc48b4f34f58c3bea877d7ee6bee /net/xmppclient_listener.lua | |
parent | 8db68f17623ad29b25c6b5d757a2fb0b3d3005c6 (diff) | |
parent | 8fcbba4b0fccb299121083d97cab065e51fba9d1 (diff) | |
download | prosody-f91009f78a46ad74aa62ff487fa297c06a1ae6a3.tar.gz prosody-f91009f78a46ad74aa62ff487fa297c06a1ae6a3.zip |
Merge with tip.
Diffstat (limited to 'net/xmppclient_listener.lua')
-rw-r--r-- | net/xmppclient_listener.lua | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/net/xmppclient_listener.lua b/net/xmppclient_listener.lua index 417dfd4a..223fa89b 100644 --- a/net/xmppclient_listener.lua +++ b/net/xmppclient_listener.lua @@ -61,7 +61,7 @@ local function session_reset_stream(session) function session.data(conn, data) local ok, err = parser:parse(data); if ok then return; end - log("debug", "Received invalid XML (%s) %d bytes: %s", tostring(err), #data, data:sub(1, 300):gsub("[\r\n]+", " ")); + log("debug", "Received invalid XML (%s) %d bytes: %s", tostring(err), #data, data:sub(1, 300):gsub("[\r\n]+", " "):gsub("[%z\1-\31]", "_")); session:close("xml-not-well-formed"); end @@ -100,15 +100,15 @@ local function session_close(session, reason) end end session.send("</stream:stream>"); - session.conn.close(); - xmppclient.disconnect(session.conn, (reason and (reason.text or reason.condition)) or reason or "session closed"); + session.conn:close(); + xmppclient.ondisconnect(session.conn, (reason and (reason.text or reason.condition)) or reason or "session closed"); end end -- End of session methods -- -function xmppclient.listener(conn, data) +function xmppclient.onincoming(conn, data) local session = sessions[conn]; if not session then session = sm_new_session(conn); @@ -117,7 +117,7 @@ function xmppclient.listener(conn, data) session.log("info", "Client connected"); -- Client is using legacy SSL (otherwise mod_tls sets this flag) - if conn.ssl() then + if conn:ssl() then session.secure = true; end @@ -133,14 +133,13 @@ function xmppclient.listener(conn, data) end end -function xmppclient.disconnect(conn, err) +function xmppclient.ondisconnect(conn, err) local session = sessions[conn]; if session then (session.log or log)("info", "Client disconnected: %s", err); sm_destroy_session(session, err); sessions[conn] = nil; session = nil; - collectgarbage("collect"); end end |