Software /
code /
prosody-modules
Comparison
mod_host_guard/mod_host_guard.lua @ 725:f79fda2d7e51
mod_host_guard: host handlers are now cleaned properly on module unload (and also still on re/load to be safe).
author | Marco Cirillo <maranda@lightwitch.org> |
---|---|
date | Mon, 25 Jun 2012 23:26:09 +0000 |
parent | 724:b94010de43f6 |
child | 726:455a9b8fac27 |
comparison
equal
deleted
inserted
replaced
724:b94010de43f6 | 725:f79fda2d7e51 |
---|---|
61 end | 61 end |
62 end | 62 end |
63 end | 63 end |
64 | 64 |
65 local function init_hosts() | 65 local function init_hosts() |
66 for n,table in pairs(hosts) do | 66 for n in pairs(hosts) do |
67 -- This is a bit redundant but better safe then sorry. | |
67 hosts[n].events.remove_handler("s2sin-established", s2s_hook) | 68 hosts[n].events.remove_handler("s2sin-established", s2s_hook) |
68 hosts[n].events.remove_handler("route/remote", rr_hook) | 69 hosts[n].events.remove_handler("route/remote", rr_hook) |
69 hosts[n].events.remove_handler("stanza/jabber:server:dialback:result", s2s_hook) | 70 hosts[n].events.remove_handler("stanza/jabber:server:dialback:result", s2s_hook) |
70 if guard_blockall:contains(n) or guard_protect:contains(n) then handle_activation(n) end | 71 if guard_blockall:contains(n) or guard_protect:contains(n) then handle_activation(n) end |
71 end | 72 end |
88 module:hook ("config-reloaded", reload) | 89 module:hook ("config-reloaded", reload) |
89 | 90 |
90 init_hosts() | 91 init_hosts() |
91 end | 92 end |
92 | 93 |
94 function module.unload() | |
95 module:log ("debug", "removing host handlers as module is being unloaded...") | |
96 for n in pairs(hosts) do | |
97 hosts[n].events.remove_handler("s2sin-established", s2s_hook) | |
98 hosts[n].events.remove_handler("route/remote", rr_hook) | |
99 hosts[n].events.remove_handler("stanza/jabber:server:dialback:result", s2s_hook) | |
100 end | |
101 end | |
102 | |
93 if prosody.start_time then | 103 if prosody.start_time then |
94 setup() | 104 setup() |
95 else | 105 else |
96 module:hook ("server-started", setup) | 106 module:hook ("server-started", setup) |
97 end | 107 end |
108 |