return false | return false | ||||
end | end | ||||
reconf['HELO_NOT_FQDN'] = function(task) | |||||
local helo = task:get_helo() | |||||
local function check_regexp(str, regexp_text) | |||||
local re = regexp.get_cached(regexp_text) | |||||
if not re then re = regexp.create(regexp_text, 'i') end | |||||
if re:match(str) then return true end | |||||
return false | |||||
end | |||||
if helo then | |||||
if not check_regexp(helo, '(?=^.{4,255}$)(^((?!-)[a-zA-Z0-9-]{1,63}(?<!-)\\.)+[a-zA-Z]{2,63}$)') then | |||||
return true | |||||
end | |||||
end | |||||
return false | |||||
end | |||||
local function file_exists(filename) | local function file_exists(filename) | ||||
local file = io.open(filename) | local file = io.open(filename) | ||||
if file then | if file then |
description = "Message date is in past"; | description = "Message date is in past"; | ||||
name = "DATE_IN_PAST"; | name = "DATE_IN_PAST"; | ||||
} | } | ||||
symbol { | |||||
weight = 1.5; | |||||
description = "Helo host FQDN check"; | |||||
name = "HELO_NOT_FQDN"; | |||||
} | |||||
# hfilter symbols | # hfilter symbols | ||||
symbol { weight = 1.00; name = "HFILTER_HELO_1"; description = "Helo host checks (very low)"; } | symbol { weight = 1.00; name = "HFILTER_HELO_1"; description = "Helo host checks (very low)"; } | ||||
symbol { weight = 2.00; name = "HFILTER_HELO_2"; description = "Helo host checks (low)"; } | symbol { weight = 2.00; name = "HFILTER_HELO_2"; description = "Helo host checks (low)"; } |