View Issue Details

IDProjectCategoryView StatusLast Update
0006477unrealircdpublic2026-06-12 17:44
Reporterwestid Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version6.1.8.1 
Fixed in Version6.2.6 
Summary0006477: Count "flood-blocked" messages and make counter available in security group
DescriptionDear Unrealircd Team

Sorry if this is the incorrect place to make a feature request

My request is about the flooding control. What I propose is there is a session-only score that tells the IRCd how many (flood-blocked) has happened because of something that user has tried to do, that can be used as part of the criteria for a security group

I currently have a script that reads server notices but if this was available at the config level it could be part of a useful measure building on the existing features like max-concurrent-conversations
Steps To ReproduceIt's far more complicated that needs to be and because it's client-side I don't think it would be useful to paste on here
Additional InformationIf flood-blocked only happens once or twice, it will contrast quite well with some knobhead and their python script
3rd party modules

Activities

syzop

2025-07-31 16:03

administrator   ~0023463

Yeah that would be fine for all regular ones, eg via flood_limit_exceeded_log(). Only exception would be targetfloodprot, because with target flood protection the sender may be doing nothing bad. But in all the other flood cases (away, nick, etc etc)... yes.

syzop

2025-07-31 16:06

administrator   ~0023464

Oh and this would be an enhancement in crules, so it would work in both security-group::rule and spamfilter::rule.

syzop

2026-06-11 19:41

administrator   ~0023678

Bump for myself

syzop

2026-06-12 17:44

administrator   ~0023684

This is now done, thanks for the suggestion!

Commit https://github.com/unrealircd/unrealircd/commit/4384f1127bca370f69d0dba03c0fe278a35d295e
* New [crule function](https://www.unrealircd.org/docs/Crule) that return
  the number of times a flood was blocked for that user. For example,
  `server_flood_count('away')` returns the number of time away-flood
  was exceeded. Aslo available: `nick`, `join`, `invite`, `knock`,
  `vhost` and `conversations`. Plus, there is `all` for a total of all.
  * This can be used in a security-group::rule or spamfilter::rule.
    Eg: `spamfilter { rule "server_flood_count('nick')>4"; action gline; }`

Issue History

Date Modified Username Field Change
2024-10-18 21:22 westid New Issue
2025-07-31 16:02 syzop Status new => acknowledged
2025-07-31 16:02 syzop Summary [feature request] => Count "flood-blocked" messages and make counter available in security group
2025-07-31 16:03 syzop Note Added: 0023463
2025-07-31 16:06 syzop Note Added: 0023464
2026-06-11 19:41 syzop Note Added: 0023678
2026-06-12 08:30 syzop Assigned To => syzop
2026-06-12 08:30 syzop Status acknowledged => assigned
2026-06-12 17:44 syzop Status assigned => resolved
2026-06-12 17:44 syzop Resolution open => fixed
2026-06-12 17:44 syzop Fixed in Version => 6.2.6
2026-06-12 17:44 syzop Note Added: 0023684