]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Add whitelist symbol to mx_check plugin
authorAL <AlexeySa@users.noreply.github.com>
Mon, 27 Nov 2017 12:41:31 +0000 (15:41 +0300)
committerGitHub <noreply@github.com>
Mon, 27 Nov 2017 12:41:31 +0000 (15:41 +0300)
src/plugins/lua/mx_check.lua

index 1094c6c2dd68cba235bfab9a666e5263b96d764a..75b587763f851e40efba58631af68ea5bf167b0e 100644 (file)
@@ -29,6 +29,7 @@ local settings = {
   symbol_bad_mx = 'MX_INVALID',
   symbol_no_mx = 'MX_MISSING',
   symbol_good_mx = 'MX_GOOD',
+  symbol_white_mx = 'MX_WHITE',
   expire = 86400, -- 1 day by default
   expire_novalid = 7200, -- 2 hours by default for no valid mxes
   greylist_invalid = true, -- Greylist first message with invalid MX (require greylist plugin)
@@ -64,7 +65,7 @@ local function mx_check(task)
   if exclude_domains then
     if exclude_domains:get_key(mx_domain) then
       rspamd_logger.infox(task, 'skip mx check for %s, excluded', mx_domain)
-
+         task:insert_result(settings.symbol_white_mx, 1.0, mx_domain)
       return
     end
   end
@@ -288,6 +289,11 @@ if opts then
     type = 'virtual',
     parent = id
   })
+  rspamd_config:register_symbol({
+    name = settings.symbol_white_mx,
+    type = 'virtual',
+    parent = id
+  })
 
   rspamd_config:set_metric_symbol({
     name = settings.symbol_bad_mx,
@@ -305,6 +311,14 @@ if opts then
     one_shot = true,
     one_param = true,
   })
+  rspamd_config:set_metric_symbol({
+    name = settings.symbol_white_mx,
+    score = -0.00,
+    description = 'Domain has whitelist MX',
+    group = 'MX',
+    one_shot = true,
+    one_param = true,
+  })
   rspamd_config:set_metric_symbol({
     name = settings.symbol_no_mx,
     score = 3.5,
@@ -321,4 +335,4 @@ if opts then
       url = settings.exclude_domains,
     }
   end
-end
\ No newline at end of file
+end