Procházet zdrojové kódy

Add chanint (+|-)floodban to ban flooders

ducch před 14 roky
rodič
revize
b0c0ca2c49

+ 2 - 0
src/chan.h

@@ -258,6 +258,7 @@ struct chanset_t {
 #define CHAN_AUTOOP         BIT23
 #define CHAN_MEANKICKS      BIT24	/* use mean/offensive kicks/bans */
 #define CHAN_VOICEBITCH     BIT25
+#define CHAN_FLOODBAN       BIT26
 
 #define CHAN_ASKED_EXEMPTS  BIT0
 #define CHAN_ASKED_INVITES  BIT1
@@ -293,6 +294,7 @@ struct chanset_t *findchan_by_dname(const char *name);
 #define channel_backup(chan) (chan->status & CHAN_BACKUP)
 #define channel_bitch(chan) (chan->status & CHAN_BITCH)
 #define chan_bitch(chan) (chan->status & (CHAN_BITCH|CHAN_BOTBITCH))
+#define channel_floodban(chan) (chan->status & CHAN_FLOODBAN)
 #define channel_botbitch(chan) (chan->status & CHAN_BOTBITCH)
 #define channel_nodesynch(chan) (chan->status & CHAN_NODESYNCH)
 #define channel_enforcebans(chan) (chan->status & CHAN_ENFORCEBANS)

+ 4 - 0
src/mod/channels.mod/chanmisc.c

@@ -589,6 +589,10 @@ int channel_modify(char *result, struct chanset_t *chan, int items, char **item,
  *    chan->temp = atoi(item[i]);
  */
 
+    else if (!strcmp(item[i], "+floodban"))
+      chan->status |= CHAN_FLOODBAN;
+    else if (!strcmp(item[i], "-floodban"))
+      chan->status &= ~CHAN_FLOODBAN;
     else if (!strcmp(item[i], "+enforcebans"))
       chan->status |= CHAN_ENFORCEBANS;
     else if (!strcmp(item[i], "-enforcebans"))

+ 1 - 0
src/mod/channels.mod/cmdschan.c

@@ -1213,6 +1213,7 @@ static void cmd_chaninfo(int idx, char *par)
       SHOW_FLAG("take",		channel_take(chan));
     SHOW_FLAG("voice",		channel_voice(chan));
     SHOW_FLAG("voicebitch",		channel_voicebitch(chan));
+    SHOW_FLAG("floodban", channel_floodban(chan));
     SHOW_FLAG("", 0);
     SHOW_FLAG("dynamicbans",	channel_dynamicbans(chan));
     SHOW_FLAG("userbans",	!channel_nouserbans(chan));

+ 2 - 1
src/mod/channels.mod/userchan.c

@@ -720,7 +720,7 @@ flood-kick %d:%d flood-deop %d:%d flood-nick %d:%d flood-mjoin %d:%d \
 closed-ban %d closed-invite %d closed-private %d ban-time %d \
 exempt-time %d invite-time %d voice-non-ident %d auto-delay %d \
 flood-exempt %d flood-lock-time %d knock %d fish-key { %s } \
-%cmeankicks %cenforcebans %cdynamicbans %cuserbans %cbitch \
+%cmeankicks %cenforcebans %cdynamicbans %cuserbans %cbitch %cfloodban \
 %cprivate %ccycle %cinactive %cdynamicexempts %cuserexempts \
 %cdynamicinvites %cuserinvites %cnodesynch %cclosed %cvoice \
 %cfastop %cautoop %cbotbitch %cbackup %cnomassjoin %crbl %cvoicebitch %cprotect protect-backup %d %c%s",
@@ -764,6 +764,7 @@ flood-exempt %d flood-lock-time %d knock %d fish-key { %s } \
 	PLSMNS(channel_dynamicbans(chan)),
 	PLSMNS(!channel_nouserbans(chan)),
 	PLSMNS(channel_bitch(chan)),
+	PLSMNS(channel_floodban(chan)),
 	PLSMNS(channel_privchan(chan)),
 	PLSMNS(channel_cycle(chan)),
         force_inactive ? '+' : PLSMNS(channel_inactive(chan)),