]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Problem with get_spf
authorJean-Marc Pigeon <jmp@safe.c>
Sun, 16 Nov 2025 21:38:12 +0000 (16:38 -0500)
committerJean-Marc Pigeon <jmp@safe.c>
Sun, 16 Nov 2025 21:38:12 +0000 (16:38 -0500)
lib/gesspf.c
lib/lvleml.c

index 727716da67f0c331a15ecaac825319429573c15b..3e20e6a6e76d648fc65bb4ed17ae7dda85adcc53 100644 (file)
@@ -651,23 +651,27 @@ PUBLIC SPFENU spf_getspf(char *mailfrom,char *peerip)
 
 SPFENU spf;
 char *domain;
-AFNTYP **afns;
 
 spf=spf_unknown;
 domain=strchr(mailfrom,'@');
+(void) rou_dbglive(9,OPEP,"Domain=<%s>",domain);
 if (domain!=(char *)0)
   domain++;
-afns=afn_getipnums(peerip);
-if ((afns!=(AFNTYP **)0)&&(domain!=(char *)0)) {
-  int try;
-
-  try=0;
-  for (int i=0;afns[i]!=(AFNTYP *)0;i++) {
-    spf=spf_getstatus(&try,domain,afns[i]);
-    (void) rou_dbglive(9,OPEP,"SPF[%d] for [%s]=<%s>",
-                         i,afns[i]->strnumip,spf_spfASCII(spf));
+if (domain!=(char *)0) {
+  AFNTYP **afns;
+
+  afns=afn_getipnums(peerip);
+  if (afns!=(AFNTYP **)0) {
+    int try;
+
+    try=0;
+    for (int i=0;afns[i]!=(AFNTYP *)0;i++) {
+      spf=spf_getstatus(&try,domain,afns[i]);
+      (void) rou_dbglive(9,OPEP,"SPF[%d] for [%s]=<%s>",
+                           i,afns[i]->strnumip,spf_spfASCII(spf));
+      }
+    afns=(AFNTYP **)rou_freelist((void **)afns,(genfree_t)afn_freeipnum);
     }
-  afns=(AFNTYP **)rou_freelist((void **)afns,(genfree_t)afn_freeipnum);
   }
 return spf;
 
index b5e22e1281c4d574647879dd8f37ed3373d68e9d..eed41e59b0c79de0d98c16935ae2db155d13e0c3 100644 (file)
@@ -1701,7 +1701,7 @@ return isok;
 static _Bool checkfrom(CONTYP *contact,char *mailfrom)
 
 {
-#define OPEP    "lvleml.c:checkfrom,"
+#define OPEP    "lvleml.c:checkfrom"
 
 _Bool success;
 char *strsize;
@@ -1772,6 +1772,7 @@ while (proceed==true) {
         }
       break;
     case 5      :       //Checking if the SPF is good from the originator
+      contact->fromspf=spf_getspf(mailfrom,contact->peerip);
       break;
     case 6      :       //everything ok
       contact->mailfrom=strdup(mailfrom);