From d90975c195e3ce0f4b7afea2f1fadd9f7d77669c Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sat, 12 Sep 2015 18:52:39 +0200 Subject: MUC: Break a very long line --- plugins/muc/muc.lib.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'plugins') diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 8cf8d882..c32da338 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -675,8 +675,10 @@ function room_mt:process_form(origin, stanza) if form.attr.type ~= "submit" then origin.send(st.error_reply(stanza, "cancel", "bad-request", "Not a submitted form")); return; end local fields = self:get_form_layout(stanza.attr.from):data(form); - if fields.FORM_TYPE ~= "http://jabber.org/protocol/muc#roomconfig" then origin.send(st.error_reply(stanza, "cancel", "bad-request", "Form is not of type room configuration")); return; end - + if fields.FORM_TYPE ~= "http://jabber.org/protocol/muc#roomconfig" then + origin.send(st.error_reply(stanza, "cancel", "bad-request", "Form is not of type room configuration")); + return; + end local changed = {}; -- cgit v1.2.3 From 7b18c25101b3af8f0a61d7f0fc2cf4d9028b6252 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 15 Sep 2015 17:51:56 +0200 Subject: mod_tls: Fix inhertinance of 'ssl' option from "parent" host to subdomain (fixes #511) --- plugins/mod_tls.lua | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'plugins') diff --git a/plugins/mod_tls.lua b/plugins/mod_tls.lua index d1138e1c..39c4649e 100644 --- a/plugins/mod_tls.lua +++ b/plugins/mod_tls.lua @@ -7,6 +7,7 @@ -- local create_context = require "core.certmanager".create_context; +local rawgetopt = require"core.configmanager".rawget; local st = require "util.stanza"; local c2s_require_encryption = module:get_option("c2s_require_encryption", module:get_option("require_encryption")); @@ -36,19 +37,20 @@ local ssl_ctx_c2s, ssl_ctx_s2sout, ssl_ctx_s2sin; local ssl_cfg_c2s, ssl_cfg_s2sout, ssl_cfg_s2sin; do local NULL, err = {}; - local global = module:context("*"); - local parent = module:context(module.host:match("%.(.*)$")); + local modhost = module.host; + local parent = modhost:match("%.(.*)$"); - local parent_ssl = parent:get_option("ssl"); - local host_ssl = module:get_option("ssl", parent_ssl); + local global_ssl = rawgetopt("*", "ssl") or NULL; + local parent_ssl = rawgetopt(parent, "ssl") or NULL; + local host_ssl = rawgetopt(modhost, "ssl") or parent_ssl; - local global_c2s = global:get_option("c2s_ssl", NULL); - local parent_c2s = parent:get_option("c2s_ssl", NULL); - local host_c2s = module:get_option("c2s_ssl", parent_c2s); + local global_c2s = rawgetopt("*", "c2s_ssl") or NULL; + local parent_c2s = rawgetopt(parent, "c2s_ssl") or NULL; + local host_c2s = rawgetopt(modhost, "c2s_ssl") or parent_ssl; - local global_s2s = global:get_option("s2s_ssl", NULL); - local parent_s2s = parent:get_option("s2s_ssl", NULL); - local host_s2s = module:get_option("s2s_ssl", parent_s2s); + local global_s2s = rawgetopt("*", "s2s_ssl") or NULL; + local parent_s2s = rawgetopt(parent, "s2s_ssl") or NULL; + local host_s2s = rawgetopt(modhost, "s2s_ssl") or parent_ssl; ssl_ctx_c2s, err, ssl_cfg_c2s = create_context(host.host, "server", host_c2s, host_ssl, global_c2s); -- for incoming client connections if not ssl_ctx_c2s then module:log("error", "Error creating context for c2s: %s", err); end -- cgit v1.2.3 From 461b90b5b4e90f6af1ea42b3836cd4dbda979606 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 16 Sep 2015 15:16:51 +0200 Subject: mod_blocklist: Explicitly halt event propagation after returning a reply (send returns nil sometimes) --- plugins/mod_blocklist.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'plugins') 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 -- element does not contain at least one 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 -- cgit v1.2.3 From 32bb9cbee2e75029b69367ef3f0d3d76e5dd9f34 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 16 Sep 2015 15:18:30 +0200 Subject: mod_offline: Decrease priority of event handlers so 3rd party hooks fire first by default --- plugins/mod_offline.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins') diff --git a/plugins/mod_offline.lua b/plugins/mod_offline.lua index c168711b..08ab8490 100644 --- a/plugins/mod_offline.lua +++ b/plugins/mod_offline.lua @@ -30,7 +30,7 @@ module:hook("message/offline/handle", function(event) stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil; return result; -end); +end, -1); module:hook("message/offline/broadcast", function(event) local origin = event.origin; @@ -48,4 +48,4 @@ module:hook("message/offline/broadcast", function(event) end datamanager.list_store(node, host, "offline", nil); return true; -end); +end, -1); -- cgit v1.2.3