echo/src/engine
Jean ca95184359
BotServ BADWORDS: user-configurable regex kicker
BADWORDS <#channel> ADD|DEL|LIST|CLEAR manages a channel's badword
patterns, each a regular expression, so a channel matches whatever it
wants — an improvement over Anope's fixed ANY/SINGLE/START/END. Enable
with KICK <#channel> BADWORDS ON.

Uses the regex crate: it's finite-automata based with linear-time
matching, so untrusted user patterns can't cause catastrophic
backtracking (ReDoS). A channel's patterns compile into one RegexSet
(single-pass match against all of them), cached in the engine and rebuilt
only when the list's revision changes — so the hot path is one is_match
call, no per-message compilation or allocation. Patterns are validated
(and size-limited) at add time; matching is case-insensitive by default.
2026-07-13 16:16:44 +00:00
..
db.rs BotServ BADWORDS: user-configurable regex kicker 2026-07-13 16:16:44 +00:00
mod.rs BotServ BADWORDS: user-configurable regex kicker 2026-07-13 16:16:44 +00:00
scram.rs Reorganize protocol and pseudoclients into a modules/ tree 2026-07-12 10:37:59 +00:00
service.rs modules: capability-scoped Store/NetView boundary (Tier 2) 2026-07-13 01:04:07 +00:00
state.rs BotServ: add SAY and ACT 2026-07-13 14:15:20 +00:00