[exim-dev] [Bug 1294] SPF TYPE99 deprecation

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
Old-Topics: [exim-dev] [Bug 1294] New: SPF TYPE99 deprecation
Subject: [exim-dev] [Bug 1294] SPF TYPE99 deprecation
https://bugs.exim.org/show_bug.cgi?id=1294

Git Commit <git@???> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |git@???


--- Comment #4 from Git Commit <git@???> ---
Git commit:
https://git.exim.org/exim.git/commitdiff/79e5ebf9e9bb833ce004be65c04b2f8eea91c337

commit 79e5ebf9e9bb833ce004be65c04b2f8eea91c337
Author:     Wolfgang Breyha <wbreyha@???>
AuthorDate: Thu Jan 2 13:27:25 2020 +0000
Commit:     Jeremy Harris <jgh146exb@???>
CommitDate: Tue Jan 7 13:14:01 2020 +0000


    SPF: shortcircuit SPF RR lookups.  Bug 1294
---
 doc/doc-txt/ChangeLog |  6 ++++++
 src/src/spf.c         | 12 ++++++++++++
 2 files changed, 18 insertions(+)


diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index e1e1e3b..b904aa9 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -77,6 +77,12 @@ JH/17 Logging: when the deliver_time selector ise set,
include the DT= field
 JH/18 Authentication: the gsasl driver not provides the $authN variables in
time
       for the expansion of the server_scram_iter and server_scram_salt
options.


+WB/01 SPF: DNS lookups for the obsolete SPF RR type done by the libspf2
library
+      are now specifically given a HOST_NOT_FOUND response without hitting the
+      system resolver.  The library goes on to do the now-standard TXT lookup.
+      Use of dnsdb lookups is not affected.
+      
+


Exim version 4.93
-----------------
diff --git a/src/src/spf.c b/src/src/spf.c
index 9b053cc..fd9831c 100644
--- a/src/src/spf.c
+++ b/src/src/spf.c
@@ -72,6 +72,18 @@ int dns_rc;

DEBUG(D_receive) debug_printf("SPF_dns_exim_lookup '%s'\n", domain);

+/* Shortcircuit SPF RR lookups by returning HOST_NOT_FOUND (shortest code path
+in libspf2).  They were obsoleted by RFC 6686/7208 years ago. see bug #1294
+*/
+
+if (rr_type == T_SPF)
+  {
+  HDEBUG(D_host_lookup) debug_printf("faking HOST_NOT_FOUND for SPF RR(99)
lookup\n");
+  srr.herrno = HOST_NOT_FOUND;
+  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;


--
You are receiving this mail because:
You are on the CC list for the bug.