protocol: verify echos pseudoclients request servprotect (+k, by name from CAPAB USERMODES) so they cannot be killed by operators; warn if service_modes lacks it
All checks were successful
CI / check (push) Successful in 3m45s

This commit is contained in:
Jean Chevronnet 2026-07-18 02:38:32 +00:00
parent 2f70b0c133
commit c64c3820a7
No known key found for this signature in database
3 changed files with 44 additions and 0 deletions

View file

@ -77,6 +77,10 @@ pub enum NetEvent {
ModulesAvailable { modules: Vec<String> },
// `CAPAB END` — the module lists are complete; verify dependencies now.
CapabEnd,
// The ircd's `servprotect` user mode (from CAPAB USERMODES) and whether echo's
// configured service_modes request it — a services pseudoclient without it can
// be killed/hijacked by an operator.
ServProtect { letter: char, requested: bool },
// A server split away (SQUIT). `server` is its SID; every user behind it — and
// behind any server in its subtree — is gone, since a split is signalled once
// rather than as a QUIT per user.