echo/src/engine
Jean 2f9790feac
All checks were successful
CI / check (push) Successful in 3m47s
auth: offload IDENTIFY + SASL PLAIN verify off the engine lock
Both ran scram verify_plain (~1s PBKDF2 at 1.2M iters) inline under the engine
lock, freezing the whole daemon per login. Add NetAction::DeferAuthenticate +
AuthThen continuation + ctx.defer_authenticate, mirroring DeferPassword: the
module/SASL path fetches the verifier cheaply and defers; the link layer runs
verify_plain on spawn_blocking, then Engine::complete_authenticate finishes the
login (IDENTIFY reuses the same ctx helpers, so its login/AJOIN/vhost/memo
side-effects are unchanged). Tests resolve the defer inline (cfg(test)). The
gRPC web-login path was already fixed; no login path stalls services now.
(GHOST/DROP/CERT/GROUP still verify inline but are rare account ops, not logins.)
2026-07-16 19:04:18 +00:00
..
db auth: offload IDENTIFY + SASL PLAIN verify off the engine lock 2026-07-16 19:04:18 +00:00
dispatch.rs Reorganise the engine into a concern-split module tree 2026-07-14 14:05:56 +00:00
kicker.rs Reorganise the engine into a concern-split module tree 2026-07-14 14:05:56 +00:00
mod.rs auth: offload IDENTIFY + SASL PLAIN verify off the engine lock 2026-07-16 19:04:18 +00:00
register.rs auth: offload IDENTIFY + SASL PLAIN verify off the engine lock 2026-07-16 19:04:18 +00:00
sasl.rs auth: offload IDENTIFY + SASL PLAIN verify off the engine lock 2026-07-16 19:04:18 +00:00
scram.rs Make the SCRAM verifier the sole password credential; finish the account-registration relay 2026-07-15 15:47:41 +00:00
service.rs Rename the project to Echo (was fedserv) 2026-07-14 15:24:41 +00:00
state.rs statserv: persist per-channel activity across restart too 2026-07-16 17:50:11 +00:00
tests.rs chanserv: PEACE never blocks acting on yourself (self-deop) 2026-07-16 17:59:00 +00:00