X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/c8fdcfa5894bf7efbdab4b703dc8d2aa1d698d76..8855bb48b449ed06cfd3ce528b3c0a77c37cb24b:/trojanscan/trojanscan.h?ds=sidebyside diff --git a/trojanscan/trojanscan.h b/trojanscan/trojanscan.h index d2339284..aba084fa 100644 --- a/trojanscan/trojanscan.h +++ b/trojanscan/trojanscan.h @@ -5,6 +5,7 @@ #include "../core/schedule.h" #include "../lib/irc_string.h" #include "../lib/splitline.h" +#include "../lib/strlfunc.h" #include "../localuser/localuserchannel.h" #include @@ -17,26 +18,26 @@ #include #include -#define TROJANSCAN_VERSION "2.51" +#define TROJANSCAN_VERSION "2.72" -#define TROJANSCAN_CLONE_MAX 300 /* 80 */ +#define TROJANSCAN_CLONE_MAX 75 #define TROJANSCAN_WATCHCLONE_MAX 75 #define TROJANSCAN_CLONE_TOTAL TROJANSCAN_CLONE_MAX + TROJANSCAN_WATCHCLONE_MAX #define TROJANSCAN_POOLSIZE 1000 -#define TROJANSCAN_MINPOOLSIZE 100 +#define TROJANSCAN_MINPOOLSIZE 500 /* 500 */ -#define TROJANSCAN_MINIMUM_HOSTS_BEFORE_POOL 500 +#define TROJANSCAN_MINIMUM_HOSTS_BEFORE_POOL 5000 /* 5000 */ -#define TROJANSCAN_DEFAULT_MAXCHANS 500 -#define TROJANSCAN_DEFAULT_CYCLETIME 600 +#define TROJANSCAN_DEFAULT_MAXCHANS 750 +#define TROJANSCAN_DEFAULT_CYCLETIME 1600 -#define TROJANSCAN_DEFAULT_MINIMUM_CHANNEL_SIZE 100 +#define TROJANSCAN_DEFAULT_MINIMUM_CHANNEL_SIZE 100 /* 100 */ -#define TROJANSCAN_NICKCHANGE_ODDS 8 +#define TROJANSCAN_NICKCHANGE_ODDS 16 #define TROJANSCAN_INVISIBLE_ODDS 8 -#define TROJANSCAN_DEFAULT_PARTTIME 100 +#define TROJANSCAN_DEFAULT_PARTTIME 260 #define TROJANSCAN_DEFAULT_MAXUSERS 20 #define TROJANSCAN_POOL_REGENERATION 3600 @@ -48,9 +49,11 @@ #define TROJANSCAN_HOST_MODE TROJANSCAN_STEAL_HOST +#define TROJANSCAN_MAX_CLONE_COUNT 3 + #define TROJANSCAN_CAT "./trojanscan/cat.txt" -#define TROJANSCAN_CHANNEL "#qnet.sec.trj" +#define TROJANSCAN_CHANNEL "#qnet.trj" #define TROJANSCAN_OPERCHANNEL "#twilightzone" #define TROJANSCAN_URL_PREFIX "http://trojanscan.quakenet.org/?" @@ -64,15 +67,16 @@ #define TROJANSCAN_QUERY_TEMP_BUF_SIZE 1040 #define TROJANSCAN_QUERY_BUF_SIZE 5040 -#define TROJANSCAN_FIRST_OFFENSE 2 +#define TROJANSCAN_FIRST_OFFENSE 12 #define TROJANSCAN_IPLEN 20 #define TROJANSCAN_VERSION_DETECT "\001VERSION" -#define TROJANSCAN_CLONE_VERSION_REPLY "mIRC v6.16 Khaled Mardam-Bey" +#define TROJANSCAN_DEFAULT_VERSION_REPLY "mIRC v6.35 Khaled Mardam-Bey" typedef struct trojanscan_clones { int remaining, sitting, index; nick *clone; + patricia_node_t *fakeipnode; } trojanscan_clones; typedef struct trojanscan_channels { @@ -144,7 +148,7 @@ typedef struct trojanscan_flagmodification { typedef struct trojanscan_rejoinlist { sstring *channel; - nick *clone; + trojanscan_clones *clone; void *schedule; struct trojanscan_realchannels *rp; struct trojanscan_rejoinlist *next; @@ -205,9 +209,10 @@ char trojanscan_getmtfrommessagetype(int input); void trojanscan_handlemessages(nick *target, int messagetype, void **args); void trojanscan_clonehandlemessages(nick *target, int messagetype, void **args); -void trojanscan_mainchanmsg(char *message, ...); -void trojanscan_reply(nick *target, char *message, ... ); -void trojanscan_privmsg_chan_or_nick(channel *cp, nick *np, char *text, ...); +void trojanscan_mainchanmsg(char *message, ...) __attribute__ ((format (printf, 1, 2))); +void trojanscan_peonchanmsg(char *message, ...) __attribute__ ((format (printf, 1, 2))); +void trojanscan_reply(nick *target, char *message, ... ) __attribute__ ((format (printf, 2, 3))); +void trojanscan_privmsg_chan_or_nick(channel *cp, nick *np, char *text, ...) __attribute__ ((format (printf, 3, 4))); void trojanscan_connect(void *arg); void trojanscan_dojoin(void *arg); @@ -239,7 +244,7 @@ char *trojanscan_iptostr(char *buf, int buflen, unsigned int ip); int trojanscan_database_connect(char *dbhost, char *dbuser, char *dbpass, char *db, unsigned int port); void trojanscan_database_close(void); void trojanscan_database_escape_string(char *dest, char *source, size_t length); -int trojanscan_database_query(char *format, ...); +int trojanscan_database_query(char *format, ...) __attribute__ ((format (printf, 1, 2))); int trojanscan_database_num_rows(trojanscan_database_res *res); trojanscan_database_res *trojanscan_database_store_result(); trojanscan_database_row trojanscan_database_fetch_row(trojanscan_database_res *res); @@ -251,13 +256,13 @@ void trojanscan_genreal(char *ptc, char size); char trojanscan_genchar(int ty); void trojanscan_gennick(char *ptc, char size); void trojanscan_genident(char *ptc, char size); -void trojanscan_genhost(char *ptc, char size); +void trojanscan_genhost(char *ptc, char size, patricia_node_t **fakeipnode); int trojanscan_generatepool(void); void trojanscan_watch_clone_update(struct trojanscan_prechannels *hp, int count); void trojanscan_repool(void *arg); -void trojanscan_generatehost(char *buf, int maxsize); +void trojanscan_generatehost(char *buf, int maxsize, patricia_node_t **fakeipnode); void trojanscan_generatenick(char *buf, int maxsize); void trojanscan_generateident(char *buf, int maxsize); void trojanscan_generaterealname(char *buf, int maxsize); @@ -282,7 +287,7 @@ char trojanscan_hostmode; void *trojanscan_schedule, *trojanscan_connect_schedule; void *trojanscan_initialschedule, *trojanscan_rehashschedule, *trojanscan_poolschedule, *trojanscan_cloneschedule; -int trojanscan_minchansize; +int trojanscan_minchansize, trojanscan_min_hosts; int trojanscan_swarm_created = 0; nick *trojanscan_nick;