mod_pep: Handle the case where local contacts send directed presence with caps hash.
authorWaqas Hussain <waqas20@gmail.com>
Sun, 12 Dec 2010 01:35:53 +0000 (06:35 +0500)
committerWaqas Hussain <waqas20@gmail.com>
Sun, 12 Dec 2010 01:35:53 +0000 (06:35 +0500)
plugins/mod_pep.lua

index 28c312944fbf0e268e8c3bf5c04d7ec3d714c4b6..f215b8be77053964d274c41078980e5b3e8f8394 100644 (file)
@@ -134,7 +134,8 @@ module:hook("presence/bare", function(event)
                                        publish_all(user, recipient, origin);
                                else
                                        recipients[user][recipient] = hash;
-                                       if self or origin.type ~= "c2s" then
+                                       local from_bare = origin.username.."@"..origin.host;
+                                       if self or origin.type ~= "c2s" or (recipients[from_bare] and recipients[from_bare][origin.full_jid]) ~= hash then
                                                origin.send(
                                                        st.stanza("iq", {from=stanza.attr.to, to=stanza.attr.from, id="disco", type="get"})
                                                                :query("http://jabber.org/protocol/disco#info")