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);
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);
}
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];
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;