Mercurial > prosody-hg
comparison core/usermanager.lua @ 890:5b8da51b0843
usermanager: Added is_admin(jid)
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Sun, 08 Mar 2009 03:46:44 +0500 |
| parents | 90ce865eebd8 |
| children | 2c0b9e3c11c3 |
comparison
equal
deleted
inserted
replaced
| 889:bb959588bbc4 | 890:5b8da51b0843 |
|---|---|
| 9 | 9 |
| 10 | 10 |
| 11 require "util.datamanager" | 11 require "util.datamanager" |
| 12 local datamanager = datamanager; | 12 local datamanager = datamanager; |
| 13 local log = require "util.logger".init("usermanager"); | 13 local log = require "util.logger".init("usermanager"); |
| 14 local type = type; | |
| 14 local error = error; | 15 local error = error; |
| 16 local ipairs = ipairs; | |
| 15 local hashes = require "util.hashes"; | 17 local hashes = require "util.hashes"; |
| 18 local jid_bare = require "util.jid".bare; | |
| 19 local config = require "core.configmanager"; | |
| 16 | 20 |
| 17 module "usermanager" | 21 module "usermanager" |
| 18 | 22 |
| 19 function validate_credentials(host, username, password, method) | 23 function validate_credentials(host, username, password, method) |
| 20 log("debug", "User '%s' is being validated", username); | 24 log("debug", "User '%s' is being validated", username); |
| 57 local methods = {["PLAIN"] = true}; -- TODO this should be taken from the config | 61 local methods = {["PLAIN"] = true}; -- TODO this should be taken from the config |
| 58 methods["DIGEST-MD5"] = true; | 62 methods["DIGEST-MD5"] = true; |
| 59 return methods; | 63 return methods; |
| 60 end | 64 end |
| 61 | 65 |
| 66 function is_admin(jid) | |
| 67 local admins = config.get("*", "core", "admins") or {}; | |
| 68 if type(admins) == "table" then | |
| 69 jid = jid_bare(jid); | |
| 70 for _,admin in ipairs(admins) do | |
| 71 if admin == jid then return true; end | |
| 72 end | |
| 73 else log("debug", "Option core.admins is not a table"); end | |
| 74 return nil; | |
| 75 end | |
| 76 | |
| 62 return _M; | 77 return _M; |
