diff options
author | Kim Alvefur <zash@zash.se> | 2018-11-09 23:15:37 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-11-09 23:15:37 +0100 |
commit | a9c5f66e07ad7a880262140bd3dc5d3966455a26 (patch) | |
tree | dd5729ed6e497941df021ad7d9f2f66af1e80ea8 | |
parent | ac7682bc92fdd4b7f6ff3a323659dabb649c1afd (diff) | |
parent | 60aa42033a2f87013638a7318fb1ea8997e074a2 (diff) | |
download | prosody-a9c5f66e07ad7a880262140bd3dc5d3966455a26.tar.gz prosody-a9c5f66e07ad7a880262140bd3dc5d3966455a26.zip |
Merge 0.11->trunk
-rw-r--r-- | net/http.lua | 8 | ||||
-rw-r--r-- | plugins/muc/muc.lib.lua | 4 |
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); |