From: Jean-Marc Pigeon (Delson) Date: Mon, 19 Aug 2024 08:59:29 +0000 (-0400) Subject: chkip6 test are now working X-Git-Tag: tag-0.4.2-end~11 X-Git-Url: https://jmp-git.ovh.safe.ca/?a=commitdiff_plain;h=021b218157eb1379582730e1919a0639fce019d8;p=jmp%2Fmailleur chkip6 test are now working --- diff --git a/app/chkdns.c b/app/chkdns.c index 750bbca..8bc801c 100644 --- a/app/chkdns.c +++ b/app/chkdns.c @@ -36,19 +36,16 @@ char *ptr; //removing head space while (line[0]==' ') - (void) memmove(line,line+1,strlen(line+1)); + (void) memmove(line,line+1,strlen(line+1)+1); //Extracting keyword (void) strcpy(keyword,line); if ((ptr=strchr(keyword,' '))!=(char *)0) *ptr='\000'; -if ((ptr=strchr(keyword,'\n'))!=(char *)0) - *ptr='\000'; - //cleaning line ptr=line+strlen(keyword); -(void) memmove(line,ptr,strlen(ptr)); +(void) memmove(line,ptr,strlen(ptr)+1); while (line[0]==' ') - (void) memmove(line,line+1,strlen(line+1)); + (void) memmove(line,line+1,strlen(line+1)+1); return strlen(keyword); } /* @@ -92,6 +89,8 @@ static int scanline(char *filename,FILE *fichier) { #define MAX 300 +static char *noneed="#\n\r"; + int status; int num; char line[MAX]; @@ -104,14 +103,11 @@ num=0; while (fgets(line,sizeof(line),fichier)!=(char *)0) { char *ptr; - (void) printf("JMPDBG line=<%s>\n",line); num++; - if ((ptr=strchr(line,'\n'))!=(char *)0) - *ptr='\000'; - if ((ptr=strchr(line,'\r'))!=(char *)0) - *ptr='\000'; - if ((ptr=strchr(line,'#'))!=(char *)0) - *ptr='\000'; + for (int i=0;i cidr='%d'",addrdom,cidr); + (void) printf("JMPDBG, checkaddr got <%s> ip<%s> cidr='%d'\n", + addrdom,afnnum->strnumip,cidr); break; default : //SAFE guard proceed=false; @@ -279,8 +280,6 @@ while (proceed==true) { OPEP,mxlist[i]->mxname); continue; } - (void) printf("JMPDBG addr=<%s> peer=<%s> cidr='%d'\n", - addrnum->strnumip,afnnum->strnumip,cidr); switch (afn_cmpipnum(addrnum,afnnum,cidr)) { case false : //not found break; @@ -407,7 +406,6 @@ _Bool proceed; spf=spf_neutral; locspf=spf_pass; -(void) printf("JMPDBG checkseq seq=<%s>\n",seq); phase=0; proceed=true; while (proceed==true) { @@ -443,7 +441,6 @@ while (proceed==true) { case mch_mx : //This is a MX refrence if (checkmx(domain,afnnum,seq)==true) spf=locspf; - (void) printf("JMPDBG checkmsx status='%s'\n",spf_spfASCII(spf)); break; case mch_ip4 : //This is IPV4 number case mch_ip6 : //This is IPV6 number @@ -477,7 +474,6 @@ while (proceed==true) { } phase++; } -(void) printf("JMPDBG checkseq status='%s'\n",spf_spfASCII(spf)); return spf; #undef OPEP diff --git a/lib/subafn.c b/lib/subafn.c index 2c0fc15..35d2458 100644 --- a/lib/subafn.c +++ b/lib/subafn.c @@ -36,8 +36,6 @@ areequal=false; if (mask>128) mask=128; maskbyt=mask/8; -(void) printf("JMPDBG mask='%d' compare <%s> et <%s>", - mask,ipnum1->strnumip,ipnum2->strnumip); if (memcmp(ipnum1->ip,ipnum2->ip,maskbyt)==0) { areequal=true; mask%=8; @@ -53,7 +51,6 @@ if (memcmp(ipnum1->ip,ipnum2->ip,maskbyt)==0) { areequal=false; } } -(void) printf("res='%d'\n", areequal); //JMPDBG return areequal; } /* @@ -230,13 +227,33 @@ while (proceed==true) { cleanipstr=ZIPV4; break; case 4 : //lets convert it - if (inet_pton(afnnum->afntype,cleanipstr,afnnum->ip)<=0) { - afnnum=afn_freeipnum(afnnum); - phase=999; //no need to go further + switch (inet_pton(afnnum->afntype,cleanipstr,afnnum->ip)) { + case 1 : //success + break; + case 0 : //Invalid IP number + (void) fprintf(stderr,"Unable to convert IP <%s> (Invalid IP number)\n", + cleanipstr); + afnnum=afn_freeipnum(afnnum); + phase=999; //no need to go further + break; + case -1 : //Invalid IP number + (void) fprintf(stderr,"Unable to convert IP <%s> (error=<%s>)\n", + cleanipstr,strerror(errno)); + afnnum=afn_freeipnum(afnnum); + phase=999; //no need to go further + break; + default : //Unexpected Result + (void) fprintf(stderr,"Unexpected status to convert IP <%s> " + "(error=<%s> BUG!?)\n", + cleanipstr,strerror(errno)); + afnnum=afn_freeipnum(afnnum); + phase=999; //no need to go further } break; case 5 : //lets convert it afnnum->strnumip=afn_getstrip(afnnum); + //(void) printf("JMPDBG <%s> -> converted to <%s>\n", + //cleanipstr,afnnum->strnumip); break; default : /*SAFE guard */ proceed=false; diff --git a/lib/subrou.c b/lib/subrou.c index f30e326..05c0d9e 100644 --- a/lib/subrou.c +++ b/lib/subrou.c @@ -21,7 +21,7 @@ //version definition #define VERSION "0.4.2" -#define RELEASE "24" +#define RELEASE "25" //Public variables PUBLIC int debug=0; //debug level