* means they must be defined before operator {}.
*/
privset "local_op" {
- privs = oper:general, auspex:oper, oper:privs, oper:local_kill, oper:operwall;
+ privs = oper:general, auspex:oper, oper:privs, oper:testline, oper:local_kill, oper:operwall;
};
privset "server_bot" {
* with +o in older releases
* auspex:oper: allows the oper to see through oper hiding
* oper:privs: allows /stats o/O and seeing privset in /whois
+ * oper:testline: allows /testline and /testgecos
* 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
* oper:mass_notice: allows sending wallops and mass notices
* oper:grant: allows using the GRANT command
*/
- privs = oper:general, auspex:oper, oper:privs, oper:local_kill, oper:operwall;
+ privs = oper:general, auspex:oper, oper:privs, oper:testline, oper:local_kill, oper:operwall;
};
privset "server_bot" {
char *puser, *phost, *reason, *operreason;
char reasonbuf[BUFSIZE];
+ if (!HasPrivilege(source_p, "oper:testline"))
+ {
+ sendto_one(source_p, form_str(ERR_NOPRIVS),
+ me.name, source_p->name, "testline");
+ return;
+ }
+
mask = LOCAL_COPY(parv[1]);
if (IsChannelName(mask))
{
struct ConfItem *aconf;
+ if (!HasPrivilege(source_p, "oper:testline"))
+ {
+ sendto_one(source_p, form_str(ERR_NOPRIVS),
+ me.name, source_p->name, "testline");
+ return;
+ }
+
if(!(aconf = find_xline(parv[1], 0)))
{
sendto_one(source_p, form_str(RPL_NOTESTLINE),