Clear privileges when deopering.
authorMichael Poole <mdpoole@troilus.org>
Fri, 1 Jun 2012 01:18:55 +0000 (21:18 -0400)
committerMichael Poole <mdpoole@troilus.org>
Fri, 1 Jun 2012 01:22:51 +0000 (21:22 -0400)
ircd/s_user.c (set_user_mode): When a user deopers, revoke their oper
  privileges in addition to their oper user mode.

ChangeLog
ircd/s_user.c

index 988981e8d3224a3c248f09b1655b24dd808f2165..6400d2d815517bb974370b66047b27ebfed02f16 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-09  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_user.c (set_user_mode): When a user deopers, revoke their
+       oper privileges in addition to their oper user mode.
+
 2012-05-09  Michael Poole <mdpoole@troilus.org>
 
        * ircd/m_who.c (m_who): Only set WHOSELECT_EXTRA for current
index a19691db7edd7cd6954c251be297d7a127ef5864..1f0e0d92ddd990ff543c0445af741d7d72464555 100644 (file)
@@ -1128,7 +1128,10 @@ int set_user_mode(struct Client *cptr, struct Client *sptr, int parc,
   {
     if ((FlagHas(&setflags, FLAG_OPER) || FlagHas(&setflags, FLAG_LOCOP)) &&
         !IsAnOper(sptr))
+    {
       det_confs_butmask(sptr, CONF_CLIENT & ~CONF_OPERATOR);
+      client_set_privs(sptr, NULL);
+    }
 
     if (SendServNotice(sptr))
     {