View Issue Details

IDProjectCategoryView StatusLast Update
0002550unrealircdpublic2007-04-27 05:07
Reporterhoffie Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionduplicate 
Product Version3.2.3 
Summary0002550: Another wrong Operoverride notice
DescriptionHi,
User1 (opped; oper with operoverride) and User2 (opped; no oper) are in the same channel. If User1 types /mode #channel -o User2 nothing special happens. But if User1 types /mode #channel -qo User2 User2 (User2 doesn't have +q!), the IRCd will display only the modechange (-o, not -qo; as expected), but it will send an Operoverride notice (*** OperOverride -- User1 (foo@bar) MODE #channel -o User2). I think this should be changed -- either the operoverride notice should be removed or the operoverride notice should display the -q User2, too.
The problem exists in several similar situations.
Steps To ReproduceUser2:
/join #channel

User1:
/oper User1 foo [Operoverride needed]
/join #channel

User2:
/mode #channel +o User1

User1:
/mode #channel -qo User2 User2
3rd party modules

Activities

RandomNumber

2005-06-05 15:41

reporter   ~0010036

in your example the user doesnt have q so it cant be removed

hoffie

2005-06-05 16:14

reporter   ~0010038

Yes, i know that. But the IRCd has a 'correction' of this 'mistake', so it displays only the '-o' to the users and not the '-qo' (this is correct, IMO). But in Operoverride notices it is handled different. '-o' is shown, but the notice is sent although the '-q' has no effect.

Stealth

2005-06-05 16:32

reporter   ~0010039

Last edited: 2005-06-05 16:34

There is no reason to have the -q in there too. OperOverride is made to display mode changes as if they were meant to be displayed to all clients. You cannot remove +q if the user is not +q, so you can't show it!

Also, what about the other opers who are not in that channel? The will see in the notice you did -qo, and think you are taking the channel from the founder. Even if you don't think your opers would think that, I definatly know I would think that... (My opers with can_override would be dead if they ever -q'd someone who has a ligitament +q...)

In short, OperOverride notices only display what has actually happened, nothing more. So if a -q did not happen, they will not display a -q.

EDIT: BTW, I know Anope has some good OperServ commands that can take the place of OperOverride (and I am sure the other services packages do too)... so why not take everyone's OperOverride and make them use services... It would definatly do what you want.

hoffie

2005-06-05 16:45

reporter   ~0010040

"In short, OperOverride notices only display what has actually happened, nothing more. So if a -q did not happen, they will not display a -q."
It was just a possibility -- the other one would be not to display the override message, because it is no override.

aquanight

2005-06-05 17:00

reporter   ~0010041

Last edited: 2005-06-05 17:03

I think I see what the issue is here... at the mode -qo line, both User1 and User2 have +o (User2 +o'd User1). The -o change doesn't require operoverride. The -q change *would* require operoverride but it's "unnecessary" - User2 isn't +q. However, the bug is that operoverride is triggered because User1 doesn't have normal permissions to use -q, but the mode gets filtered out as unnecessary, and the operoverride notice only shows -o - which is not an override.

Try doing +q-qo User2 User2 User2 - you'll see the difference.

BTW, I'd bet you'll get a similar issue if you did this w/o operoverride, only instead of an override notice, you'll probably a "#channel You're not channel owner" numeric.

*edit* I think a good way to fix this is to filter out the unnecessary modes before triggering an override notice. */edit*

RandomNumber

2005-06-06 01:19

reporter   ~0010045

aquanight to the rescue now that makes sense to me lol

Issue History

Date Modified Username Field Change
2005-06-05 11:34 hoffie New Issue
2005-06-05 15:41 RandomNumber Note Added: 0010036
2005-06-05 16:14 hoffie Note Added: 0010038
2005-06-05 16:32 Stealth Note Added: 0010039
2005-06-05 16:34 Stealth Note Edited: 0010039
2005-06-05 16:45 hoffie Note Added: 0010040
2005-06-05 17:00 aquanight Note Added: 0010041
2005-06-05 17:03 aquanight Note Edited: 0010041
2005-06-06 01:19 RandomNumber Note Added: 0010045
2007-04-27 05:07 stskeeps Status new => closed
2007-04-27 05:07 stskeeps Resolution open => duplicate