diff options
author | Matthew Wild <mwild1@gmail.com> | 2015-12-10 18:58:30 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2015-12-10 18:58:30 +0000 |
commit | a6215475087bab66b80db99e23a530f5652d69d4 (patch) | |
tree | 6abe7e628961f73a7f0a5b15d5715ded3345a77a /core/usermanager.lua | |
parent | dd37beeff9f229dee36da04d625d5200b69f945c (diff) | |
parent | 7f8d1c0995b51435b4d6a4f5c7a5d5ed7ab5d8e2 (diff) | |
download | prosody-a6215475087bab66b80db99e23a530f5652d69d4.tar.gz prosody-a6215475087bab66b80db99e23a530f5652d69d4.zip |
Merge 0.10->trunk
Diffstat (limited to 'core/usermanager.lua')
-rw-r--r-- | core/usermanager.lua | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/core/usermanager.lua b/core/usermanager.lua index d874447d..0d8d7f91 100644 --- a/core/usermanager.lua +++ b/core/usermanager.lua @@ -111,7 +111,6 @@ local function is_admin(jid, host) if host and not hosts[host] then return false; end if type(jid) ~= "string" then return false; end - local is_admin; jid = jid_bare(jid); host = host or "*"; @@ -122,8 +121,7 @@ local function is_admin(jid, host) if type(host_admins) == "table" then for _,admin in ipairs(host_admins) do if jid_prep(admin) == jid then - is_admin = true; - break; + return true; end end elseif host_admins then @@ -131,12 +129,11 @@ local function is_admin(jid, host) end end - if not is_admin and global_admins then + if global_admins then if type(global_admins) == "table" then for _,admin in ipairs(global_admins) do if jid_prep(admin) == jid then - is_admin = true; - break; + return true; end end elseif global_admins then @@ -145,10 +142,10 @@ local function is_admin(jid, host) end -- Still not an admin, check with auth provider - if not is_admin and host ~= "*" and hosts[host].users and hosts[host].users.is_admin then - is_admin = hosts[host].users.is_admin(jid); + if host ~= "*" and hosts[host].users and hosts[host].users.is_admin then + return hosts[host].users.is_admin(jid); end - return is_admin or false; + return false; end return { |