]> source.dussan.org Git - rspamd.git/commitdiff
For SPF we might also want to check notify messages.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 Feb 2015 11:58:37 +0000 (11:58 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 Feb 2015 11:58:37 +0000 (11:58 +0000)
src/libserver/spf.c

index a11d032a2fdc126bffec0eceb50bf5512d35d583..5868584a6b8f728df6e92ab2e02784d228196ee7 100644 (file)
@@ -1684,6 +1684,21 @@ resolve_spf (struct rspamd_task *task, spf_cb_t callback)
                        return TRUE;
                }
        }
+       else if (task->helo != NULL && strchr (task->helo, '.') != NULL) {
+               /* For notifies we can check HELO identity and check SPF accrodingly */
+               /* XXX: very poor check */
+               rec->local_part = rspamd_mempool_strdup (task->task_pool, "postmaster");
+               rec->cur_domain = task->helo;
+               rec->sender_domain = task->helo;
+
+               if (make_dns_request (task->resolver, task->s, task->task_pool,
+                               spf_dns_callback,
+                               (void *)rec, RDNS_REQUEST_TXT, rec->cur_domain)) {
+                       task->dns_requests++;
+                       rec->requests_inflight++;
+                       return TRUE;
+               }
+       }
 
        return FALSE;
 }