From 5a6d970794297853695fadbdc98349ad0ca7205f Mon Sep 17 00:00:00 2001 From: andryyy Date: Fri, 9 Jul 2021 07:42:37 +0200 Subject: [PATCH] [Rspamd] Better support for DeltaChat --- data/conf/rspamd/local.d/composites.conf | 18 ++++++++++++------ data/conf/rspamd/local.d/multimap.conf | 8 ++++++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/data/conf/rspamd/local.d/composites.conf b/data/conf/rspamd/local.d/composites.conf index ebd4f698..3e5886c8 100644 --- a/data/conf/rspamd/local.d/composites.conf +++ b/data/conf/rspamd/local.d/composites.conf @@ -34,21 +34,21 @@ OLEFY_MACRO { } # Applies to a content filter map BAD_WORD_BAD_TLD { - expression = "FISHY_TLD & ( BAD_WORDS | BAD_WORDS_DE )" + expression = "FISHY_TLD & ( BAD_WORDS | BAD_WORDS_DE )"; score = 10.0; } # Forged with bad policies and not fwd host, keep bad policy symbols FORGED_W_BAD_POLICY { - expression = "( -g+:policies | -R_SPF_NA) & ( ~FROM_NEQ_ENVFROM | ~FORGED_SENDER ) & !WHITELISTED_FWD_HOST & !DMARC_POLICY_ALLOW" + expression = "( -g+:policies | -R_SPF_NA) & ( ~FROM_NEQ_ENVFROM | ~FORGED_SENDER ) & !WHITELISTED_FWD_HOST & !DMARC_POLICY_ALLOW"; score = 3.0; } # Keep negative (good) scores for rbl, policies and hfilter, disable neural group WL_FWD_HOST { - expression = "-WHITELISTED_FWD_HOST & (^g+:rbl | ^g+:policies | ^g+:hfilter | ^g:neural)" + expression = "-WHITELISTED_FWD_HOST & (^g+:rbl | ^g+:policies | ^g+:hfilter | ^g:neural)"; } # Exclude X-Spam like flags from scoring from fwd and sieve hosts UPSTREAM_CHECKS_EXCLUDE_FWD_HOST { - expression = "(-SIEVE_HOST | -WHITELISTED_FWD_HOST) & (^UNITEDINTERNET_SPAM | ^SPAM_FLAG | ^KLMS_SPAM | ^AOL_SPAM | ^MICROSOFT_SPAM)" + expression = "(-SIEVE_HOST | -WHITELISTED_FWD_HOST) & (^UNITEDINTERNET_SPAM | ^SPAM_FLAG | ^KLMS_SPAM | ^AOL_SPAM | ^MICROSOFT_SPAM)"; } # Remove fuzzy group from bounces BOUNCE_FUZZY { @@ -56,9 +56,15 @@ BOUNCE_FUZZY { } # Remove bayes ham if fuzzy denied FUZZY_HAM_MISMATCH { - expression = "( -FUZZY_DENIED | -MAILCOW_FUZZY_DENIED | -LOCAL_FUZZY_DENIED ) & ( ^BAYES_HAM | ^NEURAL_HAM_LONG | ^NEURAL_HAM_SHORT )" + expression = "( -FUZZY_DENIED | -MAILCOW_FUZZY_DENIED | -LOCAL_FUZZY_DENIED ) & ( ^BAYES_HAM | ^NEURAL_HAM_LONG | ^NEURAL_HAM_SHORT )"; } # Remove bayes spam if local fuzzy white FUZZY_SPAM_MISMATCH { - expression = "( -LOCAL_FUZZY_WHITE ) & ( ^BAYES_SPAM | ^NEURAL_SPAM_LONG | ^NEURAL_SPAM_SHORT )" + expression = "( -LOCAL_FUZZY_WHITE ) & ( ^BAYES_SPAM | ^NEURAL_SPAM_LONG | ^NEURAL_SPAM_SHORT )"; +} +WL_FWD_HOST { + expression = "-WHITELISTED_FWD_HOST & (^g+:rbl | ^g+:policies | ^g+:hfilter | ^g:neural)"; +} +ENCRYPTED_CHAT { + expression = "CHAT_VERSION_HEADER & ENCRYPTED_PGP & ^DYN_RL_CHECK & ^BCC"; } diff --git a/data/conf/rspamd/local.d/multimap.conf b/data/conf/rspamd/local.d/multimap.conf index a8bbef7b..17ada99e 100644 --- a/data/conf/rspamd/local.d/multimap.conf +++ b/data/conf/rspamd/local.d/multimap.conf @@ -19,6 +19,14 @@ BULK_HEADER { symbols_set = ["BULK_HEADER"]; } +CHAT_VERSION_HEADER { + type = "header"; + header = "Chat-Version"; + map = "${LOCAL_CONFDIR}/custom/chat_versions.map"; + regexp = true; + symbols_set = ["CHAT_VERSION_HEADER"]; +} + BAD_HEADER { type = "content"; map = "${LOCAL_CONFDIR}/custom/bad_header.map";