[IRC-DEV] [PATCH] u2.10.H.09.25, mejora: Usuario con +k puede kickearse y quitarse +o a si mismo

Victor Roman daijo at unixevil.info
Wed Oct 27 08:01:29 CEST 2004


Buenas,

el siguiente parche permite a un usuario con flag +k expulsarse 
(kickearse) y quitarse el flag de canal +o (operador de canal) a si mismo:

--- ircd.org/ircd/channel.c     2004-10-27 07:46:38.000000000 +0200
+++ ircd.mod/ircd/channel.c     2004-10-27 07:58:13.390583712 +0200
@@ -1365,7 +1365,7 @@
            break;
          }
          /* if the user is +k, prevent a deop from local user */
-        if (whatt == MODE_DEL && IsChannelService(who) && *curr == 'o')
+        if (whatt == MODE_DEL && IsChannelService(who) && *curr == 'o' 
&& (who != sptr))
          {
            sendto_one(cptr, err_str(ERR_ISCHANSERVICE), me.name,
                cptr->name, parv[0], chptr->chname);
@@ -5312,7 +5312,7 @@
        !(lp->flags & CHFL_ZOMBIE)) || IsServer(sptr))
    {
      /* if the user is +k, prevent a kick from local user */
-    if (IsChannelService(who) && MyUser(sptr))
+    if (IsChannelService(who) && MyUser(sptr) && (who != sptr))
      {
        sendto_one(sptr, err_str(ERR_ISCHANSERVICE), me.name,
            parv[0], who->name, chptr->chname);



More information about the IRC-Dev mailing list