# HG changeset patch # User Waqas Hussain # Date 1243940762 -18000 # Node ID ff58ef687a3f21d051c8d933a78e959716c0ee16 # Parent bc65d57c76efb8c85d1b98fee33ca66ddc32abdb mod_presence: Handle subscriptions and probes diff -r bc65d57c76ef -r ff58ef687a3f plugins/mod_presence.lua --- a/plugins/mod_presence.lua Tue Jun 02 15:59:03 2009 +0500 +++ b/plugins/mod_presence.lua Tue Jun 02 16:06:02 2009 +0500 @@ -273,11 +273,11 @@ end local outbound_presence_handler = function(data) - -- outbound presence to recieved + -- outbound presence recieved local origin, stanza = data.origin, data.stanza; local t = stanza.attr.type; - if t ~= nil and t ~= "unavailable" and t ~= "error" then -- check for subscriptions and probes sent to full JID + if t ~= nil and t ~= "unavailable" and t ~= "error" then -- check for subscriptions and probes handle_outbound_presence_subscriptions_and_probes(origin, stanza, jid_bare(stanza.attr.from), jid_bare(stanza.attr.to), core_route_stanza); return true; end @@ -301,8 +301,20 @@ module:hook("presence/bare", function(data) -- inbound presence to bare JID recieved local origin, stanza = data.origin, data.stanza; + + local t = stanza.attr.type; + if t ~= nil and t ~= "unavailable" and t ~= "error" then -- check for subscriptions and probes sent to bare JID + handle_inbound_presence_subscriptions_and_probes(origin, stanza, jid_bare(stanza.attr.from), jid_bare(stanza.attr.to), core_route_stanza); + return true; + end end); module:hook("presence/full", function(data) -- inbound presence to full JID recieved local origin, stanza = data.origin, data.stanza; + + local t = stanza.attr.type; + if t ~= nil and t ~= "unavailable" and t ~= "error" then -- check for subscriptions and probes sent to full JID + handle_inbound_presence_subscriptions_and_probes(origin, stanza, jid_bare(stanza.attr.from), jid_bare(stanza.attr.to), core_route_stanza); + return true; + end end);