Software / code / prosody
File
teal-src/util/set.d.tl @ 12659:c0eea4f6c739
usermanager: Add back temporary is_admin to warn about deprecated API usage
Goal: Introduce role-auth with minimal disruption
is_admin() is unsafe in a system with per-session permissions, so it has been
deprecated.
Roll-out approach:
1) First, log a warning when is_admin() is used. It should continue to
function normally, backed by the new role API. Nothing is really using
per-session authz yet, so there is minimal security concern.
The 'strict_deprecate_is_admin' global setting can be set to 'true' to
force a hard failure of is_admin() attempts (it will log an error and
always return false).
2) In some time (at least 1 week), but possibly longer depending on the number
of affected deployments: switch 'strict_deprecate_is_admin' to 'true' by
default. It can still be disabled for systems that need it.
3) Further in the future, before the next release, the option will be removed
and is_admin() will be permanently disabled.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 15 Aug 2022 15:25:07 +0100 |
| parent | 12617:36d77cc56ecb |
line wrap: on
line source
local record lib record Set<T> add : function<T> (Set<T>, T) contains : function<T> (Set<T>, T) : boolean contains_set : function<T> (Set<T>, Set<T>) : boolean items : function<T> (Set<T>) : function<T> (Set<T>, T) : T add_list : function<T> (Set<T>, { T }) include : function<T> (Set<T>, Set<T>) exclude : function<T> (Set<T>, Set<T>) empty : function<T> (Set<T>) : boolean end new : function<T> ({ T }) : Set<T> is_set : function (any) : boolean union : function<T> (Set<T>, Set<T>) : Set <T> difference : function<T> (Set<T>, Set<T>) : Set <T> intersection : function<T> (Set<T>, Set<T>) : Set <T> xor : function<T> (Set<T>, Set<T>) : Set <T> end return lib