summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Breyha <wbreyha@gmx.net>2020-01-02 13:16:52 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2020-01-02 13:16:52 +0000
commitf73eb7e30a8a55c3934a2e5e0d0d30cf8bf44c09 (patch)
tree3f697d14cbf0be56426186a0aebcfa3dd3fbeced
parent2b615f22d0ce78ba28a6d758d6a2a5c8cb33e10a (diff)
SPF: handle DNS NO_DATA return. Bug 2499
-rw-r--r--src/src/spf.c1
-rw-r--r--test/scripts/4600-SPF/46011
-rw-r--r--test/stdout/46011
3 files changed, 3 insertions, 0 deletions
diff --git a/src/src/spf.c b/src/src/spf.c
index 1015d77ac..a8318dcda 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 77258a8e8..96f06a6d1 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@v6.test.ex} spf {HOSTIPV4}}
temperror ${lookup {fred@test.again.dns} spf {HOSTIPV4}}
permerror ${lookup {fred@double.example.com} spf {8.8.8.8}}
permerror ${lookup {fred@doubleplus.example.com} spf {8.8.8.8}}
diff --git a/test/stdout/4601 b/test/stdout/4601
index de4df33ae..cbb4cf502 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