commit 73ce183: [Minor] Rework API to remove task dependency

Vsevolod Stakhov vsevolod at highsecure.ru
Sat May 25 13:49:06 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-05-25 14:24:39 +0100
URL: https://github.com/rspamd/rspamd/commit/73ce1838a266bfb021ec2c72aacd8562cad15467

[Minor] Rework API to remove task dependency

---
 lualib/lua_smtp.lua                   | 17 ++++++++---------
 src/plugins/lua/metadata_exporter.lua |  5 +++--
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/lualib/lua_smtp.lua b/lualib/lua_smtp.lua
index 7887eff59..c112295f7 100644
--- a/lualib/lua_smtp.lua
+++ b/lualib/lua_smtp.lua
@@ -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
diff --git a/src/plugins/lua/metadata_exporter.lua b/src/plugins/lua/metadata_exporter.lua
index 5f8652fab..9897f3357 100644
--- a/src/plugins/lua/metadata_exporter.lua
+++ b/src/plugins/lua/metadata_exporter.lua
@@ -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,
 }
 


More information about the Commits mailing list