[pmg-devel] [PATCH pmg-api v3 04/10] MailQueue: prepare for attachment quarantine
Dominik Csapak
d.csapak at proxmox.com
Thu Oct 10 11:21:55 CEST 2019
create the spooldir for the attachment quarantine, as well as
allow quarantining into it
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
src/PMG/MailQueue.pm | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/PMG/MailQueue.pm b/src/PMG/MailQueue.pm
index 61cb166..e0f56b9 100644
--- a/src/PMG/MailQueue.pm
+++ b/src/PMG/MailQueue.pm
@@ -25,15 +25,24 @@ sub create_spooldirs {
# if requested, remove any stale date
File::Path::remove_tree(
- "$spooldir/cluster", "$spooldir/active",
- "$spooldir/virus", "$spooldir/spam") if $cleanup;
+ "$spooldir/cluster",
+ "$spooldir/active",
+ "$spooldir/virus",
+ "$spooldir/spam",
+ "$spooldir/attachment",
+ ) if $cleanup;
File::Path::make_path(
- "$spooldir/active", "$spooldir/spam", "$spooldir/virus");
+ "$spooldir/active",
+ "$spooldir/spam",
+ "$spooldir/virus",
+ "$spooldir/attachment",
+ );
if ($lcid) {
mkpath "$spooldir/cluster/$lcid/virus";
mkpath "$spooldir/cluster/$lcid/spam";
+ mkpath "$spooldir/cluster/$lcid/attachment";
}
}
@@ -254,6 +263,12 @@ sub fsync_file_and_dir {
}
+my $subpath_map = {
+ 'V' => 'virus',
+ 'S' => 'spam',
+ 'A' => 'attachment',
+};
+
sub quarantine_mail {
my ($self, $ruledb, $qtype, $entity, $tg, $msginfo, $vars, $ldap) = @_;
@@ -261,7 +276,7 @@ sub quarantine_mail {
my $header = extract_header_text ($entity);
- my $subpath = $qtype eq 'V' ? 'virus' : 'spam';
+ my $subpath = $subpath_map->{$qtype} // 'spam';
my $lcid = $msginfo->{lcid};
--
2.20.1
More information about the pmg-devel
mailing list