From: Vsevolod Stakhov Date: Sat, 17 Sep 2016 17:31:19 +0000 (+0100) Subject: [Minor] Resolve A record if all MXes are absent X-Git-Tag: 1.4.0~413 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1770760b73a2bcec6a9081f9578fd80de3cb1077;p=thirdparty%2Frspamd.git [Minor] Resolve A record if all MXes are absent --- diff --git a/src/plugins/lua/mx_check.lua b/src/plugins/lua/mx_check.lua index 637dfaec7d..002ff46abb 100644 --- a/src/plugins/lua/mx_check.lua +++ b/src/plugins/lua/mx_check.lua @@ -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)