View Issue Details

IDProjectCategoryView StatusLast Update
0006032unrealircdpublic2021-12-22 17:00
Reporterarmyn Assigned Tosyzop  
Status resolvedResolutionfixed 
Product Version6.0.0 
Fixed in Version6.0.1 
Summary0006032: Timed extended bans do not get removed
DescriptionSee the steps for (maybe reproduce this problem). This problem happened once when stopping unrealircd and restarting for the first time
Steps To Reproduce1) UnrealIRCd is currently running
2) Put a channel mode like: +b ~time:60:*!* and at the next restart of unrealircd it will be saved but it will never remove this ban even after 60 minutes

I have not done any other test, I just report here, but I do not know if it is a coincidence or my client or etc
TagsNo tags attached.
3rd party modules



2021-12-21 19:11

administrator   ~0022272

Looking at the code, I think it's a more serious bug: I don't think timed bans will get removed at all if all servers are on UnrealIRCd 6.

(This is unrelated to channel.db)


2021-12-21 19:17

administrator   ~0022273

The fix will be easy, I will give it to you tomorrow, it will not require an ircd restart. I have been working behind a screen for 12hrs now so not today :D.


2021-12-21 19:19

reporter   ~0022274

Syzop ok thank


2021-12-22 10:05

administrator   ~0022275

Thanks for brining it up. I have patched several issues by now, the one you reported is this one:
commit 0b6a70368cc75981884bacb567ed1cc1fcf2ea22
Author: Bram Matthys <[email protected]>
Date:   Wed Dec 22 09:10:05 2021 +0100

    Fix timed bans (~t/~time) not expiring if all servers on the net are U6.
    Reported by armyn in

After that I discovered more issues:
commit c586c14b9f278a4e13389dc4bbbe7be09be42543 (HEAD -> unreal60_dev, origin/unreal60_dev)
Author: Bram Matthys <[email protected]>
Date:   Wed Dec 22 09:25:59 2021 +0100

    Fix ~T / ~text ban not working (was not censoring or blocking)

commit 8dd1864cee8931c40cda8006b7290e9b358cb3b8
Author: Bram Matthys <[email protected]>
Date:   Wed Dec 22 09:10:51 2021 +0100

    Channel mode +f (flood) could place a timed extban with ~t instead of ~time.
    This was only a visual issue, and coincidently these bans were still being
    removed after the appropriate time, even without the fix for


2021-12-22 10:09

administrator   ~0022276

I'm thinking of putting out a or 6.0.1 by the end of the week. So far all the fixes are in modules (except one unimportant one dealing with the year 9999). These can all be hot patched, no restart needed.
So I can bring out a hot-patch for those existing 6.0.0 users.

Also, good to know (also mentioned above): the +f mode set old-style timed bans with ~t:xx:yyy and these were still correctly removed in 6.0.0. So it only affects bans someone manually added through MODE #channel +b (which always get converted to ~time).


2021-12-22 16:31

administrator   ~0022277

Last edited: 2021-12-22 16:32

I will look at releasing a hot-patch later, if needed.

I suggest to update to latest git if you need the fixes

Or if you really need to fix without restart then you can do something like this:
cd /home/syzop/unrealircd-6.0.0
curl -o- | patch -p1
make install
./unrealircd rehash


2021-12-22 17:00

administrator   ~0022278

Since this issue is resolved, it can be closed :)

Thanks again for the report.

Also, I have added a buildbot test for testing ~time bans, to see if a timed ban with expiry 1 indeed gets removed after 1 minute. So this is now tested after every unrealircd commit to make sure this issue does not happen again. (Same for testing ~text, which i also found a bug in)

Issue History

Date Modified Username Field Change
2021-12-21 19:06 armyn New Issue
2021-12-21 19:11 syzop Note Added: 0022272
2021-12-21 19:17 syzop Note Added: 0022273
2021-12-21 19:19 armyn Note Added: 0022274
2021-12-22 10:00 syzop Summary Problem with channel.db => Timed extended bans do not get removed
2021-12-22 10:05 syzop Note Added: 0022275
2021-12-22 10:09 syzop Note Added: 0022276
2021-12-22 16:31 syzop Note Added: 0022277
2021-12-22 16:32 syzop Note Edited: 0022277
2021-12-22 17:00 syzop Assigned To => syzop
2021-12-22 17:00 syzop Status new => resolved
2021-12-22 17:00 syzop Resolution open => fixed
2021-12-22 17:00 syzop Fixed in Version => 6.0.1
2021-12-22 17:00 syzop Note Added: 0022278