Browse Source

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
jess/sno-banned-userhost
Taavi Väänänen 2 years ago committed by GitHub
parent
commit
d04ed5c53f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      NEWS.md
  2. 3
      doc/ircd.conf.example
  3. 6
      doc/reference.conf
  4. 2
      help/opers/wallops
  5. 4
      modules/m_wallops.c

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:** helpops now uses +h instead of +H
- **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
- Oper-only umodes are refreshed after rehash and /grant
- Extension modules can be reloaded

3
doc/ircd.conf.example

@ -244,7 +244,8 @@ privset "server_bot" {
privset "global_op" {
extends = "local_op";
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" {

6
doc/reference.conf

@ -456,7 +456,8 @@ privset "local_op" {
* channels etc. see /quote help operspy
* oper:hidden: hides the oper from /stats p
* 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
* usermode:servnotice: allows setting +s
*
@ -481,7 +482,8 @@ privset "server_bot" {
privset "global_op" {
extends = "local_op";
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" {

2
help/opers/wallops

@ -5,4 +5,4 @@ who are umode +w (including non-opers).
Server sent WALLOPS go to all opers who are umode +w.
- Requires Oper Priv: oper:mass_notice
- Requires Oper Priv: oper:wallops

4
modules/m_wallops.c

@ -97,10 +97,10 @@ ms_wallops(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *sour
{
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),
me.name, source_p->name, "mass_notice");
me.name, source_p->name, "wallops");
return;
}

Loading…
Cancel
Save