View Issue Details

IDProjectCategoryView StatusLast Update
0006390unrealircdpublic2024-03-07 17:03
ReporterPeGaSuS Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
PlatformLinuxOSUbuntuOS Version22.04
Product Version6.1.4 
Summary0006390: OS FORBID issue with expiration time and SQLINE
DescriptionWhen using '/OS forbid add chan +5m #testchan Testing' I'm seeing some weird behaviour:

1. The expiry time isn't respected
2. If a user tries to join the forbidden channel, it is added to UnrealIRCd SQLINE (/stats Q) list and it stays there indefinitely, stopping users from joining even if the forbid already expired
3. The only way to remove the channel from UnrealIRCd SQLINE list is to add it with /os sqline add #testchan Testing followed by /os sqline del #testchan

Now, the main issue is: who's at fault? Anope, UnrealIRCd or both?
Steps To Reproduce1. Add a channel to the forbid list with /os forbid add chan +5m #testchan Testing
2. It should expire after 5 minutes, but it doesn't
3. Try to join the forbidden channel. You'll be kicked with the forbid reason and channel will be added to UnrealIRCd SQLINE list and will remain there even if the forbid expires
4. The only way to remove the channel from UnrealIRCd SQLINE list is to use /os sqline add #testchan Testing followed by /os sqline del #testchan
TagsNo tags attached.
3rd party modules

Activities

PeGaSuS

2024-03-06 01:28

reporter   ~0023146

Since I was unsure of who's at fault, I've also reported the issue to Anope on https://github.com/anope/anope/issues/374

syzop

2024-03-07 17:02

administrator   ~0023147

04:41 < alice> if it's sending a sqline, then i think it's an issue in the unreal protocol module;
               https://github.com/anope/anope/blob/9649dc78a1de477eae07084a737fd54841671867/modules/protocol/unreal.cpp#L193
04:41 < alice> oh bah, wrong protocol module
04:41 < alice> same thing in https://github.com/anope/anope/blob/9649dc78a1de477eae07084a737fd54841671867/modules/protocol/unreal4.cpp#L199 though
04:44 < alice> XLine appears to contain the TS it wants it to expire in, and... yeah, anope doesn't actually let Unreal know that, so... yeah.

syzop

2024-03-07 17:03

administrator   ~0023148

Yeah it's anope, I suggest to change the code at anope from using SQLINE to TKL

Issue History

Date Modified Username Field Change
2024-03-06 01:27 PeGaSuS New Issue
2024-03-06 01:28 PeGaSuS Note Added: 0023146
2024-03-07 17:02 syzop Note Added: 0023147
2024-03-07 17:03 syzop Assigned To => syzop
2024-03-07 17:03 syzop Status new => closed
2024-03-07 17:03 syzop Resolution open => no change required
2024-03-07 17:03 syzop Note Added: 0023148