]> git.proxmox.com Git - pmg-api.git/commitdiff
collect filenames on unpack
authorDominik Csapak <d.csapak@proxmox.com>
Thu, 16 Apr 2020 08:59:39 +0000 (10:59 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 16 Apr 2020 13:01:23 +0000 (15:01 +0200)
so that we can later match on them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>
src/PMG/Unpack.pm
src/bin/pmg-smtp-filter

index a4ec20ed9948e8cd930beecba0beef76307fa746..1de629a5786760a8ca043b00d58480ea819d4635 100755 (executable)
@@ -259,6 +259,7 @@ sub new {
     $self->{debug} = $param{debug} || 0;
 
     $self->{mime} = {};
+    $self->{filenames} = {};
 
     $self->{ufid} = 0; # counter to creat unique file names
     $self->{udid} = 0; # counter to creat unique dir names
@@ -494,7 +495,10 @@ sub check_quota {
 sub add_glob_mime_type {
     my ($self, $filename) = @_;
 
-    if (my $ct = xdg_mime_get_mime_type_from_file_name (basename ($filename))) {
+    my $basename = basename($filename);
+    $self->{filenames}->{$basename} = 1;
+
+    if (my $ct = xdg_mime_get_mime_type_from_file_name($basename)) {
        $self->{mime}->{$ct} = 1 if $ct ne 'application/octet-stream';
     }
 }
index 5f1e5821c3e8cf1d7745ead127766dcbdd6d6b06..1f3087581d9e8f46df5d99c975d64375a81e7d65 100755 (executable)
@@ -584,6 +584,7 @@ sub unpack_entity {
            $self->log (3, "$queue->{logid}: unpack failed - $@") if $@;
 
            $entity->{PMX_content_types} = $unpack->{mime};
+           $entity->{PMX_filenames} = $unpack->{filenames};
 
            if ($opt_testmode) {
                my $types = join (", ", sort keys (%{$entity->{PMX_content_types}}));