aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2012-05-04 02:28:10 +0100
committerMatthew Wild <mwild1@gmail.com>2012-05-04 02:28:10 +0100
commitbbd996911b313b8c1b94505400bba46c852e4832 (patch)
treee74e1e5eec3718a1bddc2bd4d4ecae7f3309058b
parent8128ac8052ba83741b23aa818e3238a6c4c99a5a (diff)
downloadprosody-bbd996911b313b8c1b94505400bba46c852e4832.tar.gz
prosody-bbd996911b313b8c1b94505400bba46c852e4832.zip
mod_auth_anonymous: Block s2s when enabled on a host (and disallow_s2s ~= false)
-rw-r--r--plugins/mod_auth_anonymous.lua12
1 files changed, 7 insertions, 5 deletions
diff --git a/plugins/mod_auth_anonymous.lua b/plugins/mod_auth_anonymous.lua
index 056d7e6b..55398d8a 100644
--- a/plugins/mod_auth_anonymous.lua
+++ b/plugins/mod_auth_anonymous.lua
@@ -50,15 +50,17 @@ local function dm_callback(username, host, datastore, data)
end
return username, host, datastore, data;
end
-local host = hosts[module.host];
-local _saved_disallow_s2s = host.disallow_s2s;
+
+if module:get_option_boolean("disallow_s2s", true) then
+ module:hook("route/remote", function (event)
+ return false; -- Block outgoing s2s from anonymous users
+ end, 300);
+end
+
function module.load()
- _saved_disallow_s2s = host.disallow_s2s;
- host.disallow_s2s = module:get_option("disallow_s2s") ~= false;
datamanager.add_callback(dm_callback);
end
function module.unload()
- host.disallow_s2s = _saved_disallow_s2s;
datamanager.remove_callback(dm_callback);
end