Software /
code /
prosody
Diff
plugins/mod_pep.lua @ 3795:6bd4305044a8
mod_pep: Remove PEP subscriptions on getting a presence unsubscribe.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sun, 28 Nov 2010 15:02:56 +0500 |
parent | 3794:56add628d838 |
child | 3737:659563b1db89 |
line wrap: on
line diff
--- a/plugins/mod_pep.lua Sun Nov 28 13:11:42 2010 +0500 +++ b/plugins/mod_pep.lua Sun Nov 28 15:02:56 2010 +0500 @@ -145,6 +145,16 @@ end elseif t == "unavailable" then if recipients[user] then recipients[user][stanza.attr.from] = nil; end + elseif not self and t == "unsubscribe" then + local from = jid_bare(stanza.attr.from); + local subscriptions = recipients[user]; + if subscriptions then + for subscriber in pairs(subscriptions) do + if jid_bare(subscriber) == from then + recipients[user][subscriber] = nil; + end + end + end end end, 10);