]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Better scarmt log presentation
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Mon, 14 Jul 2025 12:05:53 +0000 (08:05 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Mon, 14 Jul 2025 12:05:53 +0000 (08:05 -0400)
app/scarmt.c
lib/gessql.c
lib/unidns.c

index 523b573bb1d982f98d319078b16b980896f5c652..9aea67f18ed9ee8671733db0aa2001dc187c9453 100644 (file)
@@ -77,23 +77,22 @@ while (proceed==true) {
       srv->credit=0;
       srv->lastscan=time((time_t *)0);
       if (dnsbls!=(char **)0) {
-        char cst[100];
-
-        (void) snprintf(cst,sizeof(cst),"IP[%02d]: %s",num,rmtip);
         while (*dnsbls!=(char *)0) {
           char *report;
           char *listed;
+          char cst[100];
 
           report=(char *)0;
           listed=dns_is_blacklisted(*dnsbls,reversip);
+          (void) snprintf(cst,sizeof(cst),"IP[%02d]: %s\t",num,rmtip);
           if (listed!=(char *)0) {
-            (void) rou_asprintf(&report,"%s\tlisted->'%s'",cst,listed);
+            (void) rou_asprintf(&report,"%s listed->'%s'",cst,listed);
             srv->credit-=10;
             if (srv->listing==(char *)0)
               srv->listing=strdup(listed);
             }
           else
-            (void) rou_asprintf(&report,"%s\tNOT listed",cst);
+            (void) rou_asprintf(&report,"%s NOT listed by %s",cst,*dnsbls);
           (void) log_fprintlog(scanref->logptr,true,report); 
           report=rou_freestr(report);
           listed=rou_freestr(listed);
@@ -240,12 +239,14 @@ while (proceed==true) {
       break;
     case 1      :       //check about signal
       (void) sleep(delay);
+      break;
+    case 2      :       //double check signal
       if ((hangup==true)||((reload==true))) {
         (void) rou_alert(0,"%s got hangup or reload signal",OPEP);
         phase=999;
         }
       break;
-    case 2      :       //refreshing the dnsbls list
+    case 3      :       //refreshing the dnsbls list
       cycle++;
       if ((cycle%100)==0) {
         dnsbls=(char **)rou_freelist((void **)dnsbls,(genfree_t)rou_freestr);
@@ -254,19 +255,19 @@ while (proceed==true) {
         }
       proceed=(dnsbls!=(char **)0);
       break;
-    case 3      :       //opening database
+    case 4      :       //opening database
       if ((scanref.sqlptr=sql_opensql())==(SQLPTR *)0) {
         (void) rou_alert(0,"%s Unable to open database (Config?)",OPEP);
         phase=999;      //Trouble trouble
         }
       break;
-    case 4      :       //check for new entry
+    case 5      :       //check for new entry
       if ((rmtip=sql_getnewrmtip(scanref.sqlptr))==(char **)0) {
         scanref.sqlptr=sql_closesql(scanref.sqlptr);
         phase=0;        //nothing to be done
         }
       break;
-    case 5      :  {    //opening log
+    case 6      :  {    //opening log
       char *sessid;
       int numip;
       char cmt[200];
@@ -282,18 +283,18 @@ while (proceed==true) {
       sessid=rou_freestr(sessid);
       }
       break;
-    case 6      :       //check entries
+    case 7      :       //check entries
       for (int i=0;rmtip[i]!=(char *)0;i++) {
-        (void) check_credibility(&scanref,dnsbls,i,rmtip[i]);
+        (void) check_credibility(&scanref,dnsbls,i+1,rmtip[i]);
         if ((hangup==true)||((reload==true))) 
           break;        //No need to check other remote
         }
       rmtip=(char **)rou_freelist((void **)rmtip,(genfree_t)rou_freestr);
       break;
-    case 7      :       //let continue
+    case 8      :       //let continue
       scanref.logptr=log_closelog(scanref.logptr);
       scanref.sqlptr=sql_closesql(scanref.sqlptr);
-      phase=0;          //looping the job again
+      phase=1;          //looping quickly to do next batch
       break;
     default     :       //SAFE Guard
       proceed=false;
index b0a495d3b02efcb5649b2b2fc4cd15a21d3dcb71..0c214dfde2078af01572236de9f691d7dec7ceca 100644 (file)
@@ -751,7 +751,7 @@ PUBLIC char **sql_getnewrmtip(SQLPTR *sqlptr)
 #define OPEP    "gessql.c:sql_getnewrmtip,"
 #define DATLIM  "2020-01-01"
 
-static char *cmd="select remoteip from "RMTTBL" where lastscan<='"DATLIM"' order by lastupdate asc limit 10";
+static char *cmd="select remoteip from "RMTTBL" where lastscan<='"DATLIM"' order by lastupdate asc limit 5";
 
 char **rmtip;
 SQLRES *rs;
index e18b9dc9906c82e913ade907b5da2c4e51a0cbd2..0a2b48aa42eda75331a6b8ab5842fe54682f6ab7 100644 (file)
@@ -178,7 +178,7 @@ while((answer-->0)&&(cp<eom)) {
          (void) memset(buf,'\000',sizeof(buf));
           taille=((u_int)(txtptr[0]))&0X0FF; 
          txtptr++;
-          (void) snprintf(buf,sizeof(buf),"%.*s ",taille,txtptr);
+          (void) snprintf(buf,sizeof(buf),"%.*s",taille,txtptr);
          dynbuf=(char *)realloc(dynbuf,strlen(dynbuf)+strlen(buf)+5);
          (void) strcat(dynbuf,buf);
          collected+=taille+1;