From 50bf96a8b248311d7e8449bcdf9d2b6fdaa6b44b Mon Sep 17 00:00:00 2001 From: Jesse Norell <jesse@kci.net> Date: Tue, 2 Mar 2021 14:06:04 -0700 Subject: [PATCH] rspamd: no priority collisions --- server/conf/rspamd_options.inc.master | 4 ++-- server/plugins-available/rspamd_plugin.inc.php | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/server/conf/rspamd_options.inc.master b/server/conf/rspamd_options.inc.master index c6a1603c20..537816c803 100644 --- a/server/conf/rspamd_options.inc.master +++ b/server/conf/rspamd_options.inc.master @@ -1,7 +1,7 @@ # Addrs local to this server. local_addrs = [ - "127.0.0.0/8", - "::1", + "127.0.0.0/8", + "::1", <tmpl_loop name="local_addrs"> <tmpl_var name='quoted_ip'></tmpl_loop>]; # This list is generated by ISPConfig, place custom addresses/networks in local_networks.inc. diff --git a/server/plugins-available/rspamd_plugin.inc.php b/server/plugins-available/rspamd_plugin.inc.php index 16cc9e598a..09ed09a436 100644 --- a/server/plugins-available/rspamd_plugin.inc.php +++ b/server/plugins-available/rspamd_plugin.inc.php @@ -224,11 +224,10 @@ class rspamd_plugin { unlink($settings_file); } } else { - $settings_priority = 20; if(isset($data[$use_data]['priority'])) { - $settings_priority = intval($data[$use_data]['priority']); - } elseif($is_domain === true) { - $settings_priority = 18; + $settings_priority = ($is_domain ? 10 : 20) + intval($data[$use_data]['priority']); + } else { + $settings_priority = ($is_domain ? 10 : 20) + 5; } // get policy for entry @@ -405,8 +404,8 @@ class rspamd_plugin { $tpl->newTemplate('rspamd_wblist.inc.conf.master'); $tpl->setVar('list_scope', ($global_filter ? 'global' : 'spamfilter')); $tpl->setVar('record_id', $record_id); - // we need to add 10 to priority to avoid mailbox/domain spamfilter settings overriding white/blacklists - $tpl->setVar('priority', intval($data['new']['priority']) + ($global_filter ? 10 : 20)); + // add 30/40 to priority to avoid collisions and prefer white/blacklists above mailbox/domain spamfilter settings + $tpl->setVar('priority', intval($data['new']['priority']) + ($global_filter ? 30 : 40)); $tpl->setVar('from', $filter_from); $tpl->setVar('recipient', $filter_rcpt); $tpl->setVar('hostname', $filter['hostname']); -- GitLab