]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/chmode.c
Require resv oper privilege to set cmode +L or +P.
[irc/rqf/shadowircd.git] / src / chmode.c
index 3f42a6f845486ee77e11c4c2f1edf265bdcc1bad..a45daa754fbb09f91f3bb4fff40ba8bea4af32bc 100644 (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))