diff options
author | Kim Alvefur <zash@zash.se> | 2015-09-17 22:15:26 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2015-09-17 22:15:26 +0200 |
commit | 195c1407b6d3eb2b4f47051eb81a9ddee889c690 (patch) | |
tree | aae43eb039122cfd152c9a26e2f40154cad08440 /plugins/mod_blocklist.lua | |
parent | a38d2115a2d8d4a2b6e6e0772f345cb7e1201aaf (diff) | |
parent | 32bb9cbee2e75029b69367ef3f0d3d76e5dd9f34 (diff) | |
download | prosody-195c1407b6d3eb2b4f47051eb81a9ddee889c690.tar.gz prosody-195c1407b6d3eb2b4f47051eb81a9ddee889c690.zip |
Merge 0.10->trunk
Diffstat (limited to 'plugins/mod_blocklist.lua')
-rw-r--r-- | plugins/mod_blocklist.lua | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/plugins/mod_blocklist.lua b/plugins/mod_blocklist.lua index baed6709..8589c1e9 100644 --- a/plugins/mod_blocklist.lua +++ b/plugins/mod_blocklist.lua @@ -95,7 +95,8 @@ module:hook("iq-get/self/urn:xmpp:blocking:blocklist", function (event) end end origin.interested_blocklist = true; -- Gets notified about changes - return origin.send(reply); + origin.send(reply); + return true; end); -- Add or remove some jid(s) from the blocklist @@ -109,7 +110,8 @@ local function edit_blocklist(event) for item in action:childtags("item") do local jid = jid_prep(item.attr.jid); if not jid then - return origin.send(st_error_reply(stanza, "modify", "jid-malformed")); + origin.send(st_error_reply(stanza, "modify", "jid-malformed")); + return true; end item.attr.jid = jid; -- echo back prepped new[jid] = is_contact_subscribed(username, module.host, jid) or false; @@ -119,7 +121,8 @@ local function edit_blocklist(event) if mode and not next(new) then -- <block/> element does not contain at least one <item/> child element - return origin.send(st_error_reply(stanza, "modify", "bad-request")); + origin.send(st_error_reply(stanza, "modify", "bad-request")); + return true; end local blocklist = get_blocklist(username); @@ -141,7 +144,8 @@ local function edit_blocklist(event) if ok then origin.send(st.reply(stanza)); else - return origin.send(st_error_reply(stanza, "wait", "internal-server-error", err)); + origin.send(st_error_reply(stanza, "wait", "internal-server-error", err)); + return true; end if mode then @@ -208,7 +212,8 @@ end local function bounce_stanza(event) local origin, stanza = event.origin, event.stanza; if drop_stanza(event) then - return origin.send(st_error_reply(stanza, "cancel", "service-unavailable")); + origin.send(st_error_reply(stanza, "cancel", "service-unavailable")); + return true; end end @@ -244,8 +249,9 @@ local function bounce_outgoing(event) return drop_outgoing(event); end if drop_outgoing(event) then - return origin.send(st_error_reply(stanza, "cancel", "not-acceptable", "You have blocked this JID") + origin.send(st_error_reply(stanza, "cancel", "not-acceptable", "You have blocked this JID") :tag("blocked", { xmlns = "urn:xmpp:blocking:errors" })); + return true; end end |