Mercurial > prosody-modules
view mod_proxy65_whitelist/mod_proxy65_whitelist.lua @ 1995:0e008f36a91c
mod_log_events: No such thing as module.remove_host. Fix this module so it can be loaded/unloaded dynamically and behave (mostly) correctly
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 22 Dec 2015 17:54:25 +0000 |
parents | 4ef0a1a499fa |
children | 48686b399a88 |
line wrap: on
line source
local allowed_streamhosts = module:get_option_set("allowed_streamhosts", {}); -- eg proxy.eu.jabber.org if module:get_option_boolean("allow_local_streamhosts", true) then for hostname, host in pairs(hosts) do if host.modules.proxy65 then allowed_streamhosts:add(hostname); end end end local function filter_streamhosts(tag) if tag.name == "streamhost" and not allowed_streamhosts:contains(tag.attr.jid) then return nil; end return tag; end module:hook("iq/full", function (event) local stanza, origin = event.stanza, event.origin; if stanza.attr.type == "set" then local payload = stanza:get_child("query", "http://jabber.org/protocol/bytestreams"); if payload then payload:maptags(filter_streamhosts); end end end, 1);