diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-01-22 22:55:49 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-01-22 22:55:49 +0000 |
commit | 31c2d43e55f9cee309d9feeaca3ff53ceb66ceef (patch) | |
tree | acc1b9c5576f0ba21b56fd5b133a4a173798d042 /core/usermanager.lua | |
parent | 76628c7453e56d5e156214c142ca05f9908c0191 (diff) | |
parent | 8292f713bab8e71624f03111115bd3a97cf8dae9 (diff) | |
download | prosody-31c2d43e55f9cee309d9feeaca3ff53ceb66ceef.tar.gz prosody-31c2d43e55f9cee309d9feeaca3ff53ceb66ceef.zip |
Merge with trunk
Diffstat (limited to 'core/usermanager.lua')
-rw-r--r-- | core/usermanager.lua | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/core/usermanager.lua b/core/usermanager.lua index 0152afd7..9e5a016c 100644 --- a/core/usermanager.lua +++ b/core/usermanager.lua @@ -11,6 +11,7 @@ local log = require "util.logger".init("usermanager"); local type = type; local ipairs = ipairs; local jid_bare = require "util.jid".bare; +local jid_prep = require "util.jid".prep; local config = require "core.configmanager"; local hosts = hosts; local sasl_new = require "util.sasl".new; @@ -97,6 +98,7 @@ end 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); @@ -108,7 +110,7 @@ function is_admin(jid, host) if host_admins and host_admins ~= global_admins then if type(host_admins) == "table" then for _,admin in ipairs(host_admins) do - if admin == jid then + if jid_prep(admin) == jid then is_admin = true; break; end @@ -121,7 +123,7 @@ function is_admin(jid, host) if not is_admin and global_admins then if type(global_admins) == "table" then for _,admin in ipairs(global_admins) do - if admin == jid then + if jid_prep(admin) == jid then is_admin = true; break; end |