NickServ: add SET KILL to toggle nick protection
Nick protection was unconditional. SET KILL OFF lets an account opt out — an unidentified user keeping one of its nicks is no longer prompted or renamed to a guest. Stored inverted (no_protect) so protection stays the default. Accepts Anope's ON/QUICK/IMMED/OFF; grace is a fixed interval here, so the finer variants simply enable protection like ON.
This commit is contained in:
parent
87e21ff85f
commit
2c4bc9079c
11 changed files with 106 additions and 9 deletions
|
|
@ -579,6 +579,9 @@ impl Engine {
|
|||
if self.network.account_of(uid) == Some(account.as_str()) {
|
||||
return Vec::new(); // already identified to it
|
||||
}
|
||||
if !self.db.account_wants_protect(&account) {
|
||||
return Vec::new(); // owner turned nick protection off (SET KILL OFF)
|
||||
}
|
||||
let Some(ns) = self.nick_service.clone() else { return Vec::new() };
|
||||
let deadline = self.now_secs() + ENFORCE_GRACE;
|
||||
self.pending_enforce.retain(|p| p.uid != uid);
|
||||
|
|
@ -1180,7 +1183,7 @@ fn audit_summary(event: &db::Event) -> Option<String> {
|
|||
format!("{verb} channel \x02{channel}\x02 against expiry")
|
||||
}
|
||||
// Private, self-service, or cosmetic — not surfaced.
|
||||
AjoinAdded { .. } | AjoinRemoved { .. } | AccountGreetSet { .. } | AccountAutoOpSet { .. } | VhostRequested { .. }
|
||||
AjoinAdded { .. } | AjoinRemoved { .. } | AccountGreetSet { .. } | AccountAutoOpSet { .. } | AccountKillSet { .. } | VhostRequested { .. }
|
||||
| VhostRequestCleared { .. } | MemoSent { .. } | MemoRead { .. } | MemoDeleted { .. }
|
||||
| MemoIgnoreAdd { .. } | MemoIgnoreDel { .. } | MemoPrefsSet { .. }
|
||||
| ChannelMlock { .. } | ChannelDescSet { .. } | ChannelEntryMsgSet { .. } | ChannelSettingsSet { .. }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue