Software /
code /
prosody
File
net/resolvers/manual.lua @ 12994:5625da6ae6b6
moduleapi: may: Fail early if a local session has no role assigned
We expect every session to explicitly have a role assigned. Falling back to
any kind of "default" role (even the user's default role) in the absence of
an explicit role could open up the possibility of accidental privilege
escalation.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 25 Mar 2023 19:38:41 +0000 |
parent | 12589:39ae08180c81 |
line wrap: on
line source
local methods = {}; local resolver_mt = { __index = methods }; local unpack = table.unpack; -- Find the next target to connect to, and -- pass it to cb() function methods:next(cb) if #self.targets == 0 then cb(nil); return; end local next_target = table.remove(self.targets, 1); cb(unpack(next_target, 1, 4)); end local function new(targets, conn_type, extra) return setmetatable({ conn_type = conn_type; extra = extra; targets = targets or {}; }, resolver_mt); end return { new = new; };