diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 21:30:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 21:30:40 +0000 |
commit | 133a45c109da5310add55824db21af5239951f93 (patch) | |
tree | ba6ac4c0a950a0dda56451944315d66409923918 /rules/rspamd.lua | |
parent | Initial commit. (diff) | |
download | rspamd-133a45c109da5310add55824db21af5239951f93.tar.xz rspamd-133a45c109da5310add55824db21af5239951f93.zip |
Adding upstream version 3.8.1.upstream/3.8.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'rules/rspamd.lua')
-rw-r--r-- | rules/rspamd.lua | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/rules/rspamd.lua b/rules/rspamd.lua new file mode 100644 index 0000000..6b2c1a5 --- /dev/null +++ b/rules/rspamd.lua @@ -0,0 +1,71 @@ +--[[ +Copyright (c) 2022, Vsevolod Stakhov <vsevolod@rspamd.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +]]-- + +-- This is main lua config file for rspamd + +require "global_functions"() + +config['regexp'] = {} +rspamd_maps = {} -- Global maps + +local local_conf = rspamd_paths['LOCAL_CONFDIR'] +local local_rules = rspamd_paths['RULESDIR'] +local rspamd_util = require "rspamd_util" + +dofile(local_rules .. '/regexp/headers.lua') +dofile(local_rules .. '/regexp/misc.lua') +dofile(local_rules .. '/regexp/upstream_spam_filters.lua') +dofile(local_rules .. '/regexp/compromised_hosts.lua') +dofile(local_rules .. '/html.lua') +dofile(local_rules .. '/headers_checks.lua') +dofile(local_rules .. '/subject_checks.lua') +dofile(local_rules .. '/misc.lua') +dofile(local_rules .. '/forwarding.lua') +dofile(local_rules .. '/mid.lua') +dofile(local_rules .. '/parts.lua') +dofile(local_rules .. '/bitcoin.lua') +dofile(local_rules .. '/bounce.lua') +dofile(local_rules .. '/content.lua') +dofile(local_rules .. '/controller/init.lua') + +if rspamd_util.file_exists(local_conf .. '/rspamd.local.lua') then + dofile(local_conf .. '/rspamd.local.lua') +else + -- Legacy lua/rspamd.local.lua + if rspamd_util.file_exists(local_conf .. '/lua/rspamd.local.lua') then + dofile(local_conf .. '/lua/rspamd.local.lua') + end +end + +if rspamd_util.file_exists(local_conf .. '/local.d/rspamd.lua') then + dofile(local_conf .. '/local.d/rspamd.lua') +end + +local rmaps = rspamd_config:get_all_opt("lua_maps") +if rmaps and type(rmaps) == 'table' then + local rspamd_logger = require "rspamd_logger" + for k, v in pairs(rmaps) do + local status, map_or_err = pcall(function() + return rspamd_config:add_map(v) + end) + + if not status then + rspamd_logger.errx(rspamd_config, "cannot add map %s: %s", k, map_or_err) + else + rspamd_maps[k] = map_or_err + end + end +end |