X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fbot_NeonSpam.h;h=30bd136ddc6a15cae349456710c63c3c621af7bb;hb=c575e458c6257e75b97884847143b20965a5dfda;hp=77fb4eefc07da03771581e14480a60fe7ab85be8;hpb=7883ed891507cb802ac13877adf1ebeb86e50a17;p=NeonServV5.git diff --git a/src/bot_NeonSpam.h b/src/bot_NeonSpam.h index 77fb4ee..30bd136 100644 --- a/src/bot_NeonSpam.h +++ b/src/bot_NeonSpam.h @@ -1,4 +1,4 @@ -/* bot_NeonSpam.h - NeonServ v5.1 +/* bot_NeonSpam.h - NeonServ v5.2 * Copyright (C) 2011 Philipp Kreil (pk910) * * This program is free software: you can redistribute it and/or modify @@ -20,13 +20,64 @@ #include "main.h" -#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 +//SPAMSCAN +#define SPAMSETTINGS_SPAMSCAN 0x000001 +#define SPAMSETTINGS_SPAMSCAN_OPS 0x000002 +#define SPAMSETTINGS_SPAMSCAN_VOICE 0x000004 +#define SPAMSETTINGS_SPAMCHARS "abc" +#define SPAMSETTINGS_SPAMEXCINDEX 0 + +//FLOODSCAN +#define SPAMSETTINGS_FLOODSCAN 0x000008 +#define SPAMSETTINGS_FLOODSCAN_OPS 0x000010 +#define SPAMSETTINGS_FLOODSCAN_VOICE 0x000020 +#define SPAMSETTINGS_FLOODCHARS "def" +#define SPAMSETTINGS_FLOODEXCINDEX 1 +#define SPAMSETTINGS_FLOODSENINDEX 0 + +//JOINSCAN +#define SPAMSETTINGS_JOINSCAN 0x000040 +#define SPAMSETTINGS_JOINSCAN_OPS 0x000080 +#define SPAMSETTINGS_JOINSCAN_VOICE 0x000100 +#define SPAMSETTINGS_JOINCHARS "ghi" +#define SPAMSETTINGS_JOINEXCINDEX 2 +#define SPAMSETTINGS_JOINSENINDEX 1 + +//BOTNET SCAN +#define SPAMSETTINGS_BOTNETSCAN 0x000200 +#define SPAMSETTINGS_BOTNETSCAN_OPS 0x000400 +#define SPAMSETTINGS_BOTNETSCAN_VOICE 0x000800 +#define SPAMSETTINGS_BOTNETSCAN_STRIPCC 0x001000 +#define SPAMSETTINGS_BOTNETCHARS "jklm" +#define SPAMSETTINGS_BOTNETEXCINDEX 3 + +//CAPSSCAN +#define SPAMSETTINGS_CAPSSCAN 0x002000 +#define SPAMSETTINGS_CAPSSCAN_OPS 0x004000 +#define SPAMSETTINGS_CAPSSCAN_VOICE 0x008000 +#define SPAMSETTINGS_CAPSCHARS "nop" +#define SPAMSETTINGS_CAPSEXCINDEX 4 +#define SPAMSETTINGS_CAPSPERCENTINDEX 0 + +//DIGITSCAN +#define SPAMSETTINGS_DIGITSCAN 0x010000 +#define SPAMSETTINGS_DIGITSCAN_OPS 0x020000 +#define SPAMSETTINGS_DIGITSCAN_VOICE 0x040000 +#define SPAMSETTINGS_DIGITCHARS "qrs" +#define SPAMSETTINGS_DIGITEXCINDEX 5 +#define SPAMSETTINGS_DIGITPERCENTINDEX 1 + + +#define SPAMSETTINGS_CHARS SPAMSETTINGS_SPAMCHARS SPAMSETTINGS_FLOODCHARS SPAMSETTINGS_JOINCHARS SPAMSETTINGS_BOTNETCHARS SPAMSETTINGS_CAPSCHARS SPAMSETTINGS_DIGITCHARS +#define SPAMSETTINGS_FLAGS 0x07ffff /* all flags that can be stored in the database */ +#define SPAMSETTINGS_EXCEPTINDEXES 6 +#define SPAMSETTINGS_SENSIBILITYINDEXES 2 +#define SPAMSETTINGS_PERCENTINDEXES 2 + +//SCRIPT FLAGS +#define SPAMSETTINGS_KICKEDBOTQUEUE 0x080000 +#define SPAMSETTINGS_ISTIMEBAN 0x100000 +#define SPAMSETTINGS_SETTIMEBAN 0x200000 #define MAX_FLOOD_AMOUNT 300 #define MIN_FLOOD_AMOUNT 2 @@ -42,11 +93,10 @@ struct NeonSpamSettings { unsigned int flags; unsigned char spam_amount; - unsigned char flood_amount; - unsigned char flood_time; - unsigned char join_amount; - unsigned char join_time; - unsigned int exceptlevel : 10; + unsigned char sensibility_amount[SPAMSETTINGS_SENSIBILITYINDEXES]; + unsigned char sensibility_time[SPAMSETTINGS_SENSIBILITYINDEXES]; + unsigned int exceptlevel[SPAMSETTINGS_EXCEPTINDEXES]; + unsigned char percent[SPAMSETTINGS_PERCENTINDEXES]; //joinflood struct NeonSpamJoinNode *join_nodes; @@ -68,11 +118,15 @@ struct NeonSpamSettings { * are bigger than MAX_FLOOD_TIME * flood_amount */ +#define NEONSPAMNODE_FLAG_CAPSSCAN_WARNED 0x01 +#define NEONSPAMNODE_FLAG_DIGITSCAN_WARNED 0x02 + struct NeonSpamNode { unsigned long lastmsg; //crc32 hash unsigned char spamcount; int floodpenalty; time_t last_penalty_update; + unsigned char flags; }; struct NeonSpamJoinNode { @@ -88,5 +142,6 @@ void loop_NeonSpam(); void free_NeonSpam(); void freeNeonSpamSettings(struct NeonSpamSettings *settings); +char* convertNeonSpamSettingsToString(unsigned int flags, char *buffer); #endif \ No newline at end of file