*/
/********************************************************/
/* */
+/* Procedure to check ip peerip is within an */
+/* spf sequence */
+/* */
+/********************************************************/
+static _Bool checkip(char *peerip,char *seq)
+
+{
+_Bool bingo;
+
+bingo=false;
+(void) printf("JMPDBG checkip peerip=<%s> seq=<%s>\n",peerip,seq);
+return bingo;
+}
+/*
+\f
+*/
+/********************************************************/
+/* */
/* Procedure to return an spf status according */
/* sequence contents */
/* */
locspf=spf_pass;
phase=0;
proceed=true;
-(void) printf("JMPDBG checkseq seq=<%s>\n",seq);
while (proceed==true) {
switch (phase) {
case 0 : //is the sequence an SPF Mechanisms
case mch_all : //usually last in sequence
spf=locspf;
break;
+ case mch_ip4 : //include sub domain
+ if (checkip(peerip,seq+1)==true)
+ spf=locspf;
+ break;
case mch_include : //include sub domain
- (void) printf("JMPDBG should include <%s>\n",seq+1);
if (seq[0]==':') {
(*try)++;
spf=dns_get_spf_status(try,seq+1,peerip);
int phase;
_Bool proceed;
-spf=spf_permerr;
+spf=spf_neutral;
phase=0;
proceed=true;
while (proceed==true) {
spfrec+=strlen(seq);
spf=checkseq(try,seq,peerip,spf);
seq=rou_freestr(seq);
+ if (spf!=spf_neutral)
+ break; //Found a status breaking loop
}
}
break;
list=(char **)0;
phase=0;
proceed=true;
+(void) printf("JMPDBG try='%02d' domain=<%s> peerip=<%s>\n",*try,domain,peerip);
while (proceed==true) {
switch (phase) {
case 0 : //Are the parameters available
}
break;
case 4 : //gett the spf LIST related to SPF
- (void) printf("JMPDBG peerip=<%s>, spf=<%s>\n",peerip,list[0]);
spf=is_peerip_ok(try,peerip,list[0]);
list=(char **)rou_freelist((void **)list,(freehandler_t)rou_freestr);
break;