View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005012||unreal||ircd||public||2017-09-18 21:25||2017-10-07 13:38|
|Target Version||Fixed in Version||4.0.16|
|Summary||0005012: IRCv3 chghost caps support|
|Description||Hereby I request that the IRCv3 cap "chghost" (minus the quotes) should be added in a future release of UnrealIRCd. The main reason is so that when the host of someone is changed, that the IAL of IRC clients on common channels with such a user are updated immediately.|
Nowadays, IRC services, such as for example Anope, are very common and freuqently used alongside many IRCd's, including UnrealIRCd. These commonly also provide a services bot such as HostServ, and often set hosts on users who have registered with NickServ.
So that for example Nick Trackers, Clone Scanners, etc. are immedately made "aware" of someone's new host, the chghost cap is mandatory so that the need for EVERY SINGLE USER to update their IAL manually EACH TIME A HOST OF A USER CHANGES is eliminated.
|Steps To Reproduce||Connecting to an UnrealIRCd server/network when the client is sent the available and set Caps on connect. Alternatively, via /cap LS to request the avaialable caps. (the capitalization is vital since /cap ls will give out "ls Invalid CAP subcommand")|
|Tags||No tags attached.|
|3rd party modules|
Yup, good idea.
UnrealIRCd specific note:
We have set::allow-userhost-change force-rejoin, this will rejoin clients on a user@host change.
Makes sense not to send such a rejoin to CAP-chghost capable clients (in rejoin_* functions).
We should probably add a generic function, or even better: call some kind of hook, on userhost change.
Dear syzop and UnrealIRCd developers team,
First of all thank you very much for viewing my issue and taking it into consideration. I was not aware of the set::allow-userhost-change force-rejoin option and implemented it, yet it appears to be a bit buggy: when someone has been assigned a vhost via HostServ and uses /hs off to turn it off, when user mode +x is reset, the cycling of channels is NOT performed; only when the vhost is enabled.
This behaviour does not seem to be intended, and this is with the default UnrealIRCd cloaking module.
||The UnrealIRCd version is 4.0.13 and the services utilized are Anope IRC Services version 2.0.5|
Thanks for the report. I've cloned and moved the "force-rejoin not working" issue off to bug 0005015.
This issue 0005012 then remains for CAP ghost support.
Thanks for the suggestion. I ended up doing this in a big commit:
Author: Bram Matthys <firstname.lastname@example.org>
Date: Sat Oct 7 13:31:30 2017 +0200
Add "CAP chghost" support. Internal recode of userhost changes.
Fix force-rejoin not working if doing SVSMODE -x/+x (Koragg, 0005015).
Note to module coders:
Please use the following procedure in case of an user/host change:
* << change username or hostname here (or both) >>
This function will take care of notifying other clients about
the userhost change, such as doing PART+JOIN+MODE if force-rejoin
is enabled, and sending :xx CHGHOST user host messages to
"CAP chghost" capable clients.
Also, small note to everyone:
If force-rejoin is enabled we will not send the PART+JOIN+MODE to
"CAP chghost" capable clients. Doing so is just a hack to notify
people of a userhost change. "CAP chghost" users can thus benefit
from the reduced noise in this respect.
|2017-09-18 21:25||Koragg||New Issue|
|2017-09-20 16:02||syzop||Assigned To||=> syzop|
|2017-09-20 16:02||syzop||Status||new => acknowledged|
|2017-09-20 16:02||syzop||Note Added: 0019878|
|2017-09-24 01:07||Koragg||Note Added: 0019879|
|2017-09-24 01:09||Koragg||Note Added: 0019880|
|2017-09-24 11:11||syzop||Issue cloned: 0005015|
|2017-09-24 11:15||syzop||Note Added: 0019884|
|2017-10-07 13:38||syzop||Status||acknowledged => resolved|
|2017-10-07 13:38||syzop||Resolution||open => fixed|
|2017-10-07 13:38||syzop||Fixed in Version||=> 4.0.16|
|2017-10-07 13:38||syzop||Note Added: 0019894|