Bug in Halfop status in WHO Reply

Need help with something that you can't find on Google or the services/IRCd help files? Post here.

Moderators: IRC Operators, Support Team

Posts: 1
Joined: Sat Dec 08, 2012 6:17 pm

Bug in Halfop status in WHO Reply

Postby TheLQ » Sat Dec 08, 2012 6:38 pm

I have run into a protocol issue that I can't work around easily. I have brought this up in #support but wasn't able to get much help. Whats more puzzling is that to some ops it works but on my end it doesn't.

I want to clarify something as this was thought to of been an issue: This is not a client issue. The following logs are the equivalent of me telnet-ing into the server and running the commands myself.

IRC protocol states that when a user is marked as a half-op it should show up in their WHO reply as a % . However

Status before the halfop (TheLQ-Test is a IRC bot in the channel that I am pulling the logs from)

Code: Select all

1354991184464 <<<:TheLQ!~LordQuack@my.host MODE #pircbotx -h TheLQ
1354991231358 >>>WHO #pircbotx
1354991231420 <<<:conclave.il.us.SwiftIRC.net 352 TheLQ-Test #pircbotx ~LordQuack my.host *.SwiftIRC.net TheLQ Hr@ :0 realname
1354991231420 <<<:conclave.il.us.SwiftIRC.net 315 TheLQ-Test #pircbotx :End of /WHO list.

Status after the halfop

Code: Select all

1354991358454 <<<:TheLQ!~LordQuack@my.host MODE #pircbotx +h TheLQ
1354991360083 <<<:conclave.il.us.SwiftIRC.net 352 TheLQ-Test #pircbotx ~LordQuack my.host *.SwiftIRC.net TheLQ Hr@ :0 realname
1354991360083 <<<:conclave.il.us.SwiftIRC.net 315 TheLQ-Test #pircbotx :End of /WHO list.

If you look you closely you can see the modes section of the WHO reply (the Hr@ part) does not get updated with % to show that I am a half-op. This is false and wrong information the server is sending me

This is affecting me because I am the author of the Pircbotx IRC library; I noticed this when doing testing. I thought my code was broken but it turns out the server was sending false information. My library (and most IRC clients) use the WHO reply to determine a users status in the channel and therefore what privileges, commands, and UI changes are needed. Because SwiftIRC returns false information though, it breaks that logic.

Just wanted to let people know so it can get fixed and to serve as a reference to others who run into this bug
Posts: 165
Joined: Fri Oct 30, 2009 10:03 pm
Location: Cambridge, UK

Re: Bug in Halfop status in WHO Reply

Postby Alex » Sat Dec 08, 2012 6:52 pm


I don't seem to get this error in the actual raw output.
User avatar
Posts: 481
Joined: Sat Aug 26, 2006 5:41 pm
Location: USA

Re: Bug in Halfop status in WHO Reply

Postby Sara » Sat Dec 08, 2012 7:52 pm

The output you are seeing is simply how UnrealIRCd behaves.
Even in the latest version of UnrealIRCd, /who will output the highest channel mode that is set on a user. Since you're testing it on a user that is +o and +h, it outputs '@'. If you need to retrieve all channel modes set on a user, /names will do that.

If you believe this is an error, you can submit a bug report to the authors of UnrealIRCd (http://bugs.unrealircd.org/main_page.php).
Posts: 32
Joined: Tue Oct 29, 2013 9:23 pm

Re: Bug in Halfop status in WHO Reply

Postby DerpDude » Fri Mar 21, 2014 1:38 am

Not a bug, can not be reproduced.

No status on chan returns nothing
OP status on chan returns @
HOP status on chan returns %
OP+HOP status on chan returns @

Works as expected.

Edit :: Whoops, didn't realize this topic was 2 years old.

Return to “Help”

Who is online

Users browsing this forum: No registered users and 1 guest