Committer  : entrope
CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Commit time: 2005-08-27 14:20:51 UTC

Modified files:
     ChangeLog ircd/channel.c ircd/m_burst.c

Log message:

Use SetOpLevel() to set oplevels; give oplevel 1 when op are hacked.

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.682 ircu2.10/ChangeLog:1.683
--- ircu2.10/ChangeLog:1.682    Thu Aug 25 20:23:23 2005
+++ ircu2.10/ChangeLog  Sat Aug 27 07:20:41 2005
@@ -1,3 +1,14 @@
+2005-08-27  Michael Poole <[EMAIL PROTECTED]>
+
+       * ircd/channel.c (add_user_to_channel): Use SetOpLevel() instead
+       of assigning directly to member->oplevel.
+       (mode_parse_apass): Likewise.
+       (mode_process_clients): Users opped by outsiders should get
+       oplevel 1, since they are not channel managers.
+
+       * ircd/m_burst.c (ms_burst): Use SetOpLevel() instead of assigning
+       directly to member->oplevel.
+
 2005-08-25  Michael Poole <[EMAIL PROTECTED]>
 
        * ircd/channel.c (member_can_send_to_channel): At coekie's
Index: ircu2.10/ircd/channel.c
diff -u ircu2.10/ircd/channel.c:1.145 ircu2.10/ircd/channel.c:1.146
--- ircu2.10/ircd/channel.c:1.145       Thu Aug 25 19:36:33 2005
+++ ircu2.10/ircd/channel.c     Sat Aug 27 07:20:41 2005
@@ -19,7 +19,7 @@
  */
 /** @file
  * @brief Channel management and maintenance
- * @version $Id: channel.c,v 1.145 2005/08/26 02:36:33 entrope Exp $
+ * @version $Id: channel.c,v 1.146 2005/08/27 14:20:41 entrope Exp $
  */
 #include "config.h"
 
@@ -447,7 +447,7 @@
     member->user         = who;
     member->channel      = chptr;
     member->status       = flags;
-    member->oplevel      = oplevel;
+    SetOpLevel(member, oplevel);
 
     member->next_member  = chptr->members;
     if (member->next_member)
@@ -2663,7 +2663,7 @@
       /* Revert everyone to MAXOPLEVEL. */
       for (memb = state->chptr->members; memb; memb = memb->next_member) {
         if (memb->status & MODE_CHANOP)
-          memb->oplevel = MAXOPLEVEL;
+          SetOpLevel(memb, MAXOPLEVEL);
       }
     }
   }
@@ -3045,14 +3045,14 @@
     /* set op-level of member being opped */
     if ((state->cli_change[i].flag & (MODE_ADD | MODE_CHANOP)) ==
        (MODE_ADD | MODE_CHANOP)) {
-      /* If being opped by an outsider, get oplevel 0 for an apass
+      /* If being opped by an outsider, get oplevel 1 for an apass
        *   channel, else MAXOPLEVEL.
        * Otherwise, if not an apass channel, or state->member has
        *   MAXOPLEVEL, get oplevel MAXOPLEVEL.
        * Otherwise, get state->member's oplevel+1.
        */
       if (!state->member)
-        SetOpLevel(member, state->chptr->mode.apass[0] ? 0 : MAXOPLEVEL);
+        SetOpLevel(member, state->chptr->mode.apass[0] ? 1 : MAXOPLEVEL);
       else if (!state->chptr->mode.apass[0] || OpLevel(state->member) == 
MAXOPLEVEL)
         SetOpLevel(member, MAXOPLEVEL);
       else
Index: ircu2.10/ircd/m_burst.c
diff -u ircu2.10/ircd/m_burst.c:1.37 ircu2.10/ircd/m_burst.c:1.38
--- ircu2.10/ircd/m_burst.c:1.37        Tue Aug 16 18:57:03 2005
+++ ircu2.10/ircd/m_burst.c     Sat Aug 27 07:20:41 2005
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: m_burst.c,v 1.37 2005/08/17 01:57:03 entrope Exp $
+ * $Id: m_burst.c,v 1.38 2005/08/27 14:20:41 entrope Exp $
  */
 
 /*
@@ -498,7 +498,7 @@
              member->status |= CHFL_BURST_ALREADY_VOICED;
            /* Synchronize with the burst. */
            member->status |= CHFL_BURST_JOINED | (current_mode & 
(CHFL_CHANOP|CHFL_VOICE));
-           member->oplevel = oplevel;
+           SetOpLevel(member, oplevel);
          }
        }
       }
----------------------- End of diff -----------------------
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches

Reply via email to