Require resv oper privilege to set cmode +L or +P.

This commit is contained in:
Jilles Tjoelker 2007-12-18 00:24:05 +01:00
parent 544cde9033
commit 1ef5b43053
3 changed files with 10 additions and 2 deletions

View file

@ -226,7 +226,7 @@ operator "god" {
* will not have the admin lines in
* stats p and whois.
* xline: allows use of /quote xline/unxline
* resv: allows use of /quote resv/unresv [DEFAULT]
* resv: allows /quote resv/unresv and cmode +LP [DEFAULT]
* operwall: allows the oper to send/receive operwalls [DEFAULT]
* oper_spy: allows 'operspy' features to see through +s
* channels etc. see /quote help operspy

View file

@ -392,7 +392,7 @@ operator "god" {
* will not have the admin lines in
* stats p and whois.
* xline: allows use of /quote xline/unxline
* resv: allows use of /quote resv/unresv [DEFAULT]
* resv: allows /quote resv/unresv and cmode +LP [DEFAULT]
* operwall: allows the oper to send/receive operwalls [DEFAULT]
* oper_spy: allows 'operspy' features to see through +s
* channels etc. see /quote help operspy

View file

@ -449,6 +449,14 @@ chm_staff(struct Client *source_p, struct Channel *chptr,
*errors |= SM_ERR_NOPRIVS;
return;
}
if(MyClient(source_p) && !IsOperResv(source_p))
{
if(!(*errors & SM_ERR_NOPRIVS))
sendto_one(source_p, form_str(ERR_NOPRIVS), me.name,
source_p->name, "resv");
*errors |= SM_ERR_NOPRIVS;
return;
}
/* setting + */
if((dir == MODE_ADD) && !(chptr->mode.mode & mode_type))