Ajout de la possibilité de créer des rêgles de filtrage

En mode expert il est maintenant possible de créer des rêgles
de filtarge supplémentaires pour rspamd. Les rêgles sont de
type "regexp" et suivent la documentation de rspamd.

https://rspamd.com/doc/tutorials/writing_rules.html

Creole génère un fichier de configuration supplémentaire :
/etc/rspamd/rspamd.local.lua
This commit is contained in:
Philippe Caseiro 2017-10-03 10:45:02 +02:00
parent 7217f70f50
commit 4170f61bb3
2 changed files with 33 additions and 0 deletions

View File

@ -24,6 +24,14 @@
<variable name='activer_whitelist_domaine' type='oui/non' description='Voulez-vous filtrer les mails qui proviennent des domaines locaux ?'>
<value>non</value>
</variable>
<variable name='enable_rules' type='oui/non' description='Voulez-vous ajouter des rêgles de filtrage supplémentaires (regexp) ?' mode='expert'>
<value>non</value>
</variable>
<variable name='rspamd_regexp_rule' type='string' description='Nom de la règle de filtrage' mode='expert' multi='True'/>
<variable name='rs_rule_desc' type='string' description='Déscription de la rêgle' mode='expert'/>
<variable name='rs_rule_regexp' type='string' description='Expression régulière de recherche' mode='expert'/>
<variable name='rs_rule_symbol' type='string' description='Marqeur à ajouter aux entêtes' mode='expert'/>
<variable name='rs_rule_score' type='string' description='Score à ajouter aux X-SPAM-SCORE' mode='expert'/>
</family>
</variables>
<constraints>
@ -36,6 +44,20 @@
<param>non</param>
<target type='filelist'>whitelist</target>
</condition>
<condition name='disabled_if_in' source='enable_rules'>
<param>non</param>
<target type='variable'>rspamd_regexp_rule</target>
<target type='variable'>rs_rule_desc</target>
<target type='variable'>rs_rule_regexp</target>
<target type='variable'>rs_rule_symbol</target>
<target type='variable'>rs_rule_score</target>
</condition>
<group master='rspamd_regexp_rule'>
<slave>rs_rule_desc</slave>
<slave>rs_rule_regexp</slave>
<slave>rs_rule_symbol</slave>
<slave>rs_rule_score</slave>
</group>
</constraints>
<help>
<variable name='activer_rspamd'>rspamd est un filtre antispam rapide qui supporte l'apprentissage par déclaration des utilisateurs via le déplacement dans la boite 'spam'</variable>

11
tmpl/rspamd.local.lua Normal file
View File

@ -0,0 +1,11 @@
%if %%getVar('enable_rules','non') == 'oui'
%for %%rule in %%rspamd_regexp_rule
config['regexp']['%%rule.rs_rule_symbol'] = {
re = '%%rule.rs_rule_regexp',
score = %%rule.rs_rule_score,
description = '%%rule.rs_rule_desc',
group = 'Eole Rules'
}
%end for
%end if