From d38996bdfc6a98ddea8a1c427fcdcec9a91dc5c2 Mon Sep 17 00:00:00 2001 From: Christian Roessner Date: Tue, 21 Feb 2017 10:13:01 +0100 Subject: [PATCH] [Minor] Improve communication --- src/plugins/lua/antivirus.lua | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/plugins/lua/antivirus.lua b/src/plugins/lua/antivirus.lua index f7a7f7224..b3bc27631 100644 --- a/src/plugins/lua/antivirus.lua +++ b/src/plugins/lua/antivirus.lua @@ -533,7 +533,12 @@ local function savapi_check(task, rule) local result = tostring(data) rspamd_logger.debugm(N, task, 'savapi_greet2_cb called') rspamd_logger.debugm(N, task, "got reply: %s", result) - conn:add_write(savapi_scan1_cb, {string.format('SCAN %s\n', message_file)}) + if string.find(result, '100 PRODUCT') then + conn:add_write(savapi_scan1_cb, {string.format('SCAN %s\n', message_file)}) + else + rspamd_logger.errx(task, 'invalid product id %s', rule['product_id']) + conn:add_write(savapi_fin_cb, 'QUIT\n') + end end local function savapi_greet1_cb(err, conn) @@ -554,7 +559,7 @@ local function savapi_check(task, rule) port = addr:get_port(), timeout = rule['timeout'], callback = savapi_callback_init, - data = {'\n'}, + stop_pattern = {'\n'}, }) else rspamd_logger.errx(task, 'failed to scan, maximum retransmits exceed') @@ -580,7 +585,7 @@ local function savapi_check(task, rule) port = addr:get_port(), timeout = rule['timeout'], callback = savapi_callback_init, - data = {'\n'}, + stop_pattern = {'\n'}, }) end -- 2.39.5