X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/ee8cd7d0d6fba8d57f6321c44978e4f66d2b6f36..440cd7e63ac2b059ea1a467a2e4e2244faf92cb3:/proxyscan/proxyscandb.c diff --git a/proxyscan/proxyscandb.c b/proxyscan/proxyscandb.c index 484445d2..c378c726 100644 --- a/proxyscan/proxyscandb.c +++ b/proxyscan/proxyscandb.c @@ -99,6 +99,14 @@ const char *scantostr(int type) { case STYPE_DIRECT: reason="forward"; break; + + case STYPE_DIRECT_IRC: + reason="fwdirc"; + break; + + case STYPE_ROUTER: + reason="router"; + break; } return reason; @@ -122,8 +130,8 @@ int scantodm(int scannum) { */ void loggline(cachehost *chp, patricia_node_t *node) { - char reasonlist[100]; - char reasonesc[200 + 1]; /* reasonlist*2+1 */ + char reasonlist[200]; + char reasonesc[400 + 1]; /* reasonlist*2+1 */ int reasonmask=0; int reasonpos=0; foundproxy *fpp; @@ -136,6 +144,9 @@ void loggline(cachehost *chp, patricia_node_t *node) { reasonlist[0]='\0'; reasonmask=0; for (fpp=chp->proxies;fpp;fpp=fpp->next) { + if ((reasonpos + 20) > sizeof(reasonlist)) + break; + reasonpos += sprintf(reasonlist+reasonpos, "%s:%d ",scantostr(fpp->type), fpp->port); } @@ -196,10 +207,12 @@ void proxyscandolistopen_real(DBConn *dbconn, void *arg) { sendnoticetouser(proxyscannick,np,"--- End of list ---"); } -void proxyscandolistopen(nick *mynick, nick *usernick, time_t snce) { - +int proxyscandolistopen(void *sender, int cargc, char **cargv) { + nick *usernick = (nick *)sender; + dbasyncquery(proxyscandolistopen_real,(void *)usernick->numeric, - "SELECT IP,TS,RH FROM openproxies WHERE TS>'%lu' ORDER BY TS",snce); + "SELECT IP,TS,RH FROM openproxies WHERE TS>'%lu' ORDER BY TS",time(NULL)-rescaninterval); + return CMD_OK; } /* @@ -282,7 +295,6 @@ void proxyscanshowkill_real(DBConn *dbconn, void *arg) { sendnoticetouser(proxyscannick,np,"--- End of list ---"); } - void proxyscanshowkill(nick *mynick, nick *usernick, unsigned long a) { dbasyncquery(proxyscanspewip_real,(void *)usernick->numeric, "SELECT ID,IP,TS,RH FROM openproxies WHERE ID='%lu'",a);