]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fix a SPF_DNSFAIL case 998/head
authorAndrew Lewis <nerf@judo.za.org>
Mon, 3 Oct 2016 10:16:21 +0000 (12:16 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Mon, 3 Oct 2016 10:16:21 +0000 (12:16 +0200)
src/libserver/spf.c
test/functional/cases/115_dmarc.robot

index d5ca24cc9015d8028c74f10e0673f4311291d7c5..2d6f864bae4e88c480e5570a0de1d69a7a6b78c7 100644 (file)
@@ -1876,6 +1876,14 @@ spf_dns_callback (struct rdns_reply *reply, gpointer arg)
                addr->flags |= RSPAMD_SPF_FLAG_NA;
                g_ptr_array_insert (resolved->elts, 0, addr);
        }
+       else if (reply->code != RDNS_RC_NOREC && reply->code != RDNS_RC_NXDOMAIN
+                       && rec->dns_requests == 0) {
+               resolved = rspamd_spf_new_addr_list (rec, rec->sender_domain);
+               addr = g_slice_alloc0 (sizeof(*addr));
+               addr->flags = 0;
+               addr->flags |= RSPAMD_SPF_FLAG_TEMPFAIL;
+               g_ptr_array_insert (resolved->elts, 0, addr);
+       }
 
        if (resolved) {
                if (!spf_process_txt_record (rec, resolved, reply)) {
index 4dda829e5c7c2f74ea1bf6b757d81605d516e85d..2a7d725804ae380670957f409e3c028d5cfbd9f4 100644 (file)
@@ -152,6 +152,11 @@ SPF DNSFAIL FAILED MX
   ...  -i  1.2.3.4  -F  x@fail9.org.org.za
   Check Rspamc  ${result}  R_SPF_DNSFAIL
 
+SPF DNSFAIL FAILED RECORD
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  1.2.3.4  -F  x@www.dnssec-failed.org
+  Check Rspamc  ${result}  R_SPF_DNSFAIL
+
 *** Keywords ***
 DMARC Setup
   ${PLUGIN_CONFIG} =  Get File  ${TESTDIR}/configs/dmarc.conf