#include "main.h"
-#define SPAMSETTINGS_SPAMSCAN 0x01
-#define SPAMSETTINGS_FLOODSCAN 0x02
-#define SPAMSETTINGS_JOINSCAN 0x04
-#define SPAMSETTINGS_SCANOPS 0x08
-#define SPAMSETTINGS_SCANVOICE 0x10
+#define SPAMSETTINGS_SPAMSCAN 0x0001
+#define SPAMSETTINGS_FLOODSCAN 0x0002
+#define SPAMSETTINGS_JOINSCAN 0x0004
+#define SPAMSETTINGS_SCANOPS 0x0008
+#define SPAMSETTINGS_SCANVOICE 0x0010
+#define SPAMSETTINGS_BOTNETSCAN 0x0020
+#define SPAMSETTINGS_KICKEDBOTQUEUE 0x0040
#define MAX_FLOOD_AMOUNT 300
#define MIN_FLOOD_AMOUNT 2
#define MIN_JOIN_AMOUNT 2
#define MAX_JOIN_TIME 200
+#define BOTNETSCAN_USERS 4
+#define BOTNETSCAN_TIME 2
+
struct NeonSpamSettings {
unsigned int flags;
unsigned char spam_amount;
unsigned char join_amount;
unsigned char join_time;
unsigned int exceptlevel : 10;
+
+ //joinflood
struct NeonSpamJoinNode *join_nodes;
+
+ //botnet
+ unsigned long lastmsg; //crc32 hash
+ time_t lastmsg_time;
+ char *botnicks[BOTNETSCAN_USERS];
+
+
};
/* PENALTY SYSTEM
* user gets MAX_FLOOD_TIME points per message