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

@ -160,6 +160,10 @@ impl Ircd {
{
// the default panic hook already logged the details to stderr
eprintln!("[core] recovered from a panicking event handler; continuing");
// a panic mid-handler can leave transient per-command state set;
// clear it so it doesn't corrupt the next command
self.server.label_capture.borrow_mut().take();
self.server.mode_sudo = false;
}
busy.store(0, Ordering::Relaxed);
let ms = start.elapsed().as_millis() as u64;