aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2012-05-24 18:52:47 +0100
committerMatthew Wild <mwild1@gmail.com>2012-05-24 18:52:47 +0100
commit6f6c868b10b6b35df27e1bac701dff81481a8bfe (patch)
treec763bc351d4534e151b527fbff03ccae9d1e500f
parentea48b240ef8926f1e614cac9b0d582fb34044bfb (diff)
downloadprosody-6f6c868b10b6b35df27e1bac701dff81481a8bfe.tar.gz
prosody-6f6c868b10b6b35df27e1bac701dff81481a8bfe.zip
mod_watchregistrations: Convert JID list to a set, and prep before use to fix traceback on invalid JIDs (thanks sMi)
-rw-r--r--plugins/mod_watchregistrations.lua5
1 files 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);