]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Rework API to remove task dependency
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 25 May 2019 13:24:39 +0000 (14:24 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 25 May 2019 13:24:39 +0000 (14:24 +0100)
lualib/lua_smtp.lua
src/plugins/lua/metadata_exporter.lua

index 7887eff5949d6e3f69a3a40d3747404e22b5d295..c112295f7fc0d2da4c80b7085137a49c4a58c916 100644 (file)
@@ -15,6 +15,7 @@ limitations under the License.
 ]]--
 
 local rspamd_tcp = require "rspamd_tcp"
+local lua_util = require "lua_util"
 
 local exports = {}
 
@@ -24,7 +25,7 @@ local default_timeout = 10.0
 --[[[
 -- @function lua_smtp.sendmail(task, message, opts, callback)
 --]]
-local function sendmail(task, message, opts, callback)
+local function sendmail(opts, message, callback)
   local stage = 'connect'
 
   local function mail_cb(err, data, conn)
@@ -180,14 +181,12 @@ local function sendmail(task, message, opts, callback)
     opts.recipients = {opts.recipients}
   end
 
-  if not rspamd_tcp.request({
-    task = task,
-    callback = mail_cb,
-    stop_pattern = CRLF,
-    host = opts.host,
-    port = opts.port or 25,
-    timeout = opts.timeout or default_timeout,
-  }) then
+  local tcp_opts = lua_util.shallowcopy(opts)
+  tcp_opts.stop_pattern = CRLF
+  tcp_opts.timeout = opts.timeout or default_timeout
+  tcp_opts.callback = mail_cb
+
+  if not rspamd_tcp.request(tcp_opts) then
     callback(false, 'cannot make a TCP connection')
   end
 end
index 5f8652fabec461829b784155be0cf37c5f052e8d..9897f3357e9f0b3deac2cf3f7e2b4f5e0fe72abb 100644 (file)
@@ -299,14 +299,15 @@ local pushers = {
       end
     end
 
-    lua_smtp.sendmail(task, formatted, {
+    lua_smtp.sendmail({
+      task = task,
       host = rule.smtp,
       port = rule.smtp_port or settings.smtp_port or 25,
       from = rule.mail_from or settings.mail_from,
       recipients = rule.mail_to,
       helo = rule.helo or settings.helo,
       timeout = rule.timeout or settings.timeout,
-    }, sendmail_cb)
+    }, formatted, sendmail_cb)
   end,
 }