Index: include/client.h
===================================================================
RCS file: /cvsroot/ircd-hybrid-6/include/client.h,v
retrieving revision 1.60
diff -c -r1.60 client.h
*** include/client.h    4 Dec 2001 06:40:30 -0000       1.60
--- include/client.h    7 Jan 2002 06:06:22 -0000
***************
*** 366,371 ****
--- 366,374 ----
                                   FLAGS2_OPER_K | \
                                   FLAGS2_OPER_DIE | \
                                   FLAGS2_OPER_REHASH)
+
+ #define FLAGS2_CANFLOOD                       0x800000        /* can flood! */
+
  /* ZIP_LINKS */

  #define FLAGS2_ZIP           0x4000  /* (server) link is zipped */
***************
*** 481,486 ****
--- 484,492 ----
  #define IsIPSpoof(x)            ((x)->flags2 & FLAGS2_IP_SPOOFING)
  #define SetIPHidden(x)          ((x)->flags2 |= FLAGS2_IP_HIDDEN)
  #define IsIPHidden(x)           ((x)->flags2 & FLAGS2_IP_HIDDEN)
+
+ #define CanFlood(x)                           ((x)->flags2 & FLAGS2_CANFLOOD)
+ #define SetCanFlood(x)                        ((x)->flags2 |= FLAGS2_CANFLOOD)

  #ifdef IDLE_CHECK
  #define SetIdlelined(x)         ((x)->flags2 |= FLAGS2_IDLE_LINED)
Index: include/s_conf.h
===================================================================
RCS file: /cvsroot/ircd-hybrid-6/include/s_conf.h,v
retrieving revision 1.62
diff -c -r1.62 s_conf.h
*** include/s_conf.h    15 Dec 2001 02:42:01 -0000      1.62
--- include/s_conf.h    7 Jan 2002 06:06:22 -0000
***************
*** 115,120 ****
--- 115,122 ----
  #define CONF_FLAGS_F_LINED              0x0080
  #define CONF_FLAGS_EXEMPTGLINE          0x2000

+ #define CONF_FLAGS_CANFLOOD                           0x4000
+
  #ifdef IDLE_CHECK
  #define CONF_FLAGS_IDLE_LINED           0x0100
  #endif
***************
*** 139,144 ****
--- 141,148 ----
  #define IsConfElined(x)         ((x)->flags & CONF_FLAGS_E_LINED)
  #define IsConfFlined(x)         ((x)->flags & CONF_FLAGS_F_LINED)
  #define IsConfExemptGline(x)    ((x)->flags & CONF_FLAGS_EXEMPTGLINE)
+
+ #define IsConfCanFlood(x)             ((x)->flags & CONF_FLAGS_CANFLOOD)

  #ifdef IDLE_CHECK
  #define IsConfIdlelined(x)      ((x)->flags & CONF_FLAGS_IDLE_LINED)
cvs server: Diffing src
Index: src/mtrie_conf.c
===================================================================
RCS file: /cvsroot/ircd-hybrid-6/src/mtrie_conf.c,v
retrieving revision 1.87
diff -c -r1.87 mtrie_conf.c
*** src/mtrie_conf.c    19 Dec 2001 23:02:06 -0000      1.87
--- src/mtrie_conf.c    7 Jan 2002 06:06:25 -0000
***************
*** 1400,1405 ****
--- 1400,1407 ----
      *prefix_ptr++ = '%';
    if (IsConfDoSpoofIp(aconf))
      *prefix_ptr++ = '=';
+   if (IsConfCanFlood(aconf))
+       *prefix_ptr++ = '|';

  #ifdef E_LINES_OPER_ONLY
    if(IsAnOper(sptr))
Index: src/parse.c
===================================================================
RCS file: /cvsroot/ircd-hybrid-6/src/parse.c,v
retrieving revision 1.47
diff -c -r1.47 parse.c
*** src/parse.c 30 Dec 2001 03:25:48 -0000      1.47
--- src/parse.c 7 Jan 2002 06:06:26 -0000
***************
*** 236,247 ****
  #ifdef NO_OPER_FLOOD
  #ifndef TRUE_NO_OPER_FLOOD
  /* note: both have to be defined for the real no-flood */
!           if (IsAnOper(cptr))
              /* "randomly" (weighted) increase the since */
              cptr->since += (cptr->receiveM % 5) ? 1 : 0;
            else
  #else
!           if (!IsAnOper(cptr))
  #endif
  #endif
              cptr->since += (2 + i / 120);
--- 236,247 ----
  #ifdef NO_OPER_FLOOD
  #ifndef TRUE_NO_OPER_FLOOD
  /* note: both have to be defined for the real no-flood */
!           if (IsAnOper(cptr) || CanFlood(cptr))
              /* "randomly" (weighted) increase the since */
              cptr->since += (cptr->receiveM % 5) ? 1 : 0;
            else
  #else
!           if (!IsAnOper(cptr) && !CanFlood(cptr))
  #endif
  #endif
              cptr->since += (2 + i / 120);
Index: src/s_conf.c
===================================================================
RCS file: /cvsroot/ircd-hybrid-6/src/s_conf.c,v
retrieving revision 1.235
diff -c -r1.235 s_conf.c
*** src/s_conf.c        30 Dec 2001 03:36:47 -0000      1.235
--- src/s_conf.c        7 Jan 2002 06:06:33 -0000
***************
*** 1851,1856 ****
--- 1851,1859 ----
            aconf->flags |= CONF_FLAGS_IDLE_LINED;
            break;
  #endif
+               case '|':
+                 aconf->flags |= CONF_FLAGS_CANFLOOD;
+                 break;
          default:
            return tmp;
          }
Index: src/s_user.c
===================================================================
RCS file: /cvsroot/ircd-hybrid-6/src/s_user.c,v
retrieving revision 1.245
diff -c -r1.245 s_user.c
*** src/s_user.c        19 Dec 2001 23:02:06 -0000      1.245
--- src/s_user.c        7 Jan 2002 06:06:37 -0000
***************
*** 1065,1070 ****
--- 1065,1077 ----
           ":%s NOTICE %s :*** You are exempt from K/D/G lines. congrats.",
                   me.name,sptr->name);
      }
+   if(IsConfCanFlood(aconf))
+       {
+         SetCanFlood(sptr);
+         sendto_one(sptr,
+                                ":%s NOTICE %s :*** You can flood, go nuts!",
+                                me.name, sptr->name);
+       }
  #ifdef GLINES
    else if(IsConfExemptGline(aconf))
      {
