From f963d6de4a808f498233b4dfa5cb01ebd0e26655 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Thu, 25 Dec 2008 04:58:15 +0500 Subject: Directed presence --- core/presencemanager.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'core/presencemanager.lua') diff --git a/core/presencemanager.lua b/core/presencemanager.lua index e4dd6cc4..4d847563 100644 --- a/core/presencemanager.lua +++ b/core/presencemanager.lua @@ -103,7 +103,14 @@ function handle_normal_presence(origin, stanza, core_route_stanza) end origin.priority = 0; if stanza.attr.type == "unavailable" then - origin.presence = nil; + origin.presence = nil; + if origin.directed then + for _, jid in ipairs(origin.directed) do + stanza.attr.to = jid; + core_route_stanza(origin, stanza); + end + origin.directed = nil; + end else origin.presence = stanza; local priority = stanza:child_with_name("priority"); -- cgit v1.2.3