diff options
author | Waqas Hussain <waqas20@gmail.com> | 2009-11-22 21:40:01 +0500 |
---|---|---|
committer | Waqas Hussain <waqas20@gmail.com> | 2009-11-22 21:40:01 +0500 |
commit | 10d98b6eef93eff3a0c5b305aea051017e282785 (patch) | |
tree | 889ceb3a84dd7d8a157e292845af8cda3db65919 | |
parent | b50d8bac6f81907e48aaa650311861a60abcd2ed (diff) | |
download | prosody-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.
-rw-r--r-- | core/sessionmanager.lua | 19 |
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 |