From 00ba30c1757ea37bf559b9008f6069e9c9040496 Mon Sep 17 00:00:00 2001 From: Jess Porter Date: Mon, 26 Sep 2022 19:50:11 +0100 Subject: [PATCH] Add oper:free_target (#374) Co-authored-by: Ed Kellett --- doc/reference.conf | 1 + modules/core/m_message.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/reference.conf b/doc/reference.conf index 4cd8c037..a91d9349 100644 --- a/doc/reference.conf +++ b/doc/reference.conf @@ -468,6 +468,7 @@ privset "local_op" { * oper:grant: allows using the GRANT command * usermode:servnotice: allows setting +s * oper:message: allows opers to bypass CALLERID (usermode +g) + * oper:free_target: messages to the oper bypass flood controls * * Privileges provided by extensions include: * diff --git a/modules/core/m_message.c b/modules/core/m_message.c index cebedeab..8825bbba 100644 --- a/modules/core/m_message.c +++ b/modules/core/m_message.c @@ -876,7 +876,7 @@ flood_attack_client(enum message_type msgtype, struct Client *source_p, struct C * and msg user@server. * -- jilles */ - if(GlobalSetOptions.floodcount && IsClient(source_p) && source_p != target_p && !IsService(target_p)) + if(GlobalSetOptions.floodcount && IsClient(source_p) && source_p != target_p && !IsService(target_p) && !HasPrivilege(target_p, "oper:free_target")) { if((target_p->first_received_message_time + 1) < rb_current_time()) {