Software /
code /
prosody
Comparison
core/sessionmanager.lua @ 1479:eef17ebe3ca1
Moved automatic unavailable presence generation on disconnect from sessionmanager to mod_presence
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sun, 05 Jul 2009 17:45:44 +0500 |
parent | 1478:da11f2652ae9 |
child | 1523:841d61be198f |
comparison
equal
deleted
inserted
replaced
1478:da11f2652ae9 | 1479:eef17ebe3ca1 |
---|---|
53 return session; | 53 return session; |
54 end | 54 end |
55 | 55 |
56 function destroy_session(session, err) | 56 function destroy_session(session, err) |
57 (session.log or log)("info", "Destroying session for %s (%s@%s)", session.full_jid or "(unknown)", session.username or "(unknown)", session.host or "(unknown)"); | 57 (session.log or log)("info", "Destroying session for %s (%s@%s)", session.full_jid or "(unknown)", session.username or "(unknown)", session.host or "(unknown)"); |
58 | |
59 -- Send unavailable presence | |
60 if session.presence then | |
61 local pres = st.presence{ type = "unavailable" }; | |
62 if (not err) or err == "closed" then err = "connection closed"; end | |
63 pres:tag("status"):text("Disconnected: "..err):up(); | |
64 session:dispatch_stanza(pres); | |
65 end | |
66 | 58 |
67 -- Remove session/resource from user's session list | 59 -- Remove session/resource from user's session list |
68 if session.full_jid then | 60 if session.full_jid then |
69 hosts[session.host].events.fire_event("resource-unbind", {session=session, error=err}); | 61 hosts[session.host].events.fire_event("resource-unbind", {session=session, error=err}); |
70 | 62 |