aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2009-11-22 21:40:01 +0500
committerWaqas Hussain <waqas20@gmail.com>2009-11-22 21:40:01 +0500
commit10d98b6eef93eff3a0c5b305aea051017e282785 (patch)
tree889ceb3a84dd7d8a157e292845af8cda3db65919 /core
parentb50d8bac6f81907e48aaa650311861a60abcd2ed (diff)
downloadprosody-10d98b6eef93eff3a0c5b305aea051017e282785.tar.gz
prosody-10d98b6eef93eff3a0c5b305aea051017e282785.zip
sessionmanager: Fixed and cleaned function send_to_available_resources(). The 'to' attribute for presence subscription stanzas is now preserved.
Diffstat (limited to 'core')
-rw-r--r--core/sessionmanager.lua19
1 files changed, 7 insertions, 12 deletions
diff --git a/core/sessionmanager.lua b/core/sessionmanager.lua
index 08e70d44..8de70e97 100644
--- a/core/sessionmanager.lua
+++ b/core/sessionmanager.lua
@@ -201,22 +201,17 @@ function streamclosed(session)
end
function send_to_available_resources(user, host, stanza)
+ local jid = user.."@"..host;
local count = 0;
- local to = stanza.attr.to;
- stanza.attr.to = nil;
- local h = hosts[host];
- if h and h.type == "local" then
- local u = h.sessions[user];
- if u then
- for k, session in pairs(u.sessions) do
- if session.presence then
- session.send(stanza);
- count = count + 1;
- end
+ local user = bare_sessions[jid];
+ if user then
+ for k, session in pairs(user.sessions) do
+ if session.presence then
+ session.send(stanza);
+ count = count + 1;
end
end
end
- stanza.attr.to = to;
return count;
end