Software / code / prosody-modules
Comparison
mod_host_guard/mod_host_guard.lua @ 537:50be30f203f3
mod_host_guard: fixed plugin, minor code refactor.
| author | Marco Cirillo <maranda@lightwitch.org> |
|---|---|
| date | Sun, 08 Jan 2012 05:25:49 +0000 |
| parent | 533:47b9053dba38 |
| child | 680:a2cea070f2c7 |
comparison
equal
deleted
inserted
replaced
| 536:09280dd0b22e | 537:50be30f203f3 |
|---|---|
| 75 module:log ("debug", "removing host protection for: "..host) | 75 module:log ("debug", "removing host protection for: "..host) |
| 76 end | 76 end |
| 77 end | 77 end |
| 78 end | 78 end |
| 79 | 79 |
| 80 local function init_hosts() | |
| 81 for n,table in pairs(hosts) do | |
| 82 hosts[n].events.remove_handler("stanza/jabber:server:dialback:result", sdr_hook) | |
| 83 if guard_blockall:contains(n) or guard_protect:contains(n) then handle_activation(n) end | |
| 84 end | |
| 85 end | |
| 86 | |
| 80 local function reload() | 87 local function reload() |
| 81 module:log ("debug", "server configuration reloaded, rehashing plugin tables...") | 88 module:log ("debug", "server configuration reloaded, rehashing plugin tables...") |
| 82 guard_blockall = module:get_option_set("host_guard_blockall", {}) | 89 guard_blockall = module:get_option_set("host_guard_blockall", {}) |
| 83 guard_ball_wl = module:get_option_set("host_guard_blockall_exceptions", {}) | 90 guard_ball_wl = module:get_option_set("host_guard_blockall_exceptions", {}) |
| 84 guard_protect = module:get_option_set("host_guard_components", {}) | 91 guard_protect = module:get_option_set("host_guard_selective", {}) |
| 85 guard_block_bl = module:get_option_set("host_guard_blacklist", {}) | 92 guard_block_bl = module:get_option_set("host_guard_blacklist", {}) |
| 93 | |
| 94 init_hosts() | |
| 86 end | 95 end |
| 87 | 96 |
| 88 local function setup() | 97 local function setup() |
| 89 module:log ("debug", "initializing host guard module...") | 98 module:log ("debug", "initializing host guard module...") |
| 90 | 99 module:hook ("host-activated", handle_activation) |
| 91 module:hook ("component-activated", handle_activation) | 100 module:hook ("host-deactivated", handle_deactivation) |
| 92 module:hook ("component-deactivated", handle_deactivation) | |
| 93 module:hook ("config-reloaded", reload) | 101 module:hook ("config-reloaded", reload) |
| 94 | 102 |
| 95 for n,table in pairs(hosts) do | 103 init_hosts() |
| 96 if table.type == "component" then | |
| 97 if guard_blockall:contains(n) or guard_protect:contains(n) then | |
| 98 hosts[n].events.remove_handler("stanza/jabber:server:dialback:result", sdr_hook) | |
| 99 handle_activation(n) | |
| 100 end | |
| 101 end | |
| 102 end | |
| 103 end | 104 end |
| 104 | 105 |
| 105 if prosody.start_time then | 106 if prosody.start_time then |
| 106 setup() | 107 setup() |
| 107 else | 108 else |