From a3b34886029ba0f7b966ef37ce13acd4001c6e56 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Thu, 24 May 2012 18:52:47 +0100
Subject: mod_watchregistrations: Convert JID list to a set, and prep before
 use to fix traceback on invalid JIDs (thanks sMi)

---
 plugins/mod_watchregistrations.lua | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/plugins/mod_watchregistrations.lua b/plugins/mod_watchregistrations.lua
index 42f9c017..ef18d713 100644
--- a/plugins/mod_watchregistrations.lua
+++ b/plugins/mod_watchregistrations.lua
@@ -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 @@ module:hook("user-registered", function (user)
 			: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);
-- 
cgit v1.2.3