View Issue Details

IDProjectCategoryView StatusLast Update
0006104unrealircdpublic2023-03-20 10:56
Reporterwestor Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version6.0.3 
Fixed in Version6.0.7 
Summary0006104: UnrealIRCD doesn't sends CAP DEL on module unload
DescriptionHello,

I tried to unload modules that had CAPS set before on their load and i saw that unrealircd doesn't send CAP DEL to inform the clients that this CAP is no longer available.

I tried both third/metadata and extended-monitor and none send anything.

- Thanks!
Steps To Reproduce1. Load extended-monitor module
2. Unload extended-monitor module
3. Check client raw logs that server didn't send any CAP DEL information, here it should have send "CAP NICKNAME NEW :draft/extended-monitor"
TagsNo tags attached.
3rd party modules

Activities

westor

2022-05-18 11:45

reporter   ~0022487

If i'm not wrong, seems the issue is somewhere between:

1. https://github.com/unrealircd/unrealircd/blob/unreal60_dev/src/api-clicap.c#L324
2. https://github.com/unrealircd/unrealircd/blob/unreal60_dev/src/send.c#L776

syzop

2023-03-20 10:56

administrator   ~0022798

Thanks for testing and the report, fixed now :)

https://github.com/unrealircd/unrealircd/commit/8a48cfb664787c7d530887469cdfe9e401361c57

commit 8a48cfb664787c7d530887469cdfe9e401361c57 (HEAD -> unreal60_dev, origin/unreal60_dev, origin/HEAD)
Author: Bram Matthys <[email protected]>
Date: Mon Mar 20 10:53:41 2023 +0100

    Fix not sending CAP DEL on module unload.
    Reported by westor in https://bugs.unrealircd.org/view.php?id=6104
    The code was there but the order of which the checks were done was
    wrong, so first it was checking which CAP's were unloaded and after
    that it was unloading the CAP, instead of the other way around.
    
    Also renamed the function to clicap_check_for_changes()
    to be consistent with other runtime change detection functions
    like extcmodes_check_for_changes(), umodes_check_for_changes()
    and charsys_check_for_changes().

Issue History

Date Modified Username Field Change
2022-05-17 17:51 westor New Issue
2022-05-18 11:45 westor Note Added: 0022487
2022-09-26 14:52 syzop Priority high => normal
2022-09-26 14:52 syzop Severity major => minor
2023-03-20 10:56 syzop Assigned To => syzop
2023-03-20 10:56 syzop Status new => resolved
2023-03-20 10:56 syzop Resolution open => fixed
2023-03-20 10:56 syzop Fixed in Version => 6.0.7
2023-03-20 10:56 syzop Note Added: 0022798