View Issue Details

IDProjectCategoryView StatusLast Update
0004575unrealircdpublic2018-09-25 14:04
Reporterargvx Assigned Tosyzop  
Status resolvedResolutionfixed 
Product Version4.0.1 
Fixed in Version4.2.0 
Summary0004575: Support for WHOX and extended-join client capability
Descriptionadditionally, send away message to away-notify enabled clients on join and when changing user@hosts.
TagsNo tags attached.
Attached Files
m_who.c (19,913 bytes)
3rd party modules


has duplicate 0005140 closedsyzop UnrealIRCd still doesn't support WHOX 



2016-02-09 16:36

developer   ~0019096

+ support for chghost client capability.


2016-03-10 21:09

developer   ~0019134

+ WHOX support, this is required for account-notify feature to work correctly,

WHO <#channel|nick|mask> [flags][%format]

match flags:

o - specifies to only list IRC Operators.
n - match nicknames.
u - match usernames ("idents").
h - match hostnames.
i - match numeric IP addresses.
r - match realnames.
s - match server names.
a - match user accounts.
m - match user modes (+abc-def are accepted).

format flags:

t - Query type. Outputs the given number in each reply.
c - Channel.
u - Username.
i - IP address.
h - Host.
s - Server.
n - Nickname.
f - Status.
d - Hop count.
l - Idle time or 0 for users on other servers.
a - Services account name or 0 if none.
r - GECOS information.
m - Show user modes.


2016-05-22 20:46

administrator   ~0019278

Last edited: 2016-05-22 20:47

The patch is so large and I haven't had the time to look at it yet. Not sure if it will be any better next month or two, probably not. Sorry again. I can't just throw it in production unless I carefully audited/checked the code :p


2016-08-08 22:35

reporter   ~0019369

I'm interested in getting this merged as it affects a network I'm a part of, but I don't (yet) have any experience with Unreal's code. I'll try to set aside time when possible, though I might not manage more than a cursory review for a long while. If there's any other way to help (e.g. testing), let me know!


2018-09-06 21:07

reporter   ~0020271

Bump for this - e.g. this causes IRC bots to have big issues using nickserv to authenticate users


2018-09-06 21:10

administrator   ~0020272

jesopo just commented in 0005140 wondering the same (why is this not implemented).

Is it only the modified WHO function that is missing nowadays (WHOX)? Or are we missing more?

If it's only that, then perhaps we could make it a separate module so people can choose to load that module instead of regular m_who, and get this code tested.

I'm not going to put it in production as-is as a replacement of who, since the chance of breakage is too high to do in stable series. And, of course, when it isn't put in production it never gets tested (especially since less than a handful of people ever volunteer outside production releases to test stuff)... catch 22... having it a separate module would help.
Question to original reporter (fbi) or anyone else: interested in doing that?
I'm not volunteering myself.


2018-09-06 21:13

reporter   ~0020274

Interested in using the module? if so, definitely.


2018-09-06 21:14

reporter   ~0020275

Interested in using/testing the module*


2018-09-06 21:15

reporter   ~0020276

also extended-join and chghost are solved so as far as this issue is concerned it's only WHOX that's left


2018-09-14 21:43

reporter   ~0020325

As the "away-notify" bug on join likely can be addressed separately with much lower risk and this breakage introduces a regression in functionality for "away-notify"-enabled clients, I've filed a separate bug for it:


2018-09-15 16:06

administrator   ~0020328

Seems someone already did what I suggested in 0004575:0020272: namely to write a separate module that provides a who with WHOX, all contained:

09:14 < jesopo> now where the whox support ?
09:26 < tommo> jesopo:
09:26 < tommo> :o

Don't know about the copyright (the header doesn't mention the author) and if it's based on this patch from fbi or not.


2018-09-15 16:17

administrator   ~0020329

Last edited: 2018-09-15 16:20

Since there seems someone confusion, just to explain:
I want to have the WHOX offered in an alternate module (provided by fbi or anyone else). Then this is an optional module that the user can load. That way we can get the code tested. Then, after a while, after it has been sufficiently tested, we can switch over to that module by default.

NOTE: "a while" isn't 3 months with only 3 people testing the module, but a serious amount of users and timeframe :D


2018-09-19 20:09

developer   ~0020337

the module is ready, anyone wish to test it, feel free to do so :)


2018-09-20 20:09

administrator   ~0020339

Great, thanks a lot for making this.
i: I take it the module is licensed as GPLv2, is that correct?

The module has been added to current git with only minor changes.
I renamed it to m_whox and made it use a command override so it can be loaded via a loadmodule command (without having to remove m_who). It is now in modules.optional.conf. Not sure if it will stay commented out there, we'll see.
The build farm and testers will now test the module and I will try to give it some extra testing as well, then see what we do. In any case it is very likely bundled in upcoming UnrealIRCd stable (but not enabled by default) in some shape or form.

Thanks again!

commit bd0821fc41ed1611510a5635dcfc3d00d3aacb9b (HEAD -> unreal40, origin/unreal40, origin/HEAD)
Author: Bram Matthys <[email protected]>
Date: Thu Sep 20 20:06:19 2018 +0200

    Add m_whox to Windows build makefile

commit c4eac1df0ef1993e7cac185e4463c2606c791581
Author: Bram Matthys <[email protected]>
Date: Thu Sep 20 20:04:29 2018 +0200

    Add initial version of m_whox from 'i'. This is to get it tested
    by the buildfarm / autotesters. More commits will follow.


2018-09-20 20:15

developer   ~0020340

GPLv2 is ok i think, but i'm not an expert on these license staff :)


2018-09-20 20:18

administrator   ~0020342

Good :D


2018-09-20 21:14

administrator   ~0020343

Some build failures
tomorrow.... ;)


2018-09-20 21:27

developer   ~0020344

It should be a warning and not an error. I totally forgot about another pair of parentheses..


2018-09-25 14:04

administrator   ~0020353

I'm marking this as resolved.
Thanks again for coding the feature and thanks to everyone testing it (only a few people I think? But still..)
Appreciated :)

One day this will become the new WHO...

Issue History

Date Modified Username Field Change
2016-02-09 16:34 argvx New Issue
2016-02-09 16:34 argvx File Added: unreal4_extended_join_and_chghost_caps.diff
2016-02-09 16:36 argvx Note Added: 0019096
2016-03-10 21:09 argvx Note Added: 0019134
2016-03-10 21:09 argvx File Added: unreal34_extended_join_chghost_whox.diff
2016-05-22 20:46 syzop Note Added: 0019278
2016-05-22 20:47 syzop Note Edited: 0019278
2016-06-04 19:28 syzop Status new => has patch
2016-08-08 22:35 digitalcircuit Note Added: 0019369
2018-09-06 21:04 syzop Relationship added has duplicate 0005140
2018-09-06 21:05 syzop Summary Support for extended-join client capability => Support for WHOX and extended-join client capability
2018-09-06 21:07 jesopo Note Added: 0020271
2018-09-06 21:10 syzop Note Added: 0020272
2018-09-06 21:11 syzop Status has patch => feedback
2018-09-06 21:13 jesopo Note Added: 0020274
2018-09-06 21:14 jesopo Note Added: 0020275
2018-09-06 21:15 jesopo Note Added: 0020276
2018-09-14 21:43 digitalcircuit Note Added: 0020325
2018-09-15 16:06 syzop Note Added: 0020328
2018-09-15 16:17 syzop Note Added: 0020329
2018-09-15 16:17 syzop Note Edited: 0020329
2018-09-15 16:20 syzop Note Edited: 0020329
2018-09-19 20:08 argvx File Added: m_who.c
2018-09-19 20:09 argvx Note Added: 0020337
2018-09-19 20:12 syzop Assigned To => syzop
2018-09-19 20:12 syzop Status feedback => has patch
2018-09-20 20:09 syzop Note Added: 0020339
2018-09-20 20:10 syzop Status has patch => feedback
2018-09-20 20:15 argvx Note Added: 0020340
2018-09-20 20:18 syzop Note Added: 0020342
2018-09-20 21:14 syzop Note Added: 0020343
2018-09-20 21:27 argvx Note Added: 0020344
2018-09-25 14:04 syzop Status feedback => resolved
2018-09-25 14:04 syzop Resolution open => fixed
2018-09-25 14:04 syzop Fixed in Version => 4.2.0
2018-09-25 14:04 syzop Note Added: 0020353