[pmg-devel] [PATCH pmg-api v3 3/5] pmg-smtp-filter: archive-detection: use header information as well
Stoiko Ivanov
s.ivanov at proxmox.com
Wed Feb 19 13:18:45 CET 2025
This restores the fall-back to the content-type from the header for
detecting archives, which we want to unpack, as eagerly trying to get
all information seems sensible in this case.
Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
---
src/bin/pmg-smtp-filter | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/bin/pmg-smtp-filter b/src/bin/pmg-smtp-filter
index 6061459..5c79a58 100755
--- a/src/bin/pmg-smtp-filter
+++ b/src/bin/pmg-smtp-filter
@@ -561,7 +561,13 @@ sub run_dequeue {
sub unpack_entity {
my ($self, $unpack, $entity, $msginfo, $queue) = @_;
- my ($magic, $path) = $entity->@{'PMX_magic_ct', 'PMX_decoded_path'};
+ my ($magic, $headerct, $path) = $entity->@{'PMX_magic_ct', 'PMX_header_ct', 'PMX_decoded_path'};
+
+ # in order to not miss information from a misdetected archive use information provided in the
+ # header here as well
+ if ($magic eq 'application/octet-stream' && $headerct) {
+ $magic = $headerct;
+ }
if ($magic && $path) {
my $filename = basename ($path);
--
2.39.5
More information about the pmg-devel
mailing list