aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2010-05-24 00:37:15 +0500
committerWaqas Hussain <waqas20@gmail.com>2010-05-24 00:37:15 +0500
commit6523b2bbe5e7ae92e241e10c587acbb61ec8eb77 (patch)
tree0c50a9d3e8907747e6ab9d39e4abe4e7775fc31d /plugins
parente1b4298fde007769a41c0a97fbfcc2f44bb383f9 (diff)
downloadprosody-6523b2bbe5e7ae92e241e10c587acbb61ec8eb77.tar.gz
prosody-6523b2bbe5e7ae92e241e10c587acbb61ec8eb77.zip
mod_presence: Don't send 'unsubscribed' in response to probes when roster loading fails.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mod_presence.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/plugins/mod_presence.lua b/plugins/mod_presence.lua
index 255faecc..9071ae4c 100644
--- a/plugins/mod_presence.lua
+++ b/plugins/mod_presence.lua
@@ -228,11 +228,12 @@ function handle_inbound_presence_subscriptions_and_probes(origin, stanza, from_b
log("debug", "inbound presence "..stanza.attr.type.." from "..from_bare.." for "..to_bare);
if stanza.attr.type == "probe" then
- if rostermanager.is_contact_subscribed(node, host, from_bare) then
+ local result, err = rostermanager.is_contact_subscribed(node, host, from_bare);
+ if result then
if 0 == send_presence_of_available_resources(node, host, st_from, origin, core_route_stanza) then
core_route_stanza(hosts[host], st.presence({from=to_bare, to=from_bare, type="unavailable"})); -- TODO send last activity
end
- else
+ elseif not err then
core_route_stanza(hosts[host], st.presence({from=to_bare, to=from_bare, type="unsubscribed"}));
end
elseif stanza.attr.type == "subscribe" then