View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0004132||unreal||ircd||public||2012-10-17 12:19||2015-07-12 17:23|
|Target Version||Fixed in Version||3.4-beta1|
|Summary||0004132: Crach on WHO with a IRC Service.|
I'm developing a service IRC and when I use the command "WHO" in the IRC service, UnrealIRCd crash automatically.
Then I tried to reproduce this command via OperServ, same problem.
|Steps To Reproduce|
Only use command WHO with Operserv raw or to develop a IRC Service.
|Tags||No tags attached.|
|3rd party modules|
There are a number of commands that will not work well if you request them from a server instead of a user.
Some of these commands cause a crash of the IRCd. While this is not good, in the past we chose to leave out various checks because 'servers are trusted'. Nowadays, I don't mind fixing them if a patch is provided (otherwise it isn't really high on my priority list).
For the same reason (or at least one of the reasons) services like anope disable RAW support: because it's so dangerous.
If you want to be on the safe side, then limit your requests to the commands listed in serverprotocol.html, and /helpop ?svscmds.
Also, whenever playing with raw server commands, do so on an isolated (test) network, and not on a live network.
As for WHO:
Services should maintain 'state', meaning they should track which users are online (connect/disconnect) and the state of channels (join/part/kick/mode/etc). Therefore, services should never do a WHO request.
Hope this clears things up :)
Your reasoning totally understandable and I completely agree with.
But I prefer to tell the extent it was still a total crash and I did not know that you are aware of this problem.
Thank you :)
||fixed today. added a bunch of CommandAdd() checks in 50+ functions (note that most of these already had checks in the actual function)|
|2012-10-17 12:19||replicator||New Issue|
|2012-10-17 12:46||syzop||Note Added: 0017182|
|2012-10-17 12:47||syzop||Note Edited: 0017182||View Revisions|
|2012-10-17 13:58||replicator||Note Added: 0017183|
|2015-07-12 17:23||syzop||Note Added: 0018476|
|2015-07-12 17:23||syzop||Status||new => resolved|
|2015-07-12 17:23||syzop||Fixed in Version||=> 3.4-beta1|
|2015-07-12 17:23||syzop||Resolution||open => fixed|
|2015-07-12 17:23||syzop||Assigned To||=> syzop|