From 384f222a228f1fe020b2c39e6622675dd76bda42 Mon Sep 17 00:00:00 2001 From: Jean Date: Sun, 19 Jul 2026 04:49:31 +0000 Subject: [PATCH] Enforce cloned akicks with a standing +b for ircd-enforced masks --- modules/chanserv/src/clone.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/chanserv/src/clone.rs b/modules/chanserv/src/clone.rs index b993105..562f10c 100644 --- a/modules/chanserv/src/clone.rs +++ b/modules/chanserv/src/clone.rs @@ -22,6 +22,12 @@ pub fn handle(me: &str, from: &Sender, args: &[&str], ctx: &mut ServiceCtx, db: } for k in &sinfo.akick { let _ = db.akick_add(dest, &k.mask, &k.reason); + // Host-mask and passive-extban akicks are enforced only by a standing +b + // (echo can't match them itself); place it as AKICK ADD does, or the cloned + // entry sits inert on the target until someone runs ENFORCE. + if echo_api::ircd_enforced(&k.mask) { + ctx.channel_mode(me, dest, &format!("+b {}", k.mask)); + } } let _ = db.set_desc(dest, &sinfo.desc); let _ = db.set_entrymsg(dest, &sinfo.entrymsg);