View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002069 | unreal | ircd | public | 2004-09-12 15:25 | 2004-09-13 18:25 |
| Reporter | MrZebra | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | open | ||
| Product Version | 3.2.1 | ||||
| Summary | 0002069: sendto_realops() doesn't check user flags | ||||
| Description | sendto_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 | |||||
|
|
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. |
|
|
Yeah, I don't see anything that says sendto_realops is supposed to take +s into account... |
|
|
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. |
|
|
> 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. |