commit ae79456: [Minor] Mx_check: Fix issue with multiple IPs per MX name
Vsevolod Stakhov
vsevolod at highsecure.ru
Fri Aug 6 15:42:07 UTC 2021
Author: Vsevolod Stakhov
Date: 2021-08-06 16:37:30 +0100
URL: https://github.com/rspamd/rspamd/commit/ae794569d7722c2b59bd2c4468cf41dae1d14121 (HEAD -> master)
[Minor] Mx_check: Fix issue with multiple IPs per MX name
Issue: #3839
---
src/plugins/lua/mx_check.lua | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/src/plugins/lua/mx_check.lua b/src/plugins/lua/mx_check.lua
index e131d16d4..c88aa5601 100644
--- a/src/plugins/lua/mx_check.lua
+++ b/src/plugins/lua/mx_check.lua
@@ -152,24 +152,23 @@ local function mx_check(task)
check_results(mxes)
end
- if err or not results then
+ if err or not results or #results == 0 then
mxes[name].checked = true
else
- -- Try to open TCP connection to port 25
-
- for _,res in ipairs(results) do
- local t_ret = rspamd_tcp.new({
- task = task,
- host = res:to_string(),
- callback = io_cb,
- on_connect = on_connect_cb,
- timeout = settings.timeout,
- port = 25
- })
+ -- Try to open TCP connection to port 25 for a random IP address
+ -- see #3839 on GitHub
+ lua_util.shuffle(results)
+ local t_ret = rspamd_tcp.new({
+ task = task,
+ host = results[1]:to_string(),
+ callback = io_cb,
+ on_connect = on_connect_cb,
+ timeout = settings.timeout,
+ port = 25
+ })
- if not t_ret then
- mxes[name].checked = true
- end
+ if not t_ret then
+ mxes[name].checked = true
end
end
check_results(mxes)
More information about the Commits
mailing list