# HG changeset patch # User Matthew Wild # Date 1452726295 0 # Node ID dc1299ca01859ab5e2e0470ac6602a236f925922 # Parent cb810a2bca473a0faa467af9209e9123e093df09 mod_block_outgoing: Make blocked stanza types configurable, and default to blocking messages only diff -r cb810a2bca47 -r dc1299ca0185 mod_block_outgoing/mod_block_outgoing.lua --- a/mod_block_outgoing/mod_block_outgoing.lua Wed Jan 13 16:10:27 2016 +0000 +++ b/mod_block_outgoing/mod_block_outgoing.lua Wed Jan 13 23:04:55 2016 +0000 @@ -2,12 +2,13 @@ local jid_bare = require "util.jid".bare; local is_admin = require "core.usermanager".is_admin; +local set = require "util.set"; local block_users = module:get_option_set("block_outgoing_users", {}); local block_all = block_users:empty(); -local stanza_types = { "iq", "presence", "message" }; -local jid_types = { "host", "bare", "full" }; +local stanza_types = module:get_option_set("block_outgoing_stanzas", { "message" }); +local jid_types = set.new{ "host", "bare", "full" }; local function block_stanza(event) local stanza = event.stanza; @@ -22,8 +23,8 @@ end function module.load() - for _, stanza_type in ipairs(stanza_types) do - for _, jid_type in ipairs(jid_types) do + for stanza_type in stanza_types do + for jid_type in jid_types do module:hook("pre-"..stanza_type.."/"..jid_type, block_stanza, 10000); end end