[exim-cvs] SPF: handle DNS NO_DATA return. Bug 2499

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] SPF: handle DNS NO_DATA return. Bug 2499
Gitweb: https://git.exim.org/exim.git/commitdiff/f73eb7e30a8a55c3934a2e5e0d0d30cf8bf44c09
Commit:     f73eb7e30a8a55c3934a2e5e0d0d30cf8bf44c09
Parent:     2b615f22d0ce78ba28a6d758d6a2a5c8cb33e10a
Author:     Wolfgang Breyha <wbreyha@???>
AuthorDate: Thu Jan 2 13:16:52 2020 +0000
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Thu Jan 2 13:16:52 2020 +0000


    SPF: handle DNS NO_DATA return.  Bug 2499
---
 src/src/spf.c              | 1 +
 test/scripts/4600-SPF/4601 | 1 +
 test/stdout/4601           | 1 +
 3 files changed, 3 insertions(+)


diff --git a/src/src/spf.c b/src/src/spf.c
index 1015d77..a8318dc 100644
--- a/src/src/spf.c
+++ b/src/src/spf.c
@@ -77,6 +77,7 @@ switch (dns_rc = dns_lookup(dnsa, US domain, rr_type, NULL))
   case DNS_SUCCEED:    srr.herrno = NETDB_SUCCESS;    break;
   case DNS_AGAIN:    srr.herrno = TRY_AGAIN;        break;
   case DNS_NOMATCH:    srr.herrno = HOST_NOT_FOUND;    break;
+  case DNS_NODATA:    srr.herrno = NO_DATA;        break;
   case DNS_FAIL:
   default:        srr.herrno = NO_RECOVERY;    break;
   } 
diff --git a/test/scripts/4600-SPF/4601 b/test/scripts/4600-SPF/4601
index 77258a8..96f06a6 100644
--- a/test/scripts/4600-SPF/4601
+++ b/test/scripts/4600-SPF/4601
@@ -30,6 +30,7 @@ killdaemon
 # - and not crash with non-spf txt records
 # v=spf1 is casr-insensitive
 exim -be
+none      ${lookup {fred@???} spf {HOSTIPV4}}
 temperror ${lookup {fred@???} spf {HOSTIPV4}}
 permerror ${lookup {fred@???} spf {8.8.8.8}}
 permerror ${lookup {fred@???} spf {8.8.8.8}}
diff --git a/test/stdout/4601 b/test/stdout/4601
index de4df33..cbb4cf5 100644
--- a/test/stdout/4601
+++ b/test/stdout/4601
@@ -26,6 +26,7 @@ Connecting to 127.0.0.1 port 1224 ... connected
 <<< 250 Accepted

>>> quit

 End of script
+> none      none

> temperror temperror
> permerror permerror
> permerror permerror