Diff

plugins/mod_watchregistrations.lua @ 4909:01bfb9a76660

mod_watchregistrations: Convert JID list to a set, and prep before use to fix traceback on invalid JIDs (thanks sMi)
author Matthew Wild <mwild1@gmail.com>
date Thu, 24 May 2012 18:52:47 +0100
parent 4453:7dc743378e1e
child 5014:b2006c1cfa85
line wrap: on
line diff
--- a/plugins/mod_watchregistrations.lua	Thu May 24 18:51:18 2012 +0100
+++ b/plugins/mod_watchregistrations.lua	Thu May 24 18:52:47 2012 +0100
@@ -8,8 +8,9 @@
 
 
 local host = module:get_host();
+local jid_prep = require "util.jid".prep;
 
-local registration_watchers = module:get_option("registration_watchers", module:get_option("admins", {}));
+local registration_watchers = module:get_option_set("registration_watchers", module:get_option("admins", {})) / jid_prep;
 local registration_notification = module:get_option("registration_notification", "User $username just registered on $host from $ip");
 
 local st = require "util.stanza";
@@ -21,7 +22,7 @@
 			:text(registration_notification:gsub("%$(%w+)", function (v)
 				return user[v] or user.session and user.session[v] or nil;
 			end));
-	for _, jid in ipairs(registration_watchers) do
+	for jid in registration_watchers do
 		module:log("debug", "Notifying %s", jid);
 		message.attr.to = jid;
 		core_route_stanza(hosts[host], message);