diff mod_register_json/mod_register_json.lua @ 550:d8143f627f9f

mod_register_json: modified code to employ get_option_set for true sets, and contains meta method
author Marco Cirillo <maranda@lightwitch.org>
date Sat, 14 Jan 2012 19:56:24 +0000
parents 4691e72a055c
children 859bf77b9fbf
line wrap: on
line diff
--- a/mod_register_json/mod_register_json.lua	Sat Jan 14 20:50:24 2012 +0100
+++ b/mod_register_json/mod_register_json.lua	Sat Jan 14 19:56:24 2012 +0000
@@ -19,8 +19,8 @@
 
 local set_realm_name = module:get_option("reg_servlet_realm") or "Restricted"
 local throttle_time = module:get_option("reg_servlet_ttime") or false
-local whitelist = module:get_option("reg_servlet_wl") or {}
-local blacklist = module:get_option("reg_servlet_bl") or {}
+local whitelist = module:get_option_set("reg_servlet_wl", {})
+local blacklist = module:get_option_set("reg_servlet_bl", {})
 local recent_ips = {}
 
 -- Begin
@@ -71,8 +71,8 @@
 			return http_response(401, "I obey only to my masters... Have a nice day.")
 		else	
 			-- Checks for both Throttling/Whitelist and Blacklist (basically copycatted from prosody's register.lua code)
-			if blacklist[req_body["ip"]] then module:log("warn", "Attempt of reg. submission to the JSON servlet from blacklisted address: %s", req_body["ip"]) ; return http_response(403, "The specified address is blacklisted, sorry sorry.") end
-			if throttle_time and not whitelist[req_body["ip"]] then
+			if blacklist:contains(req_body["ip"]) then module:log("warn", "Attempt of reg. submission to the JSON servlet from blacklisted address: %s", req_body["ip"]) ; return http_response(403, "The specified address is blacklisted, sorry sorry.") end
+			if throttle_time and not whitelist:contains(req_body["ip"]) then
 				if not recent_ips[req_body["ip"]] then
 					recent_ips[req_body["ip"]] = { time = os_time(), count = 1 }
 				else