aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Lewis <nerf@judo.za.org>2016-10-03 12:16:21 +0200
committerAndrew Lewis <nerf@judo.za.org>2016-10-03 12:16:21 +0200
commit6d183977c8dbb26ddf478b53308eb6ce9352d214 (patch)
tree4996a4051286d39848f63bff0c2f09c3a04eccd8 /src
parent7ef036b635bc528eee42eebb201242e526822e95 (diff)
downloadrspamd-6d183977c8dbb26ddf478b53308eb6ce9352d214.tar.gz
rspamd-6d183977c8dbb26ddf478b53308eb6ce9352d214.zip
[Minor] Fix a SPF_DNSFAIL case
Diffstat (limited to 'src')
-rw-r--r--src/libserver/spf.c8
1 files changed, 8 insertions, 0 deletions
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)) {