Browse Source

User settings: add header rules

tags/1.7.0
Michael Kuron 6 years ago
parent
commit
1b320f7945
1 changed files with 26 additions and 0 deletions
  1. 26
    0
      src/plugins/lua/settings.lua

+ 26
- 0
src/plugins/lua/settings.lua View File

@@ -250,6 +250,19 @@ local function check_settings(task)
end
end

if rule['header'] then
for k, v in pairs(rule['header']) do
local h = task:get_header(k)
res = (h and v:match(h))
if res then
break
end
end
if not res then
return nil
end
end

if res then
if rule['whitelist'] then
rule['apply'] = {whitelist = true}
@@ -483,6 +496,19 @@ local function process_settings_table(tbl)
end
out['request_header'] = rho
end
if elt['header'] then
local rho = {}
for k, v in pairs(elt['header']) do
local re = rspamd_regexp.get_cached(v)
if not re then
re = rspamd_regexp.create_cached(v)
end
if re then
rho[k] = re
end
end
out['header'] = rho
end

-- Now we must process actions
if elt['symbols'] then out['symbols'] = elt['symbols'] end

Loading…
Cancel
Save