]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Resolve A record if all MXes are absent
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 17 Sep 2016 17:31:19 +0000 (18:31 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 17 Sep 2016 17:31:19 +0000 (18:31 +0100)
src/plugins/lua/mx_check.lua

index 637dfaec7dcf5d85808b3138406417f138dc9ea3..002ff46abbedbc0a832e7709e335979b8be19478 100644 (file)
@@ -139,10 +139,20 @@ local function mx_check(task)
   end
 
   local function mx_callback(resolver, to_resolve, results, err, _, authenticated)
+    local mxes = {}
     if err or not results then
+      local r = task:get_resolver()
+      -- XXX: maybe add ipv6?
+      -- fallback to implicit mx
+      mxes[mx_domain] = {checked = false, working = false, ips = {}}
+      r:resolve('a', {
+        name = mx_domain,
+        callback = gen_mx_a_callback(mx_domain, mxes),
+        task = task,
+        forced = true
+      })
       task:insert_result(settings.symbol_no_mx, 1.0)
     else
-      local mxes = {}
       table.sort(results, function(r1, r2)
         return r1['priority'] < r2['priority']
       end)