Add oper:testline
This commit is contained in:
parent
6d5be11fb1
commit
58a490f9a4
3 changed files with 17 additions and 2 deletions
|
@ -236,7 +236,7 @@ auth {
|
||||||
* means they must be defined before operator {}.
|
* means they must be defined before operator {}.
|
||||||
*/
|
*/
|
||||||
privset "local_op" {
|
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" {
|
privset "server_bot" {
|
||||||
|
|
|
@ -434,6 +434,7 @@ privset "local_op" {
|
||||||
* with +o in older releases
|
* with +o in older releases
|
||||||
* auspex:oper: allows the oper to see through oper hiding
|
* auspex:oper: allows the oper to see through oper hiding
|
||||||
* oper:privs: allows /stats o/O and seeing privset in /whois
|
* 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:local_kill: allows local users to be /KILL'd
|
||||||
* oper:global_kill: allows local and remote 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:routing: allows remote SQUIT and CONNECT
|
||||||
|
@ -459,7 +460,7 @@ privset "local_op" {
|
||||||
* oper:mass_notice: allows sending wallops and mass notices
|
* oper:mass_notice: allows sending wallops and mass notices
|
||||||
* oper:grant: allows using the GRANT command
|
* 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" {
|
privset "server_bot" {
|
||||||
|
|
|
@ -75,6 +75,13 @@ mo_testline(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *sou
|
||||||
char *puser, *phost, *reason, *operreason;
|
char *puser, *phost, *reason, *operreason;
|
||||||
char reasonbuf[BUFSIZE];
|
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]);
|
mask = LOCAL_COPY(parv[1]);
|
||||||
|
|
||||||
if (IsChannelName(mask))
|
if (IsChannelName(mask))
|
||||||
|
@ -231,6 +238,13 @@ mo_testgecos(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *so
|
||||||
{
|
{
|
||||||
struct ConfItem *aconf;
|
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)))
|
if(!(aconf = find_xline(parv[1], 0)))
|
||||||
{
|
{
|
||||||
sendto_one(source_p, form_str(RPL_NOTESTLINE),
|
sendto_one(source_p, form_str(RPL_NOTESTLINE),
|
||||||
|
|
Loading…
Reference in a new issue