]> jfr.im git - irc/quakenet/newserv.git/commitdiff
TROJANSCAN: don't use opers/services/... hosts.
authorChris Porter <redacted>
Tue, 20 Jan 2009 20:46:23 +0000 (20:46 +0000)
committerChris Porter <redacted>
Tue, 20 Jan 2009 20:46:23 +0000 (20:46 +0000)
Tune parameters for 2009!
Bump version.

trojanscan/trojanscan.c
trojanscan/trojanscan.h

index 21d2849576eef63931c1f4442f58cbb61295c1db..a5cf677323a244af83fd3ee1d0c9ea84f596e2a3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Trojanscan version 2
  *
- * Trojanscan  copyright (C) Chris Porter 2002-2007
+ * Trojanscan  copyright (C) Chris Porter 2002-2009
  * Newserv bits copyright (C) David Mansell 2002-2003
  * 
  * TODO: CHECK::
@@ -2382,6 +2382,16 @@ host *trojanscan_selecthost(void) {
   return NULL;
 }
 
+static int specialuseronhost(host *hp) {
+  nick *np;
+
+  for(np=hp->nicks;np;np=np->nextbyhost)
+    if(IsOper(np) || IsService(np) || IsXOper(np) || NickOnServiceServer(np))
+      return 1;
+
+  return 0;
+}
+
 void trojanscan_generatehost(char *buf, int maxsize, patricia_node_t **fakeip) {
   struct irc_in_addr ipaddress;
 
@@ -2393,7 +2403,7 @@ void trojanscan_generatehost(char *buf, int maxsize, patricia_node_t **fakeip) {
 
     do {
       hp = trojanscan_selecthost();
-      if(hp && (hp->clonecount <= TROJANSCAN_MAX_CLONE_COUNT) && !trojanscan_isip(hp->name->content)) {
+      if(hp && (hp->clonecount <= TROJANSCAN_MAX_CLONE_COUNT) && !trojanscan_isip(hp->name->content) && !specialuseronhost(hp)) {
         strlcpy(buf, hp->name->content, maxsize + 1);
         if(hp->nicks) {
           *fakeip = hp->nicks->ipnode;
index df19eb96e2a8bf4398626af925fc6ab0061ac289..c14ed691952826150c90f5cc25135383ee81f7a1 100644 (file)
@@ -18,7 +18,7 @@
 #include <ctype.h>
 #include <strings.h>
 
-#define TROJANSCAN_VERSION "2.71"
+#define TROJANSCAN_VERSION "2.72"
 
 #define TROJANSCAN_MAX_HOST_GLINE   5
 
 
 #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 150
+#define TROJANSCAN_DEFAULT_PARTTIME 260
 #define TROJANSCAN_DEFAULT_MAXUSERS 20
 
 #define TROJANSCAN_POOL_REGENERATION 3600
 #define TROJANSCAN_HOST_POOL      0x00
 #define TROJANSCAN_STEAL_HOST     0x01
 
-#define TROJANSCAN_EPIDEMIC_MULTIPLIER 40
+#define TROJANSCAN_EPIDEMIC_MULTIPLIER 20
 
 #define TROJANSCAN_HOST_MODE      TROJANSCAN_STEAL_HOST
 
-#define TROJANSCAN_MAX_CLONE_COUNT 5
+#define TROJANSCAN_MAX_CLONE_COUNT 3
 
 #define TROJANSCAN_CAT "./trojanscan/cat.txt"
 
@@ -73,7 +73,7 @@
 #define TROJANSCAN_IPLEN         20
 
 #define TROJANSCAN_VERSION_DETECT "\001VERSION"
-#define TROJANSCAN_DEFAULT_VERSION_REPLY "mIRC v6.31 Khaled Mardam-Bey"
+#define TROJANSCAN_DEFAULT_VERSION_REPLY "mIRC v6.35 Khaled Mardam-Bey"
 
 typedef struct trojanscan_clones {
   int              remaining, sitting, index;