View Issue Details

IDProjectCategoryView StatusLast Update
0001223unrealircdpublic2003-11-20 19:43
ReporterAngryWolf Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.2-beta17 
Summary0001223: TODO: make +f option to remove mode (+i/+m/+N) after some time
DescriptionI'ld like to ask for a little +f enhancement. I'm aware of that the new antiflood system is designed for big floods, however you could use it for small ones. In this viewpoint, my question is, if it's possible, can you make it so the ircd removes +i/+K/+N, etc. after a period of time when the flood is over? I mean a simple EventAdd. I could be useful when no channel operators are in the channel or they are away, and users can't join/knock/change nick while the corresponding flags are set. I understand if you say that bots should do this task, but doing this by the ircd is more efficient.
Additional Information[Syzop:]
Will add such an option in CVS & before beta19, probably within a few weeks... Syntax I'm currently thinking at is [30n#N5]:15 which means "remove after 5 minutes", I could make it seconds but it would be very unprecise because of timer issues

In the meantime for this kinds of problems there's services, if the channel gets +i/+R while no ops are in it you can use /msg chanserv invite #chan or similar commands.
3rd party modules

Activities

syzop

2003-08-31 14:38

administrator   ~0003541

yeah I've considered that too, but decided to not (yet) put that in.
Something which I probably will add next version is so you can set another chanmode, like +f [50j#R]:15 which will set +R instead of +i.
The format I thought of for time limit is [50j#i300]:15 (= unset i after 300s).

Anyway, why I didn't put this in?
1. I didn't want to make it even MORE complicated for the first time (both for users and for stability)
2. when I was thinking about it stskeeps told me that he didn't like such timers in the ircd code.
3. In my experience the flooders usually just come back

So I really don't know if this will be implemented.

I've at least designed the +f parameter parser so that it's possible to add anything like this in the future (upward compatible).

AngryWolf

2003-09-01 10:21

reporter   ~0003561

Yeah, I must agree, thanks for the reply!

AI

2003-09-01 13:27

reporter   ~0003562

I have been thinking about this too, I'm worried about channels accidently getting +i and +k or when it happens because of flood but there's no OPs around to remove the channel lock.
How about adding something to unrealircd.conf something like:

set {
    channel-flood-locktime "60";

Where 60 is the ammount of seconds a channel will be locked after the +f feature is triged?
Great work by the way syzop keep up the good work.

syzop

2003-09-24 19:47

administrator   ~0003712

** added on TODO / assigned **

syzop

2003-10-03 01:35

administrator   ~0003766

I'll implement this about 1 or 2 weeks (or maybe even earlier).

AngryWolf

2003-10-03 08:07

reporter   ~0003767

Thanks in advance.

syzop

2003-10-18 18:58

administrator   ~0003834

Well, I'm 1 day too late but it's added (.1954) :PP.
Paste from Changelog:
- Added remove-chanmode-after-X-minutes in +f.
  The format is +f [30j#R5]:15, where 5 is the "do -R after 5 minutes". For a default
  action like +i you would have to do the same: +f [30j#i5]:15 (remove 'i' after 5 minutes).
  Additionally, 2 config items are added:
  - set::modef-default-unsettime, if this is set to for example '5' then things like
    +f [30j]:15 will be transormed into +f [30j#i5]:15. It's just a default, the user can still
    override it. By default this feature is not used.
  - set::modef-max-unsettime, specifies the maximum amount of time for the <time> parameter,
    by default this is set to 60 (=1 hour), the value should be between 0 and 255.
  I didn't do the extended tests I usually do but it seems stable, also the docs are updated
  but are probably updated again later to make it a bit more readable.
  Feel free to report any bugs as soon as you discover them.
  The only thing I could think of is: _usually_ only 1 server will have the -i/-R/.. timer
  running, so if that server splits (or even worse dies) it will only be -i/-R/.. at that server
  and when they sync back they merge chanmodes so +i/+R is set again.
  I don't consider this a huge problem but maybe it can be inconveniently, if people have
  a lot of trouble with this I'll have to consider a 50% recode of the +f system :/.

Issue History

Date Modified Username Field Change
2003-08-31 09:56 AngryWolf New Issue
2003-08-31 14:38 syzop Note Added: 0003541
2003-09-01 10:21 AngryWolf Note Added: 0003561
2003-09-01 13:27 AI Note Added: 0003562
2003-09-24 19:46 syzop Assigned To => syzop
2003-09-24 19:47 syzop Status new => assigned
2003-09-24 19:47 syzop ETA none => < 1 month
2003-09-24 19:47 syzop Summary +f enhancement => TODO: make +f option to remove mode (+i/+m/+N) after some time
2003-09-24 19:47 syzop Additional Information Updated
2003-09-24 19:47 syzop Note Added: 0003712
2003-10-03 01:35 syzop Note Added: 0003766
2003-10-03 08:07 AngryWolf Note Added: 0003767
2003-10-18 18:58 syzop Status assigned => resolved
2003-10-18 18:58 syzop Resolution open => fixed
2003-10-18 18:58 syzop Note Added: 0003834
2003-11-20 19:43 syzop Status resolved => closed