This includes opers without the admin flag and admins on other servers.
/* Called for remote clients and for local opers, so check need_admin
* and need_oper
*/
/* Called for remote clients and for local opers, so check need_admin
* and need_oper
*/
- if((stats_cmd_table[i].need_admin && !IsOperAdmin (source_p)) ||
- (stats_cmd_table[i].need_oper && !IsOper (source_p)))
+ if(stats_cmd_table[i].need_oper && !IsOper(source_p))
{
sendto_one_numeric(source_p, ERR_NOPRIVILEGES,
form_str (ERR_NOPRIVILEGES));
break;
}
{
sendto_one_numeric(source_p, ERR_NOPRIVILEGES,
form_str (ERR_NOPRIVILEGES));
break;
}
+ if(stats_cmd_table[i].need_admin && !IsOperAdmin(source_p))
+ {
+ sendto_one(source_p, form_str(ERR_NOPRIVS),
+ me.name, source_p->name, "admin");
+ break;
+ }
/* Blah, stats L needs the parameters, none of the others do.. */
if(statchar == 'L' || statchar == 'l')
/* Blah, stats L needs the parameters, none of the others do.. */
if(statchar == 'L' || statchar == 'l')