aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-11-09 23:15:37 +0100
committerKim Alvefur <zash@zash.se>2018-11-09 23:15:37 +0100
commitd547a7d15cab7ede8821221b2b09edc293b40cde (patch)
treedd5729ed6e497941df021ad7d9f2f66af1e80ea8
parentef25fe98b2c605335e9f31e363eb49a832ca9f48 (diff)
parent4dcb48996d0d6a3db3755d800fd0ec2b5b2d833a (diff)
downloadprosody-d547a7d15cab7ede8821221b2b09edc293b40cde.tar.gz
prosody-d547a7d15cab7ede8821221b2b09edc293b40cde.zip
Merge 0.11->trunk
-rw-r--r--net/http.lua8
-rw-r--r--plugins/muc/muc.lib.lua4
2 files changed, 8 insertions, 4 deletions
diff --git a/net/http.lua b/net/http.lua
index b401b040..fe5250ac 100644
--- a/net/http.lua
+++ b/net/http.lua
@@ -24,7 +24,6 @@ local tonumber, tostring, traceback =
tonumber, tostring, debug.traceback;
local xpcall = require "util.xpcall".xpcall;
local error = error
-local setmetatable = setmetatable;
local log = require "util.logger".init("http");
@@ -273,7 +272,12 @@ local function new(options)
options = options;
request = request;
new = options and function (new_options)
- return new(setmetatable(new_options, { __index = options }));
+ local final_options = {};
+ for k, v in pairs(options) do final_options[k] = v; end
+ if new_options then
+ for k, v in pairs(new_options) do final_options[k] = v; end
+ end
+ return new(final_options);
end or new;
events = events.new();
};
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 65f339ed..4060535a 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -969,8 +969,8 @@ function room_mt:handle_admin_query_get_command(origin, stanza)
-- You need to be at least an admin, and be requesting info about your affifiliation or lower
-- e.g. an admin can't ask for a list of owners
local affiliation_rank = valid_affiliations[affiliation or "none"];
- if affiliation_rank >= valid_affiliations.admin and affiliation_rank >= _aff_rank
- or self:get_members_only() and self:get_whois() == "anyone" and affiliation_rank >= valid_affiliations.member then
+ if (affiliation_rank >= valid_affiliations.admin and affiliation_rank >= _aff_rank)
+ or (self:get_whois() == "anyone") then
local reply = st.reply(stanza):query("http://jabber.org/protocol/muc#admin");
for jid in self:each_affiliation(_aff or "none") do
local nick = self:get_registered_nick(jid);