From 7a6dd923984694297441b6d1b0dd19860a2de975 Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Mon, 14 Jul 2025 08:05:53 -0400 Subject: [PATCH] Better scarmt log presentation --- app/scarmt.c | 27 ++++++++++++++------------- lib/gessql.c | 2 +- lib/unidns.c | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/app/scarmt.c b/app/scarmt.c index 523b573..9aea67f 100644 --- a/app/scarmt.c +++ b/app/scarmt.c @@ -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; diff --git a/lib/gessql.c b/lib/gessql.c index b0a495d..0c214df 100644 --- a/lib/gessql.c +++ b/lib/gessql.c @@ -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; diff --git a/lib/unidns.c b/lib/unidns.c index e18b9dc..0a2b48a 100644 --- a/lib/unidns.c +++ b/lib/unidns.c @@ -178,7 +178,7 @@ while((answer-->0)&&(cp