View Issue Details

IDProjectCategoryView StatusLast Update
0002069unrealircdpublic2004-09-13 18:25
ReporterMrZebra Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionopen 
Product Version3.2.1 
Summary0002069: sendto_realops() doesn't check user flags
Descriptionsendto_realops() always sends a notice, even if the user is
/mode -s
You seem to be missing an
 && (cptr->user->snomask & SNO_xxxx)
in the if statement.
3rd party modules

Activities

AngryWolf

2004-09-12 19:50

reporter   ~0007626

I guess the reason why sendto_realops sends a message to every operators is that sometimes you might want to tell your opers something very important, mainly about technical issues. If you had the ability to disable these kind of notifications by removing a snomask from yourself, you'd accidentally or in other way "lose the control" of your server, you'd find certain malfunctions as bugs, while they could be, for example, the result of a bad configuration.

I wouldn't change the way sendto_realops works, so module coders don't need to write their own functions to have every operators to receive an important message.

codemastr

2004-09-12 20:22

reporter   ~0007627

Yeah, I don't see anything that says sendto_realops is supposed to take +s into account...

al5001

2004-09-13 02:05

reporter   ~0007630

This is one thing I really don't like is the ability of a normal user to read the server messages. A new "send.c" function might be handy. Like: sendto_realops_flags(const char *flag, (char *pattern, ...), __attribute__((format(printf,1,2))) Where flag would be IsOper....IsNetAdmin..to send the message to certain levels of opers.

syzop

2004-09-13 18:25

administrator   ~0007642

> This is one thing I really don't like is the ability of a normal user to read the server messages.
Ehm.. sendto_realops only goes to opers.
There's sendto_ops() that is kinda confusing since it goes to all +s (hence, the existince of sendto_realops), but if you don't like that you can restrict umode 's' as mentioned in the 'security' section in the docs.

> [..] Where flag would be IsOper....IsNetAdmin..to send the message to certain levels of opers.
See sendto_umode(), it looks it even supports OR'ed flags.

Issue History

Date Modified Username Field Change
2004-09-12 15:25 MrZebra New Issue
2004-09-12 19:50 AngryWolf Note Added: 0007626
2004-09-12 20:22 codemastr Note Added: 0007627
2004-09-13 02:05 al5001 Note Added: 0007630
2004-09-13 18:25 syzop Status new => closed
2004-09-13 18:25 syzop Note Added: 0007642