diff options
author | Andrew Lewis <nerf@judo.za.org> | 2016-10-03 12:16:21 +0200 |
---|---|---|
committer | Andrew Lewis <nerf@judo.za.org> | 2016-10-03 12:16:21 +0200 |
commit | 6d183977c8dbb26ddf478b53308eb6ce9352d214 (patch) | |
tree | 4996a4051286d39848f63bff0c2f09c3a04eccd8 /src | |
parent | 7ef036b635bc528eee42eebb201242e526822e95 (diff) | |
download | rspamd-6d183977c8dbb26ddf478b53308eb6ce9352d214.tar.gz rspamd-6d183977c8dbb26ddf478b53308eb6ce9352d214.zip |
[Minor] Fix a SPF_DNSFAIL case
Diffstat (limited to 'src')
-rw-r--r-- | src/libserver/spf.c | 8 |
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)) { |