mod_auth_anonymous: Block s2s when enabled on a host (and disallow_s2s ~= false)
[prosody.git] / plugins / mod_auth_anonymous.lua
index 056d7e6b606da99dc5ec1505eae692e0ee926d31..55398d8a2b64ac0646694b051837ed876f58fd82 100644 (file)
@@ -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