add +k servprotect umode (server-set-only, advertised in 004/umodes): blocks KILL, KICK and SA* on a network service; tracked for remote services too

This commit is contained in:
Jean Chevronnet 2026-08-16 03:00:25 +00:00
parent 91022cffe8
commit b7600ee5aa
5 changed files with 69 additions and 1 deletions

View file

@ -28,6 +28,7 @@ pub fn svs_set_user_modes(s: &mut Server, tuid: Uid, modestring: &str) {
let mut sign = '+';
let mut applied = String::new();
let mut last = ' ';
s.mode_sudo = true; // services authority — allows server-only modes like +k
for c in modestring.chars() {
if c == '+' || c == '-' {
sign = c;
@ -40,6 +41,7 @@ pub fn svs_set_user_modes(s: &mut Server, tuid: Uid, modestring: &str) {
}
}
}
s.mode_sudo = false;
if !applied.is_empty() {
let nick = s
.users