protocol: verify echo ircd module dependencies from CAPAB MODULES at link, warning per-feature if one is missing rather than failing silently
All checks were successful
CI / check (push) Successful in 3m49s

This commit is contained in:
Jean Chevronnet 2026-07-18 02:22:43 +00:00
parent 0ca06247f8
commit 2f70b0c133
No known key found for this signature in database
4 changed files with 97 additions and 0 deletions

View file

@ -72,6 +72,11 @@ pub enum NetEvent {
// The ircd's `CASEMAPPING` from its `CAPAB CAPABILITIES` burst. echo folds
// identifiers as ascii, so it verifies this matches and warns otherwise.
Casemapping { name: String },
// Module names the ircd advertises (`CAPAB MODULES` / `MODSUPPORT`), normalized
// (no `m_`/`.so`/`=data`). Accumulated to verify echo's dependencies.
ModulesAvailable { modules: Vec<String> },
// `CAPAB END` — the module lists are complete; verify dependencies now.
CapabEnd,
// 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.