Software /
code /
prosody
File
plugins/mod_authz_internal.lua @ 11622:a62146353528
mod_c2s: Guard against LuaSec not returning TLS info (thanks Martin)
The :info() method has been observed to return nothing ... sometimes.
Unclear what causes it. Perhaps the TLS connection was shut down or
hasn't fully settled?
The LuaSec code has code paths that return nothing or nil, error, so it
is best to guard against it.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 21 Jun 2021 13:36:05 +0200 |
parent | 11474:8fba807e5256 |
child | 11745:3a2d58a39872 |
line wrap: on
line source
local normalize = require "util.jid".prep; local admin_jids = module:get_option_inherited_set("admins", {}) / normalize; local host = module.host; local role_store = module:open_store("roles"); local admin_role = { ["prosody:admin"] = true }; function get_user_roles(user) if admin_jids:contains(user.."@"..host) then return admin_role; end return role_store:get(user); end function set_user_roles(user, roles) role_store:set(user, roles) return true; end function get_jid_roles(jid) if admin_jids:contains(jid) then return admin_role; end return nil; end function set_jid_roles(jid) -- luacheck: ignore 212 return false; end