harden: fix reachable panics (parse_duration/parse_iso/dechunk char-boundary+overflow), s2s netburst key/limit loss, rpc set_nick/set_vhost/notice injection, webirc rehash reload, panic-state reset, ws line cap, remote nick collision, per-conn state leaks

This commit is contained in:
Jean Chevronnet 2026-08-15 15:02:36 +00:00
parent 3fa9737ccb
commit e935ee7002
12 changed files with 87 additions and 11 deletions

View file

@ -62,6 +62,11 @@ impl Module for CloudflareChallenge {
fn name(&self) -> &'static str {
"cloudflare_challenge"
}
fn on_user_quit(&mut self, s: &mut Server, uid: Uid, _reason: &str) {
if let Some(p) = s.ext.get_mut::<Passed>() {
p.0.remove(&uid);
}
}
fn on_user_register(&mut self, srv: &mut Server, uid: Uid) -> ModResult {
if !enabled(srv) || srv.is_oper(uid) {