From 1cd6639a35ab2c226b0942705f990fa5946788e6 Mon Sep 17 00:00:00 2001 From: Ed Kellett Date: Sun, 7 Jul 2019 18:28:13 +0100 Subject: [PATCH] Add auspex:oper --- doc/ircd.conf.example | 2 +- doc/reference.conf | 3 ++- include/s_newconf.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/ircd.conf.example b/doc/ircd.conf.example index bc5a0a19..4de004bd 100644 --- a/doc/ircd.conf.example +++ b/doc/ircd.conf.example @@ -236,7 +236,7 @@ auth { * means they must be defined before operator {}. */ privset "local_op" { - privs = oper:general, oper:local_kill, oper:operwall; + privs = oper:general, auspex:oper, oper:local_kill, oper:operwall; }; privset "server_bot" { diff --git a/doc/reference.conf b/doc/reference.conf index 20c7480d..3b0a5d54 100644 --- a/doc/reference.conf +++ b/doc/reference.conf @@ -432,6 +432,7 @@ privset "local_op" { * * oper:general: enable most general oper privileges that came * with +o in older releases + * auspex:oper: allows the oper to see through oper hiding * oper:local_kill: allows local users to be /KILL'd * oper:global_kill: allows local and remote users to be /KILL'd * oper:routing: allows remote SQUIT and CONNECT @@ -457,7 +458,7 @@ privset "local_op" { * oper:mass_notice: allows sending wallops and mass notices * oper:grant: allows using the GRANT command */ - privs = oper:general, oper:local_kill, oper:operwall; + privs = oper:general, auspex:oper, oper:local_kill, oper:operwall; }; privset "server_bot" { diff --git a/include/s_newconf.h b/include/s_newconf.h index 8f01dbc6..aa94bd46 100644 --- a/include/s_newconf.h +++ b/include/s_newconf.h @@ -167,7 +167,7 @@ extern void cluster_generic(struct Client *, const char *, int cltype, #define IsOperMassNotice(x) (HasPrivilege((x), "oper:mass_notice")) #define IsOperGeneral(x) (HasPrivilege((x), "oper:general")) -#define SeesOper(target, source) (IsOper((target)) && ((!ConfigFileEntry.hide_opers && !HasPrivilege((target), "oper:hidden")) || IsOper((source)))) +#define SeesOper(target, source) (IsOper((target)) && ((!ConfigFileEntry.hide_opers && !HasPrivilege((target), "oper:hidden")) || HasPrivilege((source), "auspex:oper"))) extern struct oper_conf *make_oper_conf(void); extern void free_oper_conf(struct oper_conf *);