Index | Thread | Search

From:
Giovanni Bechis <giovanni@paclan.it>
Subject:
Re: mail/amavisd-new update to 2.14.0
To:
"James J. Lippard" <lippard-openbsd@discord.org>, ports@openbsd.org
Date:
Fri, 26 Jun 2026 13:06:00 +0200

Download raw body.

Thread
On 6/26/26 10:38 AM, Stuart Henderson wrote:
> On 2026/06/25 09:09, James J. Lippard wrote:
>> I'm now running on this updated version (plus I have added pledge/unveil into
>> lib/Amavis.pm).
> 
> thanks. I think it would probably make sense to commit this, any
> objection Giovanni? (I guess maybe drop you as maintainer as well if
> you don't use it any more?)
> 
I completely forgot to still be maintainer of this, please remove/change MAINTAINER line.
ok giovanni@ in any case.
  Thanks
   Giovanni

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/mail/amavisd-new/Makefile,v
> diff -u -p -r1.56 Makefile
> --- Makefile	25 Jun 2026 07:37:30 -0000	1.56
> +++ Makefile	25 Jun 2026 07:38:33 -0000
> @@ -1,15 +1,13 @@
>   COMMENT-main=		interface between mailer MTA and content checkers
>   COMMENT-utils=		utilities to monitor amavisd-new server
>   
> -V=			2.12.2
> +V=			2.14.0
>   DISTNAME=		amavis-v${V}
>   PKGNAME-main=		amavisd-new-${V}
>   PKGNAME-utils=		amavisd-new-utils-${V}
>   CATEGORIES=		mail security
> -REVISION-main=		1
> -REVISION-utils=		0
>   
> -HOMEPAGE=		http://www.amavis.org/
> +HOMEPAGE=		https://www.amavis.org/
>   MAINTAINER=		Giovanni Bechis <giovanni@openbsd.org>
>   
>   # BSD / GPLv2
> @@ -35,6 +33,7 @@ RUN_DEPENDS=		archivers/arc \
>   			mail/p5-Mail-SpamAssassin \
>   			mail/p5-Mail-DKIM>=0.31 \
>   			mail/p5-MIME-tools \
> +			misc/p5-File-LibMagic \
>   			net/net-snmp \
>   			net/p5-IO-Socket-INET6 \
>   			net/p5-Net-LibIDN \
> @@ -54,30 +53,41 @@ PKG_ARCH=		*
>   MULTI_PACKAGES=		-main -utils
>   
>   pre-configure:
> -	${SUBST_CMD} ${WRKSRC}/amavis-mc
> -	@perl -pi -e 's,/var/amavis,/${VARBASE}/amavisd,g' ${WRKSRC}/amavisd-*
> -	@perl -pi -e "s,= 'vscan',= '_vscan',g" ${WRKSRC}/amavisd-signer \
> -		${WRKSRC}/amavisd.conf ${WRKSRC}/amavisd.conf-default
> +	${SUBST_CMD} ${WRKSRC}/bin/amavis-mc
> +	@perl -pi -e 's,/var/amavis,/${VARBASE}/amavisd,g' \
> +		${WRKSRC}/bin/amavisd-*
> +	@perl -pi -e "s,= 'vscan',= '_vscan',g" \
> +		${WRKSRC}/bin/amavisd-signer \
> +		${WRKSRC}/conf/amavisd.conf \
> +		${WRKSRC}/conf/amavisd.conf-default
>   
>   do-install:
> -	cd ${WRKSRC}; ${INSTALL_SCRIPT} amavisd amavis-mc amavis-services \
> +	cd ${WRKSRC}/bin; ${INSTALL_SCRIPT} amavisd amavis-mc amavis-services \
>   		${PREFIX}/sbin/
> -	cd ${WRKSRC}; ${INSTALL_SCRIPT} amavisd-agent amavisd-nanny \
> +	cd ${WRKSRC}/bin; ${INSTALL_SCRIPT} amavisd-agent amavisd-nanny \
>   		amavisd-release amavisd-signer amavisd-snmp-subagent \
>   		amavisd-submit amavisd-status amavisd-snmp-subagent-zmq \
> -		p0f-analyzer.pl ${PREFIX}/bin/
> -	${INSTALL_DATA} ${WRKSRC}/JpegTester.pm \
> -			${PREFIX}/libdata/perl5/site_perl/JpegTester.pm
> -	${INSTALL_DATA} ${WRKSRC}/TinyRedis.pm \
> -			${PREFIX}/libdata/perl5/site_perl/TinyRedis.pm
> +		${PREFIX}/bin/
> +
> +	cp -r ${WRKSRC}/lib/* ${PREFIX}/libdata/perl5/site_perl/
> +	find ${PREFIX}/libdata/perl5/site_perl/ -name '*${PATCHORIG}' -delete
> +
> +	${INSTALL_SCRIPT} ${WRKSRC}/contrib/p0f-analyzer.pl ${PREFIX}/bin/
> +	${INSTALL_DATA} ${WRKSRC}/contrib/JpegTester.pm \
> +		${PREFIX}/libdata/perl5/site_perl/JpegTester.pm
> +
>   	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/amavisd-new
> -	cd ${WRKSRC}; ${INSTALL_DATA} AAAREADME.first INSTALL LDAP.schema \
> -		LDAP.ldif LICENSE MANIFEST README_FILES/README.* RELEASE_NOTES \
> +	cd ${WRKSRC}; ${INSTALL_DATA} AAAREADME.first contrib/LDAP* \
> +		LICENSE MANIFEST.old README_FILES/README.* RELEASE_NOTES \
>   		${PREFIX}/share/doc/amavisd-new/
> +
>   	${INSTALL_DATA_DIR} ${PREFIX}/share/snmp/mibs
> -	${INSTALL_DATA} ${WRKSRC}/AMAVIS-MIB.txt ${PREFIX}/share/snmp/mibs
> +	${INSTALL_DATA} ${WRKSRC}/AMAVIS-MIB.txt ${PREFIX}/share/snmp/mibs/
> +
>   	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/amavisd-new
> -	cd ${WRKSRC}; ${INSTALL_DATA} amavisd*.conf amavisd.conf-default \
> +	cd ${WRKSRC}/conf; ${INSTALL_DATA} \
> +		amavisd.conf-default \
> +		amavisd{,-custom}.conf \
>   		${PREFIX}/share/examples/amavisd-new/
>   
>   .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/mail/amavisd-new/distinfo,v
> diff -u -p -r1.23 distinfo
> --- distinfo	15 Jun 2022 08:16:30 -0000	1.23
> +++ distinfo	25 Jun 2026 07:38:33 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (amavis-v2.12.2.tar.bz2) = nbYZAQoxA1HFf/GDhc8G3W4GFgQS0+Uw8/6bG6IZ5Fc=
> -SIZE (amavis-v2.12.2.tar.bz2) = 874946
> +SHA256 (amavis-v2.14.0.tar.bz2) = aXPuWCsZNHnMsOfTda0ggFEjbuAxihcHHSYzl6KCMYk=
> +SIZE (amavis-v2.14.0.tar.bz2) = 898335
> Index: patches/patch-amavis-mc
> ===================================================================
> RCS file: patches/patch-amavis-mc
> diff -N patches/patch-amavis-mc
> --- patches/patch-amavis-mc	11 Mar 2022 19:34:32 -0000	1.2
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,23 +0,0 @@
> ---- amavis-mc.orig	Tue May  6 13:56:46 2014
> -+++ amavis-mc	Mon Jul 14 10:15:13 2014
> -@@ -70,16 +70,16 @@ use vars qw(@path @services $daemon_user $daemon_group
> -
> - ### USER CONFIGURABLE:
> -
> --$daemon_user  = 'vscan';
> --$daemon_group = 'vscan';
> -+$daemon_user  = '_vscan';
> -+$daemon_group = '_vscan';
> -
> --$pid_file = '/var/amavis/amavis-mc.pid';
> -+$pid_file = '/var/amavisd/amavis-mc.pid';
> -
> - $log_level = 0;
> - $syslog_ident = 'amavis-mc';
> - $syslog_facility = LOG_MAIL;
> -
> --@path = qw(/usr/local/sbin /usr/local/bin /usr/sbin /sbin /usr/bin /bin);
> -+@path = qw(${TRUEPREFIX}/sbin ${TRUEPREFIX}/bin /usr/sbin /sbin /usr/bin /bin);
> -
> - @services = (
> -   { cmd => 'amavis-services msg-forwarder' },
> Index: patches/patch-amavis-services
> ===================================================================
> RCS file: patches/patch-amavis-services
> diff -N patches/patch-amavis-services
> --- patches/patch-amavis-services	11 Mar 2022 19:34:32 -0000	1.2
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,11 +0,0 @@
> ---- amavis-services.orig	Fri Jul 11 08:42:24 2014
> -+++ amavis-services	Fri Jul 11 08:42:55 2014
> -@@ -71,7 +71,7 @@ $log_level = 0;  # 0..5
> - $syslog_facility = LOG_MAIL;
> - $syslog_ident = $myproduct_name;
> -
> --$MYHOME = '/var/amavis';
> -+$MYHOME = '/var/amavisd';
> -
> - # A socket to which amavisd child processes report their data.
> - # should match one of the sockets in @zmq_sockets in amavisd.conf
> Index: patches/patch-amavisd
> ===================================================================
> RCS file: patches/patch-amavisd
> diff -N patches/patch-amavisd
> --- patches/patch-amavisd	25 Jun 2026 07:37:30 -0000	1.19
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,63 +0,0 @@
> -Hunks 1, 5: Disable File::LibMagic in favour of safer file(1) from base.
> -Hunks 4, 6: fix DKIM signing
> -Hunks 2, 3: fix Crypto::OpenSSL::RSA
> -
> -Index: amavisd
> ---- amavisd.orig
> -+++ amavisd
> -@@ -12964,7 +12964,7 @@ sub after_chroot_init() {
> -                grep(/\.pm\z/, keys %INC)) {
> -     next  if !grep($_ eq $m, qw(Amavis::Conf
> -       Archive::Tar Archive::Zip Compress::Zlib Compress::Raw::Zlib
> --      Convert::TNEF Convert::UUlib File::LibMagic
> -+      Convert::TNEF Convert::UUlib
> -       MIME::Entity MIME::Parser MIME::Tools Mail::Header Mail::Internet
> -       Digest::MD5 Digest::SHA Digest::SHA1 Crypt::OpenSSL::RSA
> -       Authen::SASL Authen::SASL::XS Authen::SASL::Cyrus Authen::SASL::Perl
> -@@ -18790,7 +18790,7 @@ sub fetch_modules_extra() {
> -                       auto::Net::SSLeay::dump_peer_certificate));
> -   }
> -   push(@modules, qw(Net::DNS::RR::TXT Text::ParseWords
> --         auto::Crypt::OpenSSL::RSA::new_public_key))  if $extra_code_dkim;
> -+       ))  if $extra_code_dkim;
> -   push(@modules, 'Anomy::Sanitizer')  if $enable_anomy_sanitizer;
> -   Amavis::Boot::fetch_modules('REQUIRED ADDITIONAL MODULES', 1, @modules);
> -
> -@@ -30827,10 +30827,6 @@ sub getSAPlugins {
> -       $mod_names{'Mail::SpamAssassin::Plugin::DKIM'}) {
> -     push(@modules, qw(
> -       Crypt::OpenSSL::RSA
> --      auto::Crypt::OpenSSL::RSA::new_public_key
> --      auto::Crypt::OpenSSL::RSA::new_key_from_parameters
> --      auto::Crypt::OpenSSL::RSA::get_key_parameters
> --      auto::Crypt::OpenSSL::RSA::import_random_seed
> -       Digest::SHA Error));
> -   }
> - # HTML/HeadParser.pm
> -@@ -30915,7 +30911,7 @@ sub new_SpamAssassin_instance {
> - #   PREFIX            => '/usr/local',
> - #   DEF_RULES_DIR     => '/usr/local/share/spamassassin',
> - #   LOCAL_RULES_DIR   => '/etc/mail/spamassassin',
> --#   LOCAL_STATE_DIR   => '/var/lib/spamassassin',
> -+    LOCAL_STATE_DIR   => '/var/db/spamassassin',
> - #see Mail::SpamAssassin man page for other options
> -   };
> -   if ($sa_version_num < 3.001005 && !defined $sa_args->{LOCAL_STATE_DIR})
> -@@ -31690,17 +31686,8 @@ BEGIN {
> -   import Amavis::Unpackers::NewFilename qw(consumed_bytes);
> - }
> -
> --BEGIN {
> -   use vars qw($filemagic);
> --  eval {
> --    require File::LibMagic;
> --    File::LibMagic->VERSION(1.00);
> --    import File::LibMagic;
> --    $filemagic = File::LibMagic->new;
> --  } or do {
> -     undef $filemagic;
> --  };
> --}
> -
> - use subs @EXPORT_OK;
> -
> Index: patches/patch-amavisd-snmp-subagent-zmq
> ===================================================================
> RCS file: patches/patch-amavisd-snmp-subagent-zmq
> diff -N patches/patch-amavisd-snmp-subagent-zmq
> --- patches/patch-amavisd-snmp-subagent-zmq	11 Mar 2022 19:34:32 -0000	1.2
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,11 +0,0 @@
> ---- amavisd-snmp-subagent-zmq.orig	Fri Jul 11 10:03:13 2014
> -+++ amavisd-snmp-subagent-zmq	Fri Jul 11 10:10:01 2014
> -@@ -1123,7 +1123,7 @@ my $keep_running = 1;
> -   if (!defined $mta_queue_dir) {  # test for access to Postfix queue directory
> -     local($ENV{PATH}) = '/usr/sbin:/usr/local/sbin:/opt/postfix/sbin';
> -     $! = 0;
> --    $mta_queue_dir = qx(postconf -h queue_directory);
> -+    $mta_queue_dir = qx(postconf -h queue_directory 2>&1);
> -     if (!defined $mta_queue_dir) {
> -       if ($! != 0) {
> -         do_log(1, "no postfix (unable to run postconf command): $!");
> Index: patches/patch-amavisd_conf
> ===================================================================
> RCS file: patches/patch-amavisd_conf
> diff -N patches/patch-amavisd_conf
> --- patches/patch-amavisd_conf	11 Mar 2022 19:34:32 -0000	1.11
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,48 +0,0 @@
> -Index: amavisd.conf
> ---- amavisd.conf.orig
> -+++ amavisd.conf
> -@@ -17,12 +17,12 @@ use strict;
> -                         # truncation in /proc/<pid>/stat and ps -e output
> -
> - $max_servers = 2;            # num of pre-forked children (2..30 is common), -m
> --$daemon_user  = 'vscan';     # (no default;  customary: vscan or amavis), -u
> --$daemon_group = 'vscan';     # (no default;  customary: vscan or amavis), -g
> -+$daemon_user  = '_vscan';     # (no default;  customary: _vscan or amavis), -u
> -+$daemon_group = '_vscan';     # (no default;  customary: _vscan or amavis), -g
> -
> - $mydomain = 'example.com';   # a convenient default for other settings
> -
> --# $MYHOME = '/var/amavis';   # a convenient default for other settings, -H
> -+$MYHOME = '/var/amavisd';   # a convenient default for other settings, -H
> - $TEMPBASE = "$MYHOME/tmp";   # working directory, needs to exist, -T
> - $ENV{TMPDIR} = $TEMPBASE;    # environment variable TMPDIR, used by SA, etc.
> - $QUARANTINEDIR = '/var/virusmails';  # -Q
> -@@ -235,7 +235,7 @@ $banned_filename_re = new_RE(
> -
> -   qr'.\.(exe|vbs|pif|scr|cpl)$'i,             # banned extension - basic
> - # qr'.\.(exe|vbs|pif|scr|cpl|bat|cmd|com)$'i, # banned extension - basic+cmd
> --# qr'.\.(ade|adp|app|bas|bat|chm|cmd|com|cpl|crt|emf|exe|fxp|grp|hlp|hta|
> -+# qr'.\.(ade|adp|app|bas|bat|chm|cmd|com|cpl|crt|emf|exe|fxp|gadget|grp|hlp|hta|
> - #        inf|ini|ins|isp|js|jse|lib|lnk|mda|mdb|mde|mdt|mdw|mdz|msc|msi|
> - #        msp|mst|ocx|ops|pcd|pif|prg|reg|scr|sct|shb|shs|sys|vb|vbe|vbs|vxd|
> - #        wmf|wsc|wsf|wsh)$'ix,                # banned extensions - long
> -@@ -319,7 +319,7 @@ $banned_filename_re = new_RE(
> - @decoders = (
> -   ['mail', \&do_mime_decode],
> - # [[qw(asc uue hqx ync)], \&do_ascii],  # not safe
> --  ['F',    \&do_uncompress, ['unfreeze', 'freeze -d', 'melt', 'fcat'] ],
> -+# ['F',    \&do_uncompress, ['unfreeze', 'freeze -d', 'melt', 'fcat'] ],
> -   ['Z',    \&do_uncompress, ['uncompress', 'gzip -d', 'zcat'] ],
> -   ['gz',   \&do_uncompress, 'gzip -d'],
> -   ['gz',   \&do_gunzip],
> -@@ -338,8 +338,8 @@ $banned_filename_re = new_RE(
> -            # ['/usr/local/heirloom/usr/5bin/pax', 'pax', 'gcpio', 'cpio']
> -   ['deb',  \&do_ar, 'ar'],
> - # ['a',    \&do_ar, 'ar'],  # unpacking .a seems an overkill
> --  ['rar',  \&do_unrar, ['unrar', 'rar'] ],
> --  ['arj',  \&do_unarj, ['unarj', 'arj'] ],
> -+  ['rar',  \&do_7zip, ['7z'] ],
> -+  ['arj',  \&do_7zip, ['7z'] ],
> -   ['arc',  \&do_arc,   ['nomarch', 'arc'] ],
> -   ['zoo',  \&do_zoo,   ['zoo', 'unzoo'] ],
> -   ['doc',  \&do_ole,   'ripole'],
> Index: patches/patch-amavisd_conf-default
> ===================================================================
> RCS file: patches/patch-amavisd_conf-default
> diff -N patches/patch-amavisd_conf-default
> --- patches/patch-amavisd_conf-default	11 Mar 2022 19:34:32 -0000	1.6
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,26 +0,0 @@
> ---- amavisd.conf-default.orig	Fri Feb 26 14:37:51 2016
> -+++ amavisd.conf-default	Fri Jul  1 01:02:59 2016
> -@@ -16,9 +16,9 @@ use strict;
> - # $mydomain   = ... no useful default, should be set if used in expressions
> - # $snmp_contact  = '';
> - # $snmp_location = '';
> --# $daemon_user   = undef;
> --# $daemon_group  = undef;
> --# $MYHOME        = '/var/amavis';
> -+$daemon_user   = _vscan;
> -+$daemon_group  = _vscan;
> -+$MYHOME        = '/var/amavisd';
> - # $TEMPBASE      = $MYHOME;                # after-default
> - # $db_home       = "$MYHOME/db";           # after-default
> - # $pid_file      = "$MYHOME/amavisd.pid";  # after-default
> -@@ -381,8 +381,8 @@ use strict;
> - ### ['tar',  \&do_tar],  # no longer supported
> - #   ['deb',  \&do_ar, \$ar],
> - ### ['a',    \&do_ar, \$ar],  # unpacking .a seems an overkill
> --#   ['rar',  \&do_unrar, \$unrar],
> --#   ['arj',  \&do_unarj, \$unarj],
> -+#   ['rar',  \&do_7zip, '7z'],
> -+#   ['arj',  \&do_7zip, '7z'],
> - #   ['arc',  \&do_arc,   \$arc],
> - #   ['zoo',  \&do_zoo,   \$zoo],
> - #   ['doc',  \&do_ole,   \$ripole],
> Index: patches/patch-bin_amavis-mc
> ===================================================================
> RCS file: patches/patch-bin_amavis-mc
> diff -N patches/patch-bin_amavis-mc
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-bin_amavis-mc	25 Jun 2026 07:38:33 -0000
> @@ -0,0 +1,24 @@
> +Index: bin/amavis-mc
> +--- bin/amavis-mc.orig
> ++++ bin/amavis-mc
> +@@ -73,16 +73,16 @@ use vars qw(@path @services $daemon_user @daemon_group
> +
> + ### USER CONFIGURABLE:
> +
> +-$daemon_user   = 'vscan';
> +-@daemon_groups = 'vscan';
> ++$daemon_user   = '_vscan';
> ++@daemon_groups = '_vscan';
> +
> +-$pid_file = '/var/amavis/amavis-mc.pid';
> ++$pid_file = '/var/amavisd/amavis-mc.pid';
> +
> + $log_level = 0;
> + $syslog_ident = 'amavis-mc';
> + $syslog_facility = LOG_MAIL;
> +
> +-@path = qw(/usr/local/sbin /usr/local/bin /usr/sbin /sbin /usr/bin /bin);
> ++@path = qw(${TRUEPREFIX}/sbin ${TRUEPREFIX}/bin /usr/sbin /sbin /usr/bin /bin);
> +
> + @services = (
> +   { cmd => 'amavis-services msg-forwarder' },
> Index: patches/patch-bin_amavis-services
> ===================================================================
> RCS file: patches/patch-bin_amavis-services
> diff -N patches/patch-bin_amavis-services
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-bin_amavis-services	25 Jun 2026 07:38:33 -0000
> @@ -0,0 +1,12 @@
> +Index: bin/amavis-services
> +--- bin/amavis-services.orig
> ++++ bin/amavis-services
> +@@ -72,7 +72,7 @@ $log_level = 0;  # 0..5
> + $syslog_facility = LOG_MAIL;
> + $syslog_ident = $myproduct_name;
> +
> +-$MYHOME = '/var/amavis';
> ++$MYHOME = '/var/amavisd';
> +
> + # A socket to which amavisd child processes report their data.
> + # should match one of the sockets in @zmq_sockets in amavisd.conf
> Index: patches/patch-conf_amavisd_conf
> ===================================================================
> RCS file: patches/patch-conf_amavisd_conf
> diff -N patches/patch-conf_amavisd_conf
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-conf_amavisd_conf	25 Jun 2026 07:38:33 -0000
> @@ -0,0 +1,41 @@
> +Index: conf/amavisd.conf
> +--- conf/amavisd.conf.orig
> ++++ conf/amavisd.conf
> +@@ -22,7 +22,7 @@ $daemon_user   = 'vscan';    # (no default;  customary
> +
> + $mydomain = 'example.com';   # a convenient default for other settings
> +
> +-# $MYHOME = '/var/amavis';   # a convenient default for other settings, -H
> ++$MYHOME = '/var/amavisd';   # a convenient default for other settings, -H
> + $TEMPBASE = "$MYHOME/tmp";   # working directory, needs to exist, -T
> + $ENV{TMPDIR} = $TEMPBASE;    # environment variable TMPDIR, used by SA, etc.
> + $QUARANTINEDIR = '/var/virusmails';  # -Q
> +@@ -248,7 +248,7 @@ $banned_filename_re = new_RE(
> +
> +   qr'.\.(exe|vbs|pif|scr|cpl)$'i,             # banned extension - basic
> + # qr'.\.(exe|vbs|pif|scr|cpl|bat|cmd|com)$'i, # banned extension - basic+cmd
> +-# qr'.\.(ade|adp|app|bas|bat|chm|cmd|com|cpl|crt|emf|exe|fxp|grp|hlp|hta|
> ++# qr'.\.(ade|adp|app|bas|bat|chm|cmd|com|cpl|crt|emf|exe|fxp|gadget|grp|hlp|hta|
> + #        inf|ini|ins|isp|js|jse|lib|lnk|mda|mdb|mde|mdt|mdw|mdz|msc|msi|
> + #        msp|mst|ocx|ops|pcd|pif|prg|reg|scr|sct|shb|shs|sys|vb|vbe|vbs|vxd|
> + #        wmf|wsc|wsf|wsh)$'ix,                # banned extensions - long
> +@@ -332,7 +332,7 @@ $banned_filename_re = new_RE(
> + @decoders = (
> +   ['mail', \&do_mime_decode],
> + # [[qw(asc uue hqx ync)], \&do_ascii],  # not safe
> +-  ['F',    \&do_uncompress, ['unfreeze', 'freeze -d', 'melt', 'fcat'] ],
> ++# ['F',    \&do_uncompress, ['unfreeze', 'freeze -d', 'melt', 'fcat'] ],
> +   ['Z',    \&do_uncompress, ['uncompress', 'gzip -d', 'zcat'] ],
> +   ['gz',   \&do_uncompress, 'gzip -d'],
> +   ['gz',   \&do_gunzip],
> +@@ -352,8 +352,8 @@ $banned_filename_re = new_RE(
> +            # ['/usr/local/heirloom/usr/5bin/pax', 'pax', 'gcpio', 'cpio']
> +   ['deb',  \&do_ar, 'ar'],
> + # ['a',    \&do_ar, 'ar'],  # unpacking .a seems an overkill
> +-  ['rar',  \&do_unrar, ['unrar', 'rar'] ],
> +-  ['arj',  \&do_unarj, ['unarj', 'arj'] ],
> ++  ['rar',  \&do_7zip, ['7z'] ],
> ++  ['arj',  \&do_7zip, ['7z'] ],
> +   ['arc',  \&do_arc,   ['nomarch', 'arc'] ],
> +   ['zoo',  \&do_zoo,   ['zoo', 'unzoo'] ],
> +   ['doc',  \&do_ole,   'ripole'],
> Index: patches/patch-conf_amavisd_conf-default
> ===================================================================
> RCS file: patches/patch-conf_amavisd_conf-default
> diff -N patches/patch-conf_amavisd_conf-default
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-conf_amavisd_conf-default	25 Jun 2026 07:38:33 -0000
> @@ -0,0 +1,29 @@
> +Index: conf/amavisd.conf-default
> +--- conf/amavisd.conf-default.orig
> ++++ conf/amavisd.conf-default
> +@@ -16,10 +16,10 @@ use strict;
> + # $mydomain   = ... no useful default, should be set if used in expressions
> + # $snmp_contact  = '';
> + # $snmp_location = '';
> +-# $daemon_user   = undef;
> +-# $daemon_group  = undef;                  # legacy
> +-# @daemon_groups = $daemon_group // ();    # after-default
> +-# $MYHOME        = '/var/amavis';
> ++$daemon_user   = _vscan;
> ++$daemon_group  = _vscan;                  # legacy
> ++@daemon_groups = $daemon_group // ();    # after-default
> ++$MYHOME        = '/var/amavisd';
> + # $TEMPBASE      = $MYHOME;                # after-default
> + # $db_home       = "$MYHOME/db";           # after-default
> + # $pid_file      = "$MYHOME/amavisd.pid";  # after-default
> +@@ -383,8 +383,8 @@ use strict;
> + ### ['tar',  \&do_tar],  # no longer supported
> + #   ['deb',  \&do_ar, \$ar],
> + ### ['a',    \&do_ar, \$ar],  # unpacking .a seems an overkill
> +-#   ['rar',  \&do_unrar, \$unrar],
> +-#   ['arj',  \&do_unarj, \$unarj],
> ++#   ['rar',  \&do_7zip, '7z'],
> ++#   ['arj',  \&do_7zip, '7z'],
> + #   ['arc',  \&do_arc,   \$arc],
> + #   ['zoo',  \&do_zoo,   \$zoo],
> + #   ['doc',  \&do_ole,   \$ripole],
> Index: patches/patch-lib_Amavis_Conf_pm
> ===================================================================
> RCS file: patches/patch-lib_Amavis_Conf_pm
> diff -N patches/patch-lib_Amavis_Conf_pm
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-lib_Amavis_Conf_pm	25 Jun 2026 07:38:33 -0000
> @@ -0,0 +1,12 @@
> +Index: lib/Amavis/Conf.pm
> +--- lib/Amavis/Conf.pm.orig
> ++++ lib/Amavis/Conf.pm
> +@@ -467,7 +467,7 @@ BEGIN {  # init_primary: version, base policy bank
> + #
> + BEGIN {
> +   # serves only as a quick default for other configuration settings
> +-  $MYHOME = '/var/amavis';
> ++  $MYHOME = '/var/amavisd';
> +   $mydomain = '!change-mydomain-variable!.example.com';#intentionally bad deflt
> +
> +   # Create debugging output - true: log to stderr; false: log to syslog/file
> Index: patches/patch-lib_Amavis_SpamControl_SpamAssassin_pm
> ===================================================================
> RCS file: patches/patch-lib_Amavis_SpamControl_SpamAssassin_pm
> diff -N patches/patch-lib_Amavis_SpamControl_SpamAssassin_pm
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-lib_Amavis_SpamControl_SpamAssassin_pm	25 Jun 2026 07:38:33 -0000
> @@ -0,0 +1,12 @@
> +Index: lib/Amavis/SpamControl/SpamAssassin.pm
> +--- lib/Amavis/SpamControl/SpamAssassin.pm.orig
> ++++ lib/Amavis/SpamControl/SpamAssassin.pm
> +@@ -243,7 +243,7 @@ sub new_SpamAssassin_instance {
> + #   PREFIX            => '/usr/local',
> + #   DEF_RULES_DIR     => '/usr/local/share/spamassassin',
> + #   LOCAL_RULES_DIR   => '/etc/mail/spamassassin',
> +-#   LOCAL_STATE_DIR   => '/var/lib/spamassassin',
> ++   LOCAL_STATE_DIR   => '/var/db/spamassassin',
> + #see Mail::SpamAssassin man page for other options
> +   };
> +   if ($sa_version_num < 3.001005 && !defined $sa_args->{LOCAL_STATE_DIR})
> Index: pkg/PLIST-main
> ===================================================================
> RCS file: /cvs/ports/mail/amavisd-new/pkg/PLIST-main,v
> diff -u -p -r1.7 PLIST-main
> --- pkg/PLIST-main	8 Nov 2022 11:14:48 -0000	1.7
> +++ pkg/PLIST-main	25 Jun 2026 07:38:33 -0000
> @@ -8,19 +8,103 @@ bin/amavisd-release
>   bin/amavisd-signer
>   bin/amavisd-submit
>   bin/p0f-analyzer.pl
> +libdata/perl5/site_perl/Amavis/
> +libdata/perl5/site_perl/Amavis.pm
> +libdata/perl5/site_perl/Amavis/AV.pm
> +libdata/perl5/site_perl/Amavis/Boot.pm
> +libdata/perl5/site_perl/Amavis/Conf.pm
> +libdata/perl5/site_perl/Amavis/Custom.pm
> +libdata/perl5/site_perl/Amavis/DB/
> +libdata/perl5/site_perl/Amavis/DB.pm
> +libdata/perl5/site_perl/Amavis/DB/SNMP.pm
> +libdata/perl5/site_perl/Amavis/DKIM/
> +libdata/perl5/site_perl/Amavis/DKIM.pm
> +libdata/perl5/site_perl/Amavis/DKIM/CustomSigner.pm
> +libdata/perl5/site_perl/Amavis/DbgLog.pm
> +libdata/perl5/site_perl/Amavis/Expand.pm
> +libdata/perl5/site_perl/Amavis/IO/
> +libdata/perl5/site_perl/Amavis/IO/FileHandle.pm
> +libdata/perl5/site_perl/Amavis/IO/RW.pm
> +libdata/perl5/site_perl/Amavis/IO/SQL.pm
> +libdata/perl5/site_perl/Amavis/IO/Zlib.pm
> +libdata/perl5/site_perl/Amavis/In/
> +libdata/perl5/site_perl/Amavis/In/AMPDP.pm
> +libdata/perl5/site_perl/Amavis/In/Connection.pm
> +libdata/perl5/site_perl/Amavis/In/Message/
> +libdata/perl5/site_perl/Amavis/In/Message.pm
> +libdata/perl5/site_perl/Amavis/In/Message/PerRecip.pm
> +libdata/perl5/site_perl/Amavis/In/SMTP.pm
> +libdata/perl5/site_perl/Amavis/JSON.pm
> +libdata/perl5/site_perl/Amavis/LDAP/
> +libdata/perl5/site_perl/Amavis/LDAP/Connection.pm
> +libdata/perl5/site_perl/Amavis/Log.pm
> +libdata/perl5/site_perl/Amavis/Lookup/
> +libdata/perl5/site_perl/Amavis/Lookup.pm
> +libdata/perl5/site_perl/Amavis/Lookup/DNSxL.pm
> +libdata/perl5/site_perl/Amavis/Lookup/IP.pm
> +libdata/perl5/site_perl/Amavis/Lookup/LDAP.pm
> +libdata/perl5/site_perl/Amavis/Lookup/LDAPattr.pm
> +libdata/perl5/site_perl/Amavis/Lookup/Label.pm
> +libdata/perl5/site_perl/Amavis/Lookup/Opaque.pm
> +libdata/perl5/site_perl/Amavis/Lookup/OpaqueRef.pm
> +libdata/perl5/site_perl/Amavis/Lookup/RE.pm
> +libdata/perl5/site_perl/Amavis/Lookup/SQL.pm
> +libdata/perl5/site_perl/Amavis/Lookup/SQLfield.pm
> +libdata/perl5/site_perl/Amavis/MIME/
> +libdata/perl5/site_perl/Amavis/MIME/Body/
> +libdata/perl5/site_perl/Amavis/MIME/Body/OnOpenFh.pm
> +libdata/perl5/site_perl/Amavis/Notify.pm
> +libdata/perl5/site_perl/Amavis/OS_Fingerprint.pm
> +libdata/perl5/site_perl/Amavis/Out/
> +libdata/perl5/site_perl/Amavis/Out.pm
> +libdata/perl5/site_perl/Amavis/Out/BSMTP.pm
> +libdata/perl5/site_perl/Amavis/Out/EditHeader.pm
> +libdata/perl5/site_perl/Amavis/Out/Local.pm
> +libdata/perl5/site_perl/Amavis/Out/Pipe.pm
> +libdata/perl5/site_perl/Amavis/Out/SMTP/
> +libdata/perl5/site_perl/Amavis/Out/SMTP.pm
> +libdata/perl5/site_perl/Amavis/Out/SMTP/Protocol.pm
> +libdata/perl5/site_perl/Amavis/Out/SMTP/Session.pm
> +libdata/perl5/site_perl/Amavis/Out/SQL/
> +libdata/perl5/site_perl/Amavis/Out/SQL/Connection.pm
> +libdata/perl5/site_perl/Amavis/Out/SQL/Log.pm
> +libdata/perl5/site_perl/Amavis/Out/SQL/Quarantine.pm
> +libdata/perl5/site_perl/Amavis/ProcControl.pm
> +libdata/perl5/site_perl/Amavis/Redis.pm
> +libdata/perl5/site_perl/Amavis/SpamControl/
> +libdata/perl5/site_perl/Amavis/SpamControl.pm
> +libdata/perl5/site_perl/Amavis/SpamControl/ExtProg.pm
> +libdata/perl5/site_perl/Amavis/SpamControl/RspamdClient.pm
> +libdata/perl5/site_perl/Amavis/SpamControl/SpamAssassin.pm
> +libdata/perl5/site_perl/Amavis/SpamControl/SpamdClient.pm
> +libdata/perl5/site_perl/Amavis/TempDir.pm
> +libdata/perl5/site_perl/Amavis/Timing.pm
> +libdata/perl5/site_perl/Amavis/TinyRedis.pm
> +libdata/perl5/site_perl/Amavis/Tools.pm
> +libdata/perl5/site_perl/Amavis/UnmangleSender.pm
> +libdata/perl5/site_perl/Amavis/Unpackers/
> +libdata/perl5/site_perl/Amavis/Unpackers.pm
> +libdata/perl5/site_perl/Amavis/Unpackers/MIME.pm
> +libdata/perl5/site_perl/Amavis/Unpackers/NewFilename.pm
> +libdata/perl5/site_perl/Amavis/Unpackers/OurFiler.pm
> +libdata/perl5/site_perl/Amavis/Unpackers/Part.pm
> +libdata/perl5/site_perl/Amavis/Unpackers/Validity.pm
> +libdata/perl5/site_perl/Amavis/Util.pm
> +libdata/perl5/site_perl/Amavis/ZMQ.pm
> +libdata/perl5/site_perl/Amavis/rfc2821_2822_Tools.pm
>   libdata/perl5/site_perl/JpegTester.pm
> -libdata/perl5/site_perl/TinyRedis.pm
> +libdata/perl5/site_perl/Mail/SpamAssassin/Logger/Amavislog.pm
>   sbin/amavisd
>   share/doc/amavisd-new/
>   share/doc/amavisd-new/AAAREADME.first
> -share/doc/amavisd-new/INSTALL
>   share/doc/amavisd-new/LDAP.ldif
>   share/doc/amavisd-new/LDAP.schema
>   @sample ${SYSCONFDIR}/openldap/
>   @sample ${SYSCONFDIR}/openldap/schema/
>   @sample ${SYSCONFDIR}/openldap/schema/amavisd.schema
>   share/doc/amavisd-new/LICENSE
> -share/doc/amavisd-new/MANIFEST
> +share/doc/amavisd-new/MANIFEST.old
> +share/doc/amavisd-new/README.CVE-2024-28054
>   share/doc/amavisd-new/README.banned
>   share/doc/amavisd-new/README.chroot
>   share/doc/amavisd-new/README.contributed
> @@ -62,7 +146,3 @@ share/examples/amavisd-new/amavisd.conf-
>   @sample /var/amavisd/db/
>   @sample /var/amavisd/var/
>   @sample /var/virusmails/
> -@mode
> -@owner
> -@group
> -share/snmp/
> Index: pkg/PLIST-utils
> ===================================================================
> RCS file: /cvs/ports/mail/amavisd-new/pkg/PLIST-utils,v
> diff -u -p -r1.4 PLIST-utils
> --- pkg/PLIST-utils	11 Mar 2022 19:34:32 -0000	1.4
> +++ pkg/PLIST-utils	25 Jun 2026 07:38:33 -0000
> @@ -6,5 +6,6 @@ bin/amavisd-snmp-subagent-zmq
>   bin/amavisd-status
>   sbin/amavis-mc
>   sbin/amavis-services
> +share/snmp/
>   share/snmp/mibs/
>   share/snmp/mibs/AMAVIS-MIB.txt
>