From 6d183977c8dbb26ddf478b53308eb6ce9352d214 Mon Sep 17 00:00:00 2001 From: Andrew Lewis Date: Mon, 3 Oct 2016 12:16:21 +0200 Subject: [Minor] Fix a SPF_DNSFAIL case --- src/libserver/spf.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/libserver/spf.c b/src/libserver/spf.c index d5ca24cc9..2d6f864ba 100644 --- a/src/libserver/spf.c +++ b/src/libserver/spf.c @@ -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)) { -- cgit v1.2.3