]> jfr.im git - irc/quakenet/newserv.git/blobdiff - proxyscan/proxyscandb.c
BUILD: improve workspace mechanism
[irc/quakenet/newserv.git] / proxyscan / proxyscandb.c
index 38397aa5089cb9e607c5b837f3a04c2c3f584478..f3ee2d784f40adbd210d0794ac49507a9585bc71 100644 (file)
@@ -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;
@@ -199,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;
 }
 
 /*
@@ -213,6 +223,7 @@ void proxyscandolistopen(nick *mynick, nick *usernick, time_t snce) {
 void proxyscanspewip_real(DBConn *dbconn, void *arg) {
   nick *np=getnickbynumeric((unsigned long)arg);
   DBResult *pgres;
+  char timebuf[30];
 
   pgres=dbgetresult(dbconn);
   if (!dbquerysuccessful(pgres)) {
@@ -233,9 +244,12 @@ void proxyscanspewip_real(DBConn *dbconn, void *arg) {
 
   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);
@@ -285,7 +299,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);