aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2012-07-22 17:02:18 +0100
committerMatthew Wild <mwild1@gmail.com>2012-07-22 17:02:18 +0100
commit3bdb9e7da9470303b85edf4aea0131d79839b281 (patch)
tree2b3a53b8555f1b86421683f6e774f45add109d78
parent1135a220df42900779c5cdfbd6c2511d4e7dcc4c (diff)
downloadprosody-3bdb9e7da9470303b85edf4aea0131d79839b281.tar.gz
prosody-3bdb9e7da9470303b85edf4aea0131d79839b281.zip
mod_presence: Handle nil disconnection error
-rw-r--r--plugins/mod_presence.lua10
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/mod_presence.lua b/plugins/mod_presence.lua
index 6d039d83..09a6f9f2 100644
--- a/plugins/mod_presence.lua
+++ b/plugins/mod_presence.lua
@@ -352,13 +352,15 @@ module:hook("resource-unbind", function(event)
-- Send unavailable presence
if session.presence then
local pres = st.presence{ type = "unavailable" };
- if not(err) or err == "closed" then err = "connection closed"; end
- pres:tag("status"):text("Disconnected: "..err):up();
+ if err then
+ pres:tag("status"):text("Disconnected: "..err):up();
+ end
session:dispatch_stanza(pres);
elseif session.directed then
local pres = st.presence{ type = "unavailable", from = session.full_jid };
- if not(err) or err == "closed" then err = "connection closed"; end
- pres:tag("status"):text("Disconnected: "..err):up();
+ if err then
+ pres:tag("status"):text("Disconnected: "..err):up();
+ end
for jid in pairs(session.directed) do
pres.attr.to = jid;
core_post_stanza(session, pres, true);