Software /
code /
prosody-modules
Changeset
113:7dff5fa275f4
Renamed mod_regredirect to mod_register_url, thanks MattJ for the suggestion.
author | Marco Cirillo <maranda@lightwitch.org> |
---|---|
date | Wed, 30 Dec 2009 15:49:49 +0000 |
parents | 112:d1168a454107 |
children | 114:f8904351d6a3 |
files | mod_register_url/mod_register_url.lua mod_regredirect/mod_regredirect.lua |
diffstat | 2 files changed, 28 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_register_url/mod_register_url.lua Wed Dec 30 15:49:49 2009 +0000 @@ -0,0 +1,28 @@ +-- Registration Redirect module for Prosody +-- +-- Redirects IP addresses not in the whitelist to a web page to complete the registration. + +local st = require "util.stanza"; + +function reg_redirect(event) + local ip_wl = module:get_option("registration_whitelist") or { "127.0.0.1" }; + local url = module:get_option("registration_url"); + local test_ip; + + for i,ip in ipairs(ip_wl) do + if event.origin.ip == ip then test_ip = true; end + break; + end + + if not test_ip and url ~= nil then + local reply = st.reply(event.stanza); + reply:tag("query", {xmlns = "jabber:iq:register"}) + :tag("instructions"):text("Please visit "..url.." to register an account on this server."):up() + :tag("x", {xmlns = "jabber:x:oob"}):up() + :tag("url"):text(url):up(); + event.origin.send(reply); + return true; + end +end + +module:hook("stanza/iq/jabber:iq:register:query", reg_redirect, 10);
--- a/mod_regredirect/mod_regredirect.lua Wed Dec 30 00:24:24 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ --- Registration Redirect module for Prosody --- --- Redirects IP addresses not in the whitelist to a web page to complete the registration. - -local st = require "util.stanza"; - -function reg_redirect(event) - local ip_wl = module:get_option("registration_whitelist") or { "127.0.0.1" }; - local url = module:get_option("registration_url"); - local test_ip; - - for i,ip in ipairs(ip_wl) do - if event.origin.ip == ip then test_ip = true; end - break; - end - - if not test_ip and url ~= nil then - local reply = st.reply(event.stanza); - reply:tag("query", {xmlns = "jabber:iq:register"}) - :tag("instructions"):text("Please visit "..url.." to register an account on this server."):up() - :tag("x", {xmlns = "jabber:x:oob"}):up() - :tag("url"):text(url):up(); - event.origin.send(reply); - return true; - end -end - -module:hook("stanza/iq/jabber:iq:register:query", reg_redirect, 10);