echo/src/engine
Jean d99eb16dab
grpc: full account-authority write API (Register through UngroupNick)
A trusted caller can now do everything a user does through NickServ commands
— Register, Authenticate, SetPassword, SetEmail, Confirm, Drop, ForceLogout,
GroupNick, UngroupNick — over gRPC instead of IRC. Each mirrors its NickServ
command's exact behavior (Drop reuses the same cleanup a peer's gossiped drop
already triggers; SetPassword/Register derive credentials off the shared
engine lock, same as the IRC path) but is privileged: the bearer token is the
authorization, so most calls skip the account's own password check the IRC
command requires — the same trust model as an admin-level JSON-RPC
integration. A write commits locally and gossips to every other node exactly
like an IRC-originated one, no new propagation path needed.

Verified end-to-end over the real wire, not just unit tests: registered an
account via gRPC, changed its password via gRPC, then logged into a live
IRC session with that exact password.
2026-07-12 23:57:55 +00:00
..
db.rs grpc: directory replication API for websites to mirror accounts/channels 2026-07-12 23:10:21 +00:00
mod.rs grpc: full account-authority write API (Register through UngroupNick) 2026-07-12 23:57:55 +00:00
scram.rs Reorganize protocol and pseudoclients into a modules/ tree 2026-07-12 10:37:59 +00:00
service.rs email: HTML templates and multipart messages 2026-07-12 15:57:34 +00:00
state.rs chanserv: require channel-operator status to register 2026-07-12 13:57:29 +00:00