[pmg-devel] [PATCH pmg-api v3 3/5] pmg-smtp-filter: archive-detection: use header information as well

Friedrich Weber f.weber at proxmox.com
Wed Feb 19 17:47:08 CET 2025


On 19/02/2025 13:18, Stoiko Ivanov wrote:
> 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) {

nit: If I have a rule with an "Archive Filter" and send an email with an
attachment:

swaks [...] --attach <(dd if=/dev/urandom bs=1k count=1)

I get the following in the journal:

Feb 19 17:31:20 pmg230 pmg-smtp-filter[3021]: WARNING: Use of
uninitialized value $magic in string eq at /usr/bin/pmg-smtp-filter line
568.

Not sure why, though.




More information about the pmg-devel mailing list