X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fspf.c;h=f120f722c81106274966517b09423ca6c920f2e0;hb=691ca88ca06899e02e77cb28fbf075de450607bc;hp=9b053ccf98e0f563444b917532897b2f0c27c70b;hpb=67794d2b830fc580f87b0635718d95e32b467be1;p=exim.git diff --git a/src/src/spf.c b/src/src/spf.c index 9b053ccf9..f120f722c 100644 --- a/src/src/spf.c +++ b/src/src/spf.c @@ -72,6 +72,17 @@ int dns_rc; DEBUG(D_receive) debug_printf("SPF_dns_exim_lookup '%s'\n", domain); +/* Shortcircuit SPF RR lookups by returning NO_DATA. They were obsoleted by +RFC 6686/7208 years ago. see bug #1294 */ + +if (rr_type == T_SPF) + { + HDEBUG(D_host_lookup) debug_printf("faking NO_DATA for SPF RR(99) lookup\n"); + srr.herrno = NO_DATA; + SPF_dns_rr_dup(&spfrr, &srr); + return spfrr; + } + switch (dns_rc = dns_lookup(dnsa, US domain, rr_type, NULL)) { case DNS_SUCCEED: srr.herrno = NETDB_SUCCESS; break;