mod_presence: Don't send 'unsubscribed' in response to probes when roster loading fails.

Mon, 24 May 2010 00:37:15 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Mon, 24 May 2010 00:37:15 +0500
changeset 3112
c311fdffccce
parent 3111
826cb5f1859b
child 3113
30896751dd43

mod_presence: Don't send 'unsubscribed' in response to probes when roster loading fails.

plugins/mod_presence.lua file | annotate | diff | comparison | revisions
--- a/plugins/mod_presence.lua	Mon May 24 00:35:08 2010 +0500
+++ b/plugins/mod_presence.lua	Mon May 24 00:37:15 2010 +0500
@@ -228,11 +228,12 @@
 	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

mercurial