X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_pep.lua;h=a65ee903f578fbdc485fcb402b39c872102c7578;hb=99b003b1917a8ab0b561f7fb98d28d1fad8f8dc8;hp=bd6f4b29b8a89e6139d826149ddda18eee4795d3;hpb=ef7e27eed60811706a9d50f993fbacb7030c803a;p=prosody.git diff --git a/plugins/mod_pep.lua b/plugins/mod_pep.lua index bd6f4b29..a65ee903 100644 --- a/plugins/mod_pep.lua +++ b/plugins/mod_pep.lua @@ -10,13 +10,12 @@ local jid_bare = require "util.jid".bare; local jid_split = require "util.jid".split; local st = require "util.stanza"; -local hosts = hosts; -local user_exists = require "core.usermanager".user_exists; local is_contact_subscribed = require "core.rostermanager".is_contact_subscribed; -local pairs, ipairs = pairs, ipairs; +local pairs = pairs; local next = next; local type = type; local calculate_hash = require "util.caps".calculate_hash; +local core_post_stanza = prosody.core_post_stanza; local NULL = {}; local data = {}; @@ -32,7 +31,7 @@ module.restore = function(state) hash_map = state.hash_map or {}; end -module:add_identity("pubsub", "pep", "Prosody"); +module:add_identity("pubsub", "pep", module:get_option_string("name", "Prosody")); module:add_feature("http://jabber.org/protocol/pubsub#publish"); local function subscription_presence(user_bare, recipient) @@ -136,8 +135,9 @@ module:hook("presence/bare", function(event) recipients[user][recipient] = hash; local from_bare = origin.type == "c2s" and origin.username.."@"..origin.host; if self or origin.type ~= "c2s" or (recipients[from_bare] and recipients[from_bare][origin.full_jid]) ~= hash then + -- COMPAT from ~= stanza.attr.to because OneTeam can't deal with missing from attribute origin.send( - st.stanza("iq", {from=stanza.attr.to, to=stanza.attr.from, id="disco", type="get"}) + st.stanza("iq", {from=user, to=stanza.attr.from, id="disco", type="get"}) :query("http://jabber.org/protocol/disco#info") ); end