Преглед изворни кода

[Minor] Some linting for rules

tags/1.4.0
Andrew Lewis пре 7 година
родитељ
комит
c45aaab61f
6 измењених фајлова са 17 додато и 38 уклоњено
  1. 1
    5
      rules/html.lua
  2. 2
    2
      rules/http_headers.lua
  3. 4
    8
      rules/misc.lua
  4. 0
    7
      rules/regexp/headers.lua
  5. 10
    13
      rules/rspamd.classifiers.lua
  6. 0
    3
      rules/rspamd.lua

+ 1
- 5
rules/html.lua Прегледај датотеку

@@ -14,8 +14,6 @@
-- limitations under the License.

local reconf = config['regexp']
local rspamd_regexp = require "rspamd_regexp"
local rspamd_logger = require "rspamd_logger"

-- Messages that have only HTML part
reconf['MIME_HTML_ONLY'] = {
@@ -184,7 +182,7 @@ rspamd_config.R_WHITE_ON_WHITE = {
normal_len = p:get_length()
local hc = p:get_html() -- we get HTML context

hc:foreach_tag({'font', 'span', 'div', 'p'}, function(tag, len)
hc:foreach_tag({'font', 'span', 'div', 'p'}, function(tag, _)
local bl = tag:get_extra()
if bl then
if bl['bgcolor'] and bl['color'] and bl['visible'] then
@@ -208,8 +206,6 @@ rspamd_config.R_WHITE_ON_WHITE = {
color[1], color[2], color[3],
bgcolor[1], bgcolor[2], bgcolor[3])
end
else

end
end
end

+ 2
- 2
rules/http_headers.lua Прегледај датотеку

@@ -54,7 +54,7 @@ if opts and opts['symbols'] then
end
end

local opts = rspamd_config:get_all_opt('dkim')
opts = rspamd_config:get_all_opt('dkim')
if opts then
for k,_ in pairs(dkim_symbols) do
if opts[k] then
@@ -63,7 +63,7 @@ if opts then
end
end

local opts = rspamd_config:get_all_opt('spf')
opts = rspamd_config:get_all_opt('spf')
if opts then
for k,_ in pairs(spf_symbols) do
if opts[k] then

+ 4
- 8
rules/misc.lua Прегледај датотеку

@@ -18,9 +18,6 @@ limitations under the License.

local util = require "rspamd_util"
local rspamd_regexp = require "rspamd_regexp"
local rspamd_logger = require "rspamd_logger"

local reconf = config['regexp']

-- Uncategorized rules
local subject_re = rspamd_regexp.create('/^(?:(?:Re|Fwd|Fw|Aw|Antwort|Sv):\\s*)+(.+)$/i')
@@ -54,7 +51,7 @@ end

rspamd_config.SUBJ_ALL_CAPS = {
callback = function(task)
local caps_test = function(sbj, len)
local caps_test = function(sbj, _)
return util.is_uppercase(sbj)
end
return test_subject(task, caps_test, 1.0/40.0)
@@ -66,7 +63,7 @@ rspamd_config.SUBJ_ALL_CAPS = {

rspamd_config.LONG_SUBJ = {
callback = function(task)
local length_test = function(sbj, len)
local length_test = function(_, len)
return len > 200
end
return test_subject(task, length_test, 1.0/400.0)
@@ -161,7 +158,7 @@ rspamd_config.R_SUSPICIOUS_URL = {
local urls = task:get_urls()

if urls then
for i,u in ipairs(urls) do
for _,u in ipairs(urls) do
if u:is_obscured() then
task:insert_result('R_SUSPICIOUS_URL', 1.0, u:get_host())
end
@@ -272,7 +269,7 @@ rspamd_config.MULTIPLE_UNIQUE_HEADERS = {
local res = 0
local res_tbl = {}

for i,hdr in ipairs(headers_unique) do
for _,hdr in ipairs(headers_unique) do
local h = task:get_header_full(hdr)

if h and #h > 1 then
@@ -372,7 +369,6 @@ rspamd_config.RCVD_TLS_ALL = {
for _, rcvd in ipairs(rcvds) do
count = count + 1
local r = rcvd['decoded']:lower()
local by = r:match('^by%s+([^%s]+)') or r:match('%sby%s+([^%s]+)')
local with = r:match('%swith%s+(e?smtps?a?)')
if with and with:match('esmtps') then
encrypted = encrypted + 1

+ 0
- 7
rules/regexp/headers.lua Прегледај датотеку

@@ -529,7 +529,6 @@ reconf['FM_FAKE_HELO_VERIZON'] = {

-- Forged yahoo msgid
local at_yahoo_msgid = 'Message-Id=/\\@yahoo\\.com\\b/iH'
local at_yahoogroups_msgid = 'Message-Id=/\\@yahoogroups\\.com\\b/iH'
local from_yahoo_com = 'From=/\\@yahoo\\.com\\b/iH'
reconf['FORGED_MSGID_YAHOO'] = {
re = string.format('(%s) & !(%s)', at_yahoo_msgid, from_yahoo_com),
@@ -537,8 +536,6 @@ reconf['FORGED_MSGID_YAHOO'] = {
description = 'Forged yahoo msgid',
group = 'header'
}
local r_from_yahoo_groups = 'From=/rambler.ru\\@returns\\.groups\\.yahoo\\.com\\b/iH'
local r_from_yahoo_groups_ro = 'From=/ro.ru\\@returns\\.groups\\.yahoo\\.com\\b/iH'

-- Forged The Bat! MUA headers
local thebat_mua_v1 = 'X-Mailer=/^The Bat! \\(v1\\./H'
@@ -564,8 +561,6 @@ reconf['RCVD_DOUBLE_IP_SPAM'] = {

-- Quoted reply-to from yahoo (seems to be forged)
local repto_quote = 'Reply-To=/\\".*\\"\\s*\\</H'
local from_yahoo_com = 'From=/\\@yahoo\\.com\\b/iH'
local at_yahoo_msgid = 'Message-Id=/\\@yahoo\\.com\\b/iH'
reconf['REPTO_QUOTE_YAHOO'] = {
re = string.format('(%s) & ((%s) | (%s))', repto_quote, from_yahoo_com, at_yahoo_msgid),
score = 2.0,
@@ -577,8 +572,6 @@ reconf['REPTO_QUOTE_YAHOO'] = {
local xm_gnus = 'X-Mailer=/^Gnus v/H'
local xm_msoe5 = 'X-Mailer=/^Microsoft Outlook Express 5/H'
local xm_msoe6 = 'X-Mailer=/^Microsoft Outlook Express 6/H'
local xm_mso12 = 'X-Mailer=/^Microsoft(?: Office Outlook 12\\.0| Outlook 14\\.0)/H'
local xm_cgpmapi = 'X-Mailer=/^CommuniGate Pro MAPI Connector/H'
local xm_moz4 = 'X-Mailer=/^Mozilla 4/H'
local xm_skyri = 'X-Mailer=/^SKYRiXgreen/H'
local xm_wwwmail = 'X-Mailer=/^WWW-Mail \\d/H'

+ 10
- 13
rules/rspamd.classifiers.lua Прегледај датотеку

@@ -16,6 +16,8 @@ limitations under the License.

-- Detect language of message and selects appropriate statfiles for it

local fun = require "fun"

-- Common labels for specific statfiles
local many_recipients_label = 'many recipients'
local undisclosed_recipients_label = 'undisclosed recipients'
@@ -24,18 +26,13 @@ local long_subject_label = 'long subject'

-- Get specific statfiles set based on message rules
local function get_specific_statfiles(classifier, task)
if not table.foreach then
table.foreach = function(t, f)
for k, v in pairs(t) do f(k, v) end
end
end
local spec_st = {}
-- More 5 recipients
local st_many = classifier:get_statfile_by_label(many_recipients_label)
if st_many then
local rcpt = task:get_recipients(2)
if rcpt and #rcpt > 5 then
table.foreach(st_many, function(i,v) table.insert(spec_st,v) end)
fun.each(function(_,v) table.insert(spec_st,v) end, st_many)
end
end
-- Undisclosed
@@ -43,7 +40,7 @@ local function get_specific_statfiles(classifier, task)
if st_undisc then
local rcpt = task:get_recipients(2)
if rcpt and #rcpt == 0 then
table.foreach(st_undisc, function(i,v) table.insert(spec_st,v) end)
fun.each(function(_,v) table.insert(spec_st,v) end, st_undisc)
end
end
-- Maillist
@@ -51,7 +48,7 @@ local function get_specific_statfiles(classifier, task)
if st_maillist then
local unsub_header = task:get_header_raw('List-Unsubscribe')
if unsub_header then
table.foreach(st_maillist, function(i,v) table.insert(spec_st,v) end)
fun.each(function(_,v) table.insert(spec_st,v) end, st_maillist)
end
end
-- Long subject
@@ -59,7 +56,7 @@ local function get_specific_statfiles(classifier, task)
if st_longsubj then
local subj = task:get_header_raw('Subject')
if subj and string.len(subj) > 150 then
table.foreach(st_longsubj, function(i,v) table.insert(spec_st,v) end)
fun.each(function(_,v) table.insert(spec_st,v) end, st_longsubj)
end
end
@@ -70,9 +67,9 @@ local function get_specific_statfiles(classifier, task)
end
end

classifiers['bayes'] = function(classifier, task, is_learn, is_spam)
classifiers['bayes'] = function(classifier, task, is_learn, _)
-- Subfunction for detection of message's language
local detect_language = function(task)
local detect_language = function()
local parts = task:get_text_parts()
for _,p in ipairs(parts) do
local l = p:get_language()
@@ -91,11 +88,11 @@ classifiers['bayes'] = function(classifier, task, is_learn, is_spam)
return spec_st
else
-- Merge tables
table.foreach(spec_st, function(i,v) table.insert(selected,v) end)
fun.each(function(_,v) table.insert(selected,v) end, spec_st)
end
end
-- Detect statfile by language
local language = detect_language(task)
local language = detect_language()
if language then
-- Find statfiles with specified language
for _,st in ipairs(classifier:get_statfiles()) do

+ 0
- 3
rules/rspamd.lua Прегледај датотеку

@@ -16,10 +16,7 @@ limitations under the License.

-- This is main lua config file for rspamd

local util = require "rspamd_util"

config['regexp'] = {}
local reconf = config['regexp']

local local_conf = rspamd_paths['CONFDIR']
local local_rules = rspamd_paths['RULESDIR']

Loading…
Откажи
Сачувај