Mercurial > prosody-hg
diff net/xmppclient_listener.lua @ 275:7af22e56d625
Fix logging of disconnect reason, and also sending of unavailable presence on disconnect
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 15 Nov 2008 19:32:58 +0000 |
| parents | 6303b7454ad0 |
| children | cc20ea4a8697 |
line wrap: on
line diff
--- a/net/xmppclient_listener.lua Sat Nov 15 19:13:28 2008 +0000 +++ b/net/xmppclient_listener.lua Sat Nov 15 19:32:58 2008 +0000 @@ -73,15 +73,16 @@ end end -function xmppclient.disconnect(conn) +function xmppclient.disconnect(conn, err) local session = sessions[conn]; if session then - if session.last_presence and session.last_presence.attr.type ~= "unavailable" then + if session.presence and session.presence.attr.type ~= "unavailable" then local pres = st.presence{ type = "unavailable" }; - if err == "closed" then err = "connection closed"; end --FIXME where did err come from? + if err == "closed" then err = "connection closed"; end pres:tag("status"):text("Disconnected: "..err); session.stanza_dispatch(pres); end + session.log("info", "Client disconnected: %s", err); sm_destroy_session(session); sessions[conn] = nil; session = nil;
