wallops: require new oper:wallops right (#110)
Split oper:wallops right from oper:mass_notice. Update documentation and examples to grant oper:wallops everywhere oper:mass_notice was granted. closes #103
This commit is contained in:
parent
2e79cebb9e
commit
d04ed5c53f
5 changed files with 10 additions and 6 deletions
1
NEWS.md
1
NEWS.md
|
@ -40,6 +40,7 @@ bolded warnings in the full release notes below.
|
||||||
- **Breaking:** /stats A output now follows the same format as other stats letters
|
- **Breaking:** /stats A output now follows the same format as other stats letters
|
||||||
- **Breaking:** helpops now uses +h instead of +H
|
- **Breaking:** helpops now uses +h instead of +H
|
||||||
- **Breaking:** sno\_whois and the spy\_ extensions have been removed
|
- **Breaking:** sno\_whois and the spy\_ extensions have been removed
|
||||||
|
- **Breaking:** Using /wallops now requires the oper:wallops privilege instead of oper:massnotice
|
||||||
- Opers now have their privset (identified by name) on remote servers
|
- Opers now have their privset (identified by name) on remote servers
|
||||||
- Oper-only umodes are refreshed after rehash and /grant
|
- Oper-only umodes are refreshed after rehash and /grant
|
||||||
- Extension modules can be reloaded
|
- Extension modules can be reloaded
|
||||||
|
|
|
@ -244,7 +244,8 @@ privset "server_bot" {
|
||||||
privset "global_op" {
|
privset "global_op" {
|
||||||
extends = "local_op";
|
extends = "local_op";
|
||||||
privs = oper:routing, oper:kline, oper:unkline, oper:xline,
|
privs = oper:routing, oper:kline, oper:unkline, oper:xline,
|
||||||
oper:resv, oper:cmodes, oper:mass_notice, oper:remoteban;
|
oper:resv, oper:cmodes, oper:mass_notice, oper:wallops,
|
||||||
|
oper:remoteban;
|
||||||
};
|
};
|
||||||
|
|
||||||
privset "admin" {
|
privset "admin" {
|
||||||
|
|
|
@ -456,7 +456,8 @@ privset "local_op" {
|
||||||
* channels etc. see /quote help operspy
|
* channels etc. see /quote help operspy
|
||||||
* oper:hidden: hides the oper from /stats p
|
* oper:hidden: hides the oper from /stats p
|
||||||
* oper:remoteban: allows remote kline etc
|
* oper:remoteban: allows remote kline etc
|
||||||
* oper:mass_notice: allows sending wallops and mass notices
|
* oper:mass_notice: allows sending mass notices
|
||||||
|
* oper:wallops: allows sending wallops messages
|
||||||
* oper:grant: allows using the GRANT command
|
* oper:grant: allows using the GRANT command
|
||||||
* usermode:servnotice: allows setting +s
|
* usermode:servnotice: allows setting +s
|
||||||
*
|
*
|
||||||
|
@ -481,7 +482,8 @@ privset "server_bot" {
|
||||||
privset "global_op" {
|
privset "global_op" {
|
||||||
extends = "local_op";
|
extends = "local_op";
|
||||||
privs = oper:routing, oper:kline, oper:unkline, oper:xline,
|
privs = oper:routing, oper:kline, oper:unkline, oper:xline,
|
||||||
oper:resv, oper:cmodes, oper:mass_notice, oper:remoteban;
|
oper:resv, oper:cmodes, oper:mass_notice, oper:wallops,
|
||||||
|
oper:remoteban;
|
||||||
};
|
};
|
||||||
|
|
||||||
privset "admin" {
|
privset "admin" {
|
||||||
|
|
|
@ -5,4 +5,4 @@ who are umode +w (including non-opers).
|
||||||
|
|
||||||
Server sent WALLOPS go to all opers who are umode +w.
|
Server sent WALLOPS go to all opers who are umode +w.
|
||||||
|
|
||||||
- Requires Oper Priv: oper:mass_notice
|
- Requires Oper Priv: oper:wallops
|
||||||
|
|
|
@ -97,10 +97,10 @@ ms_wallops(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *sour
|
||||||
{
|
{
|
||||||
const char *prefix = "";
|
const char *prefix = "";
|
||||||
|
|
||||||
if (MyClient(source_p) && !IsOperMassNotice(source_p))
|
if (MyClient(source_p) && !HasPrivilege(source_p, "oper:wallops"))
|
||||||
{
|
{
|
||||||
sendto_one(source_p, form_str(ERR_NOPRIVS),
|
sendto_one(source_p, form_str(ERR_NOPRIVS),
|
||||||
me.name, source_p->name, "mass_notice");
|
me.name, source_p->name, "wallops");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue