# HG changeset patch # User Marco Cirillo # Date 1338086646 0 # Node ID 27529031890b0d27d3ac17473ee6c38a9db07d5d # Parent 939f8fc84d492e7a6d0c75fdc9d3d091aa0c4666 mod_host_guard: now a proper error is returned when stanzas are routed to a filtered remote server (thanks Zash) diff -r 939f8fc84d49 -r 27529031890b mod_host_guard/mod_host_guard.lua --- a/mod_host_guard/mod_host_guard.lua Sun May 27 01:37:25 2012 +0000 +++ b/mod_host_guard/mod_host_guard.lua Sun May 27 02:44:06 2012 +0000 @@ -29,12 +29,13 @@ end local function rr_hook (event) - local from_host, to_host = event.from_host, event.to_host + local from_host, to_host, send, stanza = event.from_host, event.to_host, event.origin.send, event.stanza if guard_blockall:contains(from_host) and not guard_ball_wl:contains(to_host) or guard_block_bl:contains(to_host) and guard_protect:contains(from_host) then module:log("info", "attempted to connect to a filtered remote host %s", to_host) - return false + if stanza.attr.type ~= "error" then send(error_reply(event.stanza, "cancel", "policy-violation", "Communicating with a filtered remote server is not allowed.")) end + return true end return nil