echo/modules
Jean 914c3874ce
nickserv: accept IDENTIFY [account] <password>
IDENTIFY now takes an optional leading account name, so logging into an
account whose name differs from your current nick works. Without it, the
account still defaults to the current nick as before.
2026-07-12 12:30:16 +00:00
..
chanserv chanserv: entrymsg, enforce, getkey, seen, clone, aop/sop/vop 2026-07-12 11:53:48 +00:00
nickserv nickserv: accept IDENTIFY [account] <password> 2026-07-12 12:30:16 +00:00
protocol chanserv: entrymsg, enforce, getkey, seen, clone, aop/sop/vop 2026-07-12 11:53:48 +00:00
README.md Move the ChanServ MODE command into modules/chanserv/mode.rs 2026-07-12 10:46:27 +00:00

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.