case STYPE_DIRECT:
reason="forward";
break;
+
+ case STYPE_DIRECT_IRC:
+ reason="fwdirc";
+ break;
+
+ case STYPE_ROUTER:
+ reason="router";
+ break;
}
return reason;
*/
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;
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);
}
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;
}
/*
void proxyscanspewip_real(DBConn *dbconn, void *arg) {
nick *np=getnickbynumeric((unsigned long)arg);
DBResult *pgres;
+ char timebuf[30];
pgres=dbgetresult(dbconn);
if (!dbquerysuccessful(pgres)) {
sendnoticetouser(proxyscannick,np,"%-5s %-20s %-22s %s","ID","IP","Found at","What was open");
while(dbfetchrow(pgres)) {
+ time_t t = strtoul(dbgetvalue(pgres, 2), NULL, 10);
+ strftime(timebuf, sizeof(timebuf), "%d/%m/%y %H:%M GMT", gmtime(&t));
+
sendnoticetouser(proxyscannick,np, "%-5s %-20s %-22s %s",dbgetvalue(pgres, 0),
dbgetvalue(pgres, 1),
- dbgetvalue(pgres, 2),
+ timebuf,
dbgetvalue(pgres, 3));
}
dbclear(pgres);
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);