Comparison

mod_component_guard/mod_component_guard.lua @ 460:9bb9343f3c7a

mod_component_guard: made module global, refactored init.
author Marco Cirillo <maranda@lightwitch.org>
date Mon, 24 Oct 2011 00:20:51 +0000
parent 459:3117d7e207c5
comparison
equal deleted inserted replaced
459:3117d7e207c5 460:9bb9343f3c7a
1 -- Block or restrict by blacklist remote access to local components. 1 -- Block or restrict by blacklist remote access to local components.
2
3 module:set_global()
2 4
3 local guard_blockall = module:get_option_set("component_guard_blockall", {}) 5 local guard_blockall = module:get_option_set("component_guard_blockall", {})
4 local guard_protect = module:get_option_set("component_guard_components", {}) 6 local guard_protect = module:get_option_set("component_guard_components", {})
5 local guard_block_bl = module:get_option_set("component_guard_blacklist", {}) 7 local guard_block_bl = module:get_option_set("component_guard_blacklist", {})
6 8
79 guard_protect = module:get_option_set("component_guard_components"); 81 guard_protect = module:get_option_set("component_guard_components");
80 guard_block_bl = module:get_option_set("component_guard_blacklist"); 82 guard_block_bl = module:get_option_set("component_guard_blacklist");
81 end 83 end
82 84
83 local function setup() 85 local function setup()
84 module:log ("debug", "initializing component guard module..."); 86 module:log ("debug", "initializing component guard module...");
85 87
86 prosody.events.remove_handler("component-activated", handle_activation); 88 module:hook ("component-activated", handle_activation);
87 prosody.events.add_handler("component-activated", handle_activation); 89 module:hook ("component-deactivated", handle_deactivation);
88 prosody.events.remove_handler("component-deactivated", handle_deactivation); 90 module:hook ("config-reloaded", reload);
89 prosody.events.add_handler("component-deactivated", handle_deactivation);
90 prosody.events.remove_handler("config-reloaded", reload);
91 prosody.events.add_handler("config-reloaded", reload);
92 91
93 for n,table in pairs(hosts) do 92 for n,table in pairs(hosts) do
94 if table.type == "component" then 93 if table.type == "component" then
95 if guard_blockall:contains(n) or guard_protect:contains(n) then 94 if guard_blockall:contains(n) or guard_protect:contains(n) then
96 hosts[n].events.remove_handler("stanza/jabber:server:dialback:result", sdr_hook); 95 hosts[n].events.remove_handler("stanza/jabber:server:dialback:result", sdr_hook);
97 handle_activation(n); 96 handle_activation(n);
98 end 97 end
99 end 98 end
100 end 99 end
101 end 100 end
102 101
103 if prosody.start_time then 102 if prosody.start_time then
104 setup(); 103 setup();
105 else 104 else