On 2026/06/22 08:04, James J. Lippard wrote:
> The mail/amavisd-new port is broken in OpenBSD 7.9 and also contains
> the vulnerability CVE-2024-28054 (MIME boundary confusion which allows
> bypassing scanners for attachments). The vuln is fixed in 2.13.1 and
> current stable release is 2.14.0.  Attached is a unified diff that
> modifies Makefile and the existing patches to work on 2.14.0. (It's
> also possible to add a few lines to do some pledge and unveil
> restrictions in Amavis.pm which I'm running on my systems, but I've
> left that out of this minimal set of changes to make it work.)
> 
> Sent at giovanni's request since he no longer uses amavisd.

Updated diff below.

The install steps seem a bit more complicated than they need to be,
and I think "make plist" was wrong to strip out share/snmp/mibs/
parent dirs.

> diff -urN ports/mail/amavisd-new/patches/patch-bin_amavis-mc 
> ports/mystuff/mail/amavisd-new/patches/patch-bin_amavis-mc
> --- ports/mail/amavisd-new/patches/patch-bin_amavis-mc        Wed Dec 31 
> 17:00:00 1969
> +++ ports/mystuff/mail/amavisd-new/patches/patch-bin_amavis-mc        Sat Jun 
> 20 16:00:49 2026
> @@ -0,0 +1,23 @@
> +--- bin/amavis-mc.orig       Sat Jun 20 13:49:43 2026
> ++++ bin/amavis-mc    Sat Jun 20 13:49:51 2026

use "make update-patches" to generate patch files, the format of
the patches is slightly different, and it uses a consistent filename.

> +++ ports/mystuff/mail/amavisd-new/patches/patch-bin_amvisd-snmp-subagent-zmq 
> Sat Jun 20 16:00:49 2026
> +-    $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): $!");

this was in the old one too but I'm pretty sure this is wrong.
if there is output on stderr that's not going to be a usable directory.

> ++++ lib/Amavis/Unpackers.pm  Sat Jun 20 11:19:55 2026
> ++++ lib/Amavis.pm    Sun Jun 21 11:00:26 2026

Why are you ripping out File::LibMagic? If that's because of the bug
in file (libmagic) 5.47, that's been fixed. I've dropped those from the
diff and added an RDEP.

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/amavisd-new/Makefile,v
diff -u -p -r1.55 Makefile
--- Makefile    26 Sep 2023 12:28:09 -0000      1.55
+++ Makefile    25 Jun 2026 07:34:18 -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=         0
-REVISION-utils=                0
 
-HOMEPAGE=              http://www.amavis.org/
+HOMEPAGE=              https://www.amavis.org/
 MAINTAINER=            Giovanni Bechis <[email protected]>
 
 # BSD / GPLv2
@@ -54,30 +52,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:34:18 -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       11 Mar 2022 19:34:32 -0000      1.18
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,42 +0,0 @@
-Hunks 1, 4: Disable File::LibMagic in favour of safer file(1) from base.
-Hunks 2, 5: fix DKIM signing
-
-Index: amavisd
---- amavisd.orig
-+++ amavisd
-@@ -12939,7 +12939,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
-@@ -30859,7 +30859,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})
-@@ -31634,17 +31634,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:34:18 -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:34:18 -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:34:18 -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:34:18 -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:34:18 -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:34:18 -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:34:18 -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:34:18 -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

Reply via email to