diff --git a/doc/ircd.conf.example b/doc/ircd.conf.example index 5d8372af..834ef8b0 100644 --- a/doc/ircd.conf.example +++ b/doc/ircd.conf.example @@ -231,8 +231,8 @@ auth { * means they must be defined before operator {}. */ privset "local_op" { - privs = oper:general, oper:privs, oper:testline, oper:kill, oper:operwall, usermode:servnotice, - auspex:oper, auspex:hostname, auspex:umodes, auspex:cmodes; + privs = oper:general, oper:privs, oper:testline, oper:kill, oper:operwall, oper:message, + usermode:servnotice, auspex:oper, auspex:hostname, auspex:umodes, auspex:cmodes; }; privset "server_bot" { diff --git a/doc/reference.conf b/doc/reference.conf index 6b19312a..4bfd49f5 100644 --- a/doc/reference.conf +++ b/doc/reference.conf @@ -458,6 +458,7 @@ privset "local_op" { * oper:wallops: allows sending wallops messages * oper:grant: allows using the GRANT command * usermode:servnotice: allows setting +s + * oper:message: allows opers to bypass CALLERID (usermode +g) * * Privileges provided by extensions include: * @@ -467,8 +468,8 @@ privset "local_op" { * confers the benefits of chmode +M (operpeace) (from extensions/chm_operpeace) * usermode:helpops allows setting +h (from extensions/helpops) */ - privs = oper:general, oper:privs, oper:testline, oper:kill, oper:operwall, usermode:servnotice, - auspex:oper, auspex:hostname, auspex:umodes, auspex:cmodes; + privs = oper:general, oper:privs, oper:testline, oper:kill, oper:operwall, oper:message, + usermode:servnotice, auspex:oper, auspex:hostname, auspex:umodes, auspex:cmodes; }; privset "server_bot" { diff --git a/modules/um_callerid.c b/modules/um_callerid.c index 2fa47db4..63290f45 100644 --- a/modules/um_callerid.c +++ b/modules/um_callerid.c @@ -103,7 +103,7 @@ allow_message(struct Client *source_p, struct Client *target_p) return true; /* XXX: controversial? allow opers to send through +g */ - if (IsOperGeneral(source_p)) + if (HasPrivilege(source_p, "oper:message")) return true; if (accept_message(source_p, target_p))