[pmg-devel] [PATCH pmg-api v2 10/10] DBTools: add new default rule/objects for attachment quarantine
Dominik Csapak
d.csapak at proxmox.com
Mon Sep 30 14:55:34 CEST 2019
the new rule is disabled by default
also adapt the ruledb test for default rules
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
src/PMG/DBTools.pm | 17 +++++++++++++++++
src/tests/testdb.txt | 11 +++++++++++
2 files changed, 28 insertions(+)
diff --git a/src/PMG/DBTools.pm b/src/PMG/DBTools.pm
index c675e2f..66dfc28 100644
--- a/src/PMG/DBTools.pm
+++ b/src/PMG/DBTools.pm
@@ -711,6 +711,16 @@ sub init_ruledb {
my $add_discl = $ruledb->create_group_with_obj(
$obj, 'Disclaimer', 'Add Disclaimer');
+ # Move to attachment quarantine
+ $obj = PMG::RuleDB::Remove->new(0, undef, undef, 1);
+ my $attach_quar = $ruledb->create_group_with_obj(
+ $obj, 'Attachment Quarantine (remove matching)', 'Remove matching attachments and move the whole mail to the attachment quarantine.');
+
+ # Remove all attachments
+ $obj = PMG::RuleDB::Remove->new(1, undef, undef, 1);
+ my $attach_quar_all = $ruledb->create_group_with_obj(
+ $obj, 'Attachment Quarantine (remove all)', 'Remove all attachments and move the whole mail to the attachment quarantine.');
+
# Attach original mail
#$obj = Proxmox::RuleDB::Attach->new ();
#my $attach_orig = $ruledb->create_group_with_obj ($obj, 'Attach Original Mail',
@@ -822,6 +832,13 @@ sub init_ruledb {
$ruledb->rule_add_what_group ($rule, $mm_content);
$ruledb->rule_add_action ($rule, $remove);
+ # Quarantine Office Files
+ $rule = PMG::RuleDB::Rule->new ('Quarantine Office Files', 89, 0, 0);
+ $ruledb->save_rule ($rule);
+
+ $ruledb->rule_add_what_group ($rule, $office_content);
+ $ruledb->rule_add_action ($rule, $attach_quar);
+
#$ruledb->rule_add_from_group ($rule, $anybody);
#$ruledb->rule_add_from_group ($rule, $trusted);
#$ruledb->rule_add_to_group ($rule, $anybody);
diff --git a/src/tests/testdb.txt b/src/tests/testdb.txt
index c69f4ed..dc08df8 100644
--- a/src/tests/testdb.txt
+++ b/src/tests/testdb.txt
@@ -31,6 +31,17 @@ Found RULE 1: Block Dangerous Files
OBJECT 21: filename=.*\.\{.+\}
FOUND ACTION GROUP 14: Remove attachments
OBJECT 28: remove matching attachments
+Found RULE 12: Quarantine Office Files
+ FOUND WHAT GROUP 6: Office Files
+ OBJECT 9: content-type=application/msword
+ OBJECT 7: content-type=application/vnd\.ms-excel
+ OBJECT 8: content-type=application/vnd\.ms-powerpoint
+ OBJECT 11: content-type=application/vnd\.oasis\.opendocument\..*
+ OBJECT 10: content-type=application/vnd\.openxmlformats-officedocument\..*
+ OBJECT 12: content-type=application/vnd\.stardivision\..*
+ OBJECT 13: content-type=application/vnd\.sun\.xml\..*
+ FOUND ACTION GROUP 22: Attachment Quarantine (remove matching)
+ OBJECT 36: remove matching attachments
Found RULE 11: Block Multimedia Files
FOUND WHAT GROUP 5: Multimedia
OBJECT 5: content-type=audio/.*
--
2.20.1
More information about the pmg-devel
mailing list