When a peer's registration wins a name a local session was logged into, that session authenticated against a credential that no longer exists. The node now clears its accountname (the ircd emits RPL_LOGGEDOUT) and tells the user why. A new outbound channel lets the engine push these services-initiated actions to the uplink from the gossip path, drained by the link loop alongside incoming traffic. |
||
|---|---|---|
| .. | ||
| chanserv | ||
| nickserv | ||
| protocol | ||
| README.md | ||
modules/
The pluggable parts of fedserv: one directory per protocol and per pseudoclient.
The core (engine, event log, gossip, link loop) stays in ../src/.
modules/
protocol/ ircd link protocols (inspircd.rs)
nickserv/ NickServ pseudoclient
chanserv/ ChanServ pseudoclient
src/main.rs pulls each in with #[path = "../modules/..."], so crate paths
stay flat (crate::proto, crate::nickserv, crate::chanserv).
Naming
A service directory holds its pseudoclient file plus, as commands are split out,
one file per command: register.rs, mode.rs, etc.