# HG changeset patch # User Matthew Wild # Date 1231658142 0 # Node ID 406b070b5d3ef3ea10a3d45ee5290b82c6434bce # Parent e901a070900541529a7fda0dcccfe2f2e7e22345 Add option to in-band registration to allow only whitelisted IPs to register diff -r e901a0709005 -r 406b070b5d3e plugins/mod_register.lua --- a/plugins/mod_register.lua Sun Jan 11 07:09:25 2009 +0000 +++ b/plugins/mod_register.lua Sun Jan 11 07:15:42 2009 +0000 @@ -96,6 +96,7 @@ local recent_ips = {}; local min_seconds_between_registrations = config.get(module.host, "core", "min_seconds_between_registrations"); +local whitelist_only = config.get(module.host, "core", "whitelist_registration_only"); local whitelisted_ips = config.get(module.host, "core", "registration_whitelist") or { "127.0.0.1" }; local blacklisted_ips = config.get(module.host, "core", "registration_blacklist") or {}; @@ -122,7 +123,7 @@ local password = query:child_with_name("password"); if username and password then -- Check that the user is not blacklisted or registering too often - if blacklisted_ips[session.ip] then + if blacklisted_ips[session.ip] or (whitelist_only and not whitelisted_ips[session.ip]) then session.send(st.error_reply(stanza, "cancel", "not-acceptable")); return; elseif min_seconds_between_registrations and not whitelisted_ips[session.ip] then