View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004322 | unreal | module api | public | 2014-07-29 22:09 | 2015-07-12 17:25 |
Reporter | syzop | Assigned To | syzop | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 3.4-alpha1 | ||||
Target Version | 3.4-alpha3 | Fixed in Version | 3.4-beta1 | ||
Summary | 0004322: modularize CAP | ||||
Description | For some unknown reason (probably lazyness) CAP is written entirely in a module rather than a decent modular system like user modes, channel modes, snomasks, etc... this is wrong. This CAP thing needs to be moved to the module system, and at the same time the usual nenobugs need to be fixed... | ||||
Additional Information | Right now CAP has a memory leak | ||||
Tags | No tags attached. | ||||
3rd party modules | |||||
|
I'll try to tackle this one was my next "big project" :) |
|
As mentioned on irc, sasl is not advertised even though sasl-server is linked properly. Based on my simple check m_sasl_caplist function is not called by HOOKTYPE_CAPLIST. Further investigation leads me to clicap_build_list function in m_cap.c being called only in MOD_LOAD which is causing this problem. EDIT: Such implementation does not constantly check if sasl-server is linked hence defeated the purpose of m_sasl_caplist. Extra note: Current cap implementation does not support cap-based modules to be unloaded properly. |
|
SASL in CAP was probably broken by this commit: https://github.com/unrealircd/unrealircd/commit/d540adbc7f1d9bb6d2d2a1be5dbe096b8ba48742 (which fixed another issue, a memleak) The idea of HOOKTYPE_CAPLIST was (duh..) to be called when a cap list was requested. ...but all of that is/was just more of a hack until CAP was properly in the module system. I think I'd rather like to see that happen rather than trying to fix this bug by another hack. Travis, if you are working on it, great :) [though the oper priv system is more important :D] |
|
oh. comment updated above ^^ :D |
|
I'll work on this one in the weekend (probably Sunday) |
|
Is now in the module system: https://github.com/unrealircd/unrealircd/commit/372ce82335d56f642ab1131fe5b4e2fa7143211b https://github.com/unrealircd/unrealircd/commit/7e78f0405812a38c157f68178afaa1025131e2a2 Maybe someone could test with an actual client (tested from nc only). |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-07-29 22:09 | syzop | New Issue | |
2014-08-18 04:56 | tmcarthur | Note Added: 0018221 | |
2014-08-18 04:56 | tmcarthur | Assigned To | => tmcarthur |
2014-08-18 04:56 | tmcarthur | Status | new => acknowledged |
2015-05-21 02:58 | dboyz | Note Added: 0018320 | |
2015-05-21 03:00 | dboyz | Note Edited: 0018320 | |
2015-05-21 19:43 | syzop | Note Added: 0018323 | |
2015-05-21 19:44 | syzop | Note Edited: 0018323 | |
2015-05-21 19:46 | syzop | Note Edited: 0018323 | |
2015-05-21 19:47 | syzop | Note Added: 0018324 | |
2015-05-21 19:47 | syzop | Note Edited: 0018323 | |
2015-05-21 19:50 | syzop | Target Version | 3.4-alpha2 => 3.4-alpha3 |
2015-07-10 22:05 | syzop | Note Added: 0018475 | |
2015-07-10 22:05 | syzop | Assigned To | tmcarthur => syzop |
2015-07-10 22:05 | syzop | Status | acknowledged => assigned |
2015-07-12 17:25 | syzop | Note Added: 0018477 | |
2015-07-12 17:25 | syzop | Status | assigned => resolved |
2015-07-12 17:25 | syzop | Fixed in Version | => 3.4-beta1 |
2015-07-12 17:25 | syzop | Resolution | open => fixed |
2017-01-06 15:48 | syzop | Category | module => module api |