aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
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
commit6182580f6518a15abc5bfde7a973a5e5f37afebc (patch)
treee74e1e5eec3718a1bddc2bd4d4ecae7f3309058b /plugins
parent8d103e370b6069b9485c3d6b6f27f8ca0884010f (diff)
downloadprosody-6182580f6518a15abc5bfde7a973a5e5f37afebc.tar.gz
prosody-6182580f6518a15abc5bfde7a973a5e5f37afebc.zip
mod_auth_anonymous: Block s2s when enabled on a host (and disallow_s2s ~= false)
Diffstat (limited to 'plugins')
-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