engine: services-operator privilege foundation
A typed Priv enum (Auspex/Suspend/Admin) and a Copy Privs bitset carried on Sender, instead of Anope's stringly-typed privilege namespace and its two separate gating mechanisms. Opers are declared in TOML ([[oper]] account + privs); the engine loads them and resolves the sender's privileges per command, so a module just checks from.privs.has(Priv::X). First use: NickServ INFO reveals hidden fields to an auspex oper. Unblocks SUSPEND, admin LIST, SASET, GETEMAIL. Priv bitset test + end-to-end auspex engine test.
This commit is contained in:
parent
4600ee062c
commit
f1415bedb2
6 changed files with 139 additions and 6 deletions
|
|
@ -40,3 +40,10 @@ protocol = 1206 # InspIRCd link protocol version (1206 = insp4, 1205
|
|||
# ChanServ. Add "example" to also start the example template service.
|
||||
# [modules]
|
||||
# services = ["nickserv", "chanserv"]
|
||||
|
||||
# Services operators: accounts granted privileges. Omit for a network with no
|
||||
# opers. Privileges: "auspex" (see others' hidden info), "suspend"
|
||||
# (suspend/unsuspend), "admin" (modify or drop other accounts/channels).
|
||||
# [[oper]]
|
||||
# account = "yournick"
|
||||
# privs = ["auspex", "suspend", "admin"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue