X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_blocklist.lua;h=dca729f060fe329d29ee8f356c1d4daa9ba21f0f;hb=ed5838b20029fc151b02ddbc9eb73807707d5189;hp=41a66f35a13765c80160eaaa1b0293a08aaae24c;hpb=4cf2b256699be1eeb3d9439bd2d0d86bc2d67a25;p=prosody.git
diff --git a/plugins/mod_blocklist.lua b/plugins/mod_blocklist.lua
index 41a66f35..dca729f0 100644
--- a/plugins/mod_blocklist.lua
+++ b/plugins/mod_blocklist.lua
@@ -98,16 +98,16 @@ module:hook("iq-get/self/urn:xmpp:blocking:blocklist", function (event)
return origin.send(reply);
end);
--- Add or remove a bare jid from the blocklist
+-- Add or remove some jid(s) from the blocklist
-- We want this to be atomic and not do a partial update
local function edit_blocklist(event)
local origin, stanza = event.origin, event.stanza;
local username = origin.username;
- local act = stanza.tags[1];
+ local action = stanza.tags[1];
local new = {};
local jid;
- for item in act:childtags("item") do
+ for item in action:childtags("item") do
jid = jid_prep(item.attr.jid);
if not jid then
return origin.send(st_error_reply(stanza, "modify", "jid-malformed"));
@@ -116,7 +116,7 @@ local function edit_blocklist(event)
new[jid] = is_contact_subscribed(username, host, jid) or false;
end
- local mode = act.name == "block" or nil;
+ local mode = action.name == "block" or nil;
if mode and not next(new) then
-- element does not contain at least one child element
@@ -127,7 +127,7 @@ local function edit_blocklist(event)
local new_blocklist = {};
- if mode and next(new) then
+ if mode or next(new) then
for jid in pairs(blocklist) do
new_blocklist[jid] = true;
end
@@ -156,7 +156,7 @@ local function edit_blocklist(event)
end
if sessions[username] then
local blocklist_push = st.iq({ type = "set", id = "blocklist-push" })
- :add_child(act); -- I am lazy
+ :add_child(action); -- I am lazy
for _, session in pairs(sessions[username].sessions) do
if session.interested_blocklist then