From 541aeb23fbe2dd98d86f71db9549b52ced058254 Mon Sep 17 00:00:00 2001 From: "Fabian Franz, BSc" Date: Wed, 1 Nov 2017 16:59:28 +0100 Subject: [PATCH] rspamd: fix templates (don't render unless the model exists) (#354) * rspamd: fix template mx-check * fix antivirus.conf * add a lock to templates --- .../opnsense/service/templates/OPNsense/Rspamd/2tld.inc.local | 2 +- .../opnsense/service/templates/OPNsense/Rspamd/antivirus.conf | 4 ++-- .../opnsense/service/templates/OPNsense/Rspamd/antivirus.wl | 2 +- .../opnsense/service/templates/OPNsense/Rspamd/greylist.conf | 3 ++- .../opnsense/service/templates/OPNsense/Rspamd/mx_check.conf | 4 +++- .../opnsense/service/templates/OPNsense/Rspamd/phishing.conf | 3 ++- .../opnsense/service/templates/OPNsense/Rspamd/ratelimit.conf | 3 +++ .../src/opnsense/service/templates/OPNsense/Rspamd/spf.conf | 3 +++ .../templates/OPNsense/Rspamd/surbl-whitelist.inc.local | 2 +- 9 files changed, 18 insertions(+), 8 deletions(-) diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/2tld.inc.local b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/2tld.inc.local index 022d1b7ef..7784d1b17 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/2tld.inc.local +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/2tld.inc.local @@ -1,4 +1,4 @@ -{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.surbl') %} +{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.surbl.exceptions') and OPNsense.Rspamd.surbl.exceptions != '' %} {% for host in OPNsense.Rspamd.surbl.exceptions.split(',') %} {{ host }} {% endfor %} diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/antivirus.conf b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/antivirus.conf index f4b503d15..3f191b265 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/antivirus.conf +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/antivirus.conf @@ -13,9 +13,9 @@ clamav { {% else %} attachments_only = false; {% endif %} -{% if helpers.exists('OPNsense.Rspamd.av.max-size') and OPNsense.Rspamd.av.max-size != '' %} +{% if helpers.exists('OPNsense.Rspamd.av.max-size') and OPNsense.Rspamd.av['max-size'] != '' %} # If `max_size` is set, messages > n bytes in size are not scanned - max_size = {{ OPNsense.Rspamd.av.max-size }}; + max_size = {{ OPNsense.Rspamd.av['max-size'] }}; {% endif %} symbol = "CLAM_VIRUS"; type = "clamav"; diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/antivirus.wl b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/antivirus.wl index deaecad68..234b45174 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/antivirus.wl +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/antivirus.wl @@ -1,4 +1,4 @@ -{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.av') %} +{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.av.whitelist') and OPNsense.Rspamd.av.whitelist != '' %} {% for host in OPNsense.Rspamd.av.whitelist.split(',') %} {{ host }} {% endfor %} diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/greylist.conf b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/greylist.conf index 840138c65..2af6f1e15 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/greylist.conf +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/greylist.conf @@ -1,7 +1,7 @@ # Please don't modify this file as your changes might be overwritten with # the next update. # - +{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.graylist') %} expire = {{ OPNsense.Rspamd.graylist.expire|default('1') }}d; timeout = {{ OPNsense.Rspamd.graylist.timeout|default('1') }}min; # 5 minutes by default key_prefix = "rg"; # default hash name @@ -11,3 +11,4 @@ action = "soft reject"; # default greylisted action ipv4_mask = {{ OPNsense.Rspamd.graylist.ipv4mask|default('19') }}; ipv6_mask = {{ OPNsense.Rspamd.graylist.ipv6mask|default('64') }}; +{% endif %} diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/mx_check.conf b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/mx_check.conf index 9a1fd9484..bb3069acb 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/mx_check.conf +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/mx_check.conf @@ -1,7 +1,9 @@ # Please don't modify this file as your changes might be overwritten with # the next update. # + +{% if helpers.exists('OPNsense.Rspamd.mx-check.enabled') %} timeout = 1.0; expire = {{ OPNsense.Rspamd['mx-check'].expire|default('86400') }}; - enabled = {% if helpers.exists('OPNsense.Rspamd.mx-check.enabled') and OPNsense.Rspamd['mx-check'].enabled == '1' %}true{% else %}false{% endif %}; +{% endif %} diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/phishing.conf b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/phishing.conf index 07fb87dcf..e40fe63fa 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/phishing.conf +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/phishing.conf @@ -1,8 +1,9 @@ # Please don't modify this file as your changes might be overwritten with # the next update. # - +{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.phishing') %} openphish_enabled = {% if helpers.exists('OPNsense.Rspamd.phishing.openphish_enabled') and OPNsense.Rspamd.phishing.openphish_enabled == '1' %}true{% else %}false{% endif %}; openphish_premium = {% if helpers.exists('OPNsense.Rspamd.phishing.openphish_premium_enabled') and OPNsense.Rspamd.phishing.openphish_premium_enabled == '1' %}true{% else %}false{% endif %}; # Disabled by default phishtank_enabled = {% if helpers.exists('OPNsense.Rspamd.phishing.phishtank_enabled') and OPNsense.Rspamd.phishing.phishtank_enabled == '1' %}true{% else %}false{% endif %}; +{% endif %} diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/ratelimit.conf b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/ratelimit.conf index b58ef5a88..007603d92 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/ratelimit.conf +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/ratelimit.conf @@ -2,6 +2,7 @@ # the next update. # +{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.rate_limit') %} rates { # Limit for all mail per recipient (rate 2 per minute) @@ -58,3 +59,5 @@ rates { whitelisted_rcpts = "{{ OPNsense.Rspamd.rate_limit.whitelisted_rcpts|default('postmaster,mailer-daemon') }}"; max_rcpt = {{ OPNsense.Rspamd.rate_limit.max_rcpt|default('20') }}; +{% endif %} + diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/spf.conf b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/spf.conf index 155f73973..0a81e7a87 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/spf.conf +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/spf.conf @@ -1,6 +1,9 @@ # Please don't modify this file as your changes might be overwritten with # the next update. # +{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.spf') %} spf_cache_size = {{ OPNsense.Rspamd.spf.spf_cache_size|default("2") }}k; spf_cache_expire = {{ OPNsense.Rspamd.spf.spf_cache_expire|default("1") }}d; + +{% endif %} diff --git a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/surbl-whitelist.inc.local b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/surbl-whitelist.inc.local index b5164bc77..2098ba554 100644 --- a/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/surbl-whitelist.inc.local +++ b/mail/rspamd/src/opnsense/service/templates/OPNsense/Rspamd/surbl-whitelist.inc.local @@ -1,4 +1,4 @@ -{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.surbl') %} +{% if helpers.exists('OPNsense.Rspamd.general.enabled') and OPNsense.Rspamd.general.enabled == '1' and helpers.exists('OPNsense.Rspamd.surbl.whitelist') and OPNsense.Rspamd.surbl.whitelist != '' %} {% for host in OPNsense.Rspamd.surbl.whitelist.split(',') %} {{ host }} {% endfor %}