Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
mail/spampd: update to 2.62
To:
OpenBSD ports <ports@openbsd.org>
Cc:
Tim van der Molen <tim@kariliq.nl>, Klemens Nanni <kn@openbsd.org>
Date:
Mon, 09 Dec 2024 19:17:44 +0100

Download raw body.

Thread
ports@,

I'd like to update mail/spampd to 2.62 which was released today.

Changelog:
 * Fixed that SpamPD shares the same socket to `redist` between children.
 * Fix option names in configuration parameter validation methods
 ~ Do not set up logging if only showing debug info

Additionally, I had fixed default homedir to expected value /var/spampd
which is HOME directory for _spampd user, and put into PLIST
/var/spampd/.spamassassin as @sample which migth be used on start to create
some LOCK files by some plugins.

Fixing permission at /var/spool/spamassassin/spampd looks too complicated,
because we run spamassassin's spamd at one user, and mail/spampd from
another one. Insted magic of permission or moving files in rc-script...,
I've add pkg/MESSAGE with instruction how to move the data.

We had similar issue with net/isc-dhcp's leasse file, and after some
discussion and testing decided to move on with pkg/MESSAGE approach, see:
https://marc.info/?t=170485574700001&r=1&w=2

Without that fix, on clean system, I do have errors like:

    plugin: eval failed: bayes: (in learn) locker: safe_lock: cannot create tmp lockfile /var/spool/spamassassin/spampd/bayes.lock.mx1.catap.net.47578 for /var/spool/spamassassin/spampd/bayes.lock: Permission denied

As testing I've run it locally on -current/amd64, and had backported it to
my mail servers on 7.6/amd64. On both case it works.

Feedback? Tests? Oks?

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/mail/spampd/Makefile,v
diff -u -p -r1.14 Makefile
--- Makefile	8 Nov 2022 11:14:52 -0000	1.14
+++ Makefile	9 Dec 2024 13:41:48 -0000
@@ -2,8 +2,7 @@ COMMENT=		SMTP/LMTP proxy for Spamassass
 
 GH_ACCOUNT=		mpaperno
 GH_PROJECT=		spampd
-GH_TAGNAME=		2.61
-REVISION=		0
+GH_TAGNAME=		2.62
 
 CATEGORIES=		mail
 
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/mail/spampd/distinfo,v
diff -u -p -r1.4 distinfo
--- distinfo	7 Aug 2021 10:15:24 -0000	1.4
+++ distinfo	9 Dec 2024 13:41:58 -0000
@@ -1,2 +1,2 @@
-SHA256 (spampd-2.61.tar.gz) = keYPEHRepPnCe55XYZob8karmojqG4jE85+K9gfi264=
-SIZE (spampd-2.61.tar.gz) = 246956
+SHA256 (spampd-2.62.tar.gz) = 7+AW0RH4wglPSTby76FspueMG0hUZbJp/FxCc7nFfPg=
+SIZE (spampd-2.62.tar.gz) = 249062
Index: patches/patch-spampd_pl
===================================================================
RCS file: /home/cvs/ports/mail/spampd/patches/patch-spampd_pl,v
diff -u -p -r1.4 patch-spampd_pl
--- patches/patch-spampd_pl	11 Mar 2022 19:34:57 -0000	1.4
+++ patches/patch-spampd_pl	9 Dec 2024 14:45:24 -0000
@@ -12,7 +12,16 @@ Index: spampd.pl
        log_file          => undef,                 # log destination (undef means log to use write_to_log_hook() with stderr fallback)
        syslog_logsock    => undef,                 # syslog socket (undef means for Sys::Syslog to decide)
        syslog_ident      => 'spampd',              # syslog identity
-@@ -2080,7 +2080,7 @@ Specifies what UNIX socket spampd will relay to. If th
+@@ -468,7 +468,7 @@ sub new {
+       debug                => 0,                  # debug flag, can be boolean or a list to pass to SA (--debug option)
+       local_tests_only     => 0,                  # disable SA network tests (--local-only flag)
+       userstate_dir        =>
+-        '/var/spool/spamassassin/spampd',         # home directory for SA files and plugins (--homedir option)
++        '/var/spampd',                            # home directory for SA files and plugins (--homedir option)
+       home_dir_for_helpers => '',                 # this will be set to the same as userstate_dir once options are parsed
+       username             => '',                 # this will be set to the same user as we're running as once options are parsed
+       userprefs_filename   => undef,              # add this config file for SA "user_prefs" settings (--saconfig option)
+@@ -2080,7 +2086,7 @@ Specifies what UNIX socket spampd will relay to. If th
  =item B<--group> or B<-g> I<<groupname>>
  
  Specifies the user and/or group that the proxy will run as. Default is
Index: pkg/MESSAGE
===================================================================
RCS file: pkg/MESSAGE
diff -N pkg/MESSAGE
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pkg/MESSAGE	9 Dec 2024 15:11:47 -0000
@@ -0,0 +1,2 @@
+If updating from earlier than spampd-2.62, move/copy old files:
+# cd /var/spampd; mv /var/spool/spamassassin/spampd/* .; chown _spampd:_spampd *
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/mail/spampd/pkg/PLIST,v
diff -u -p -r1.5 PLIST
--- pkg/PLIST	8 Nov 2022 11:14:52 -0000	1.5
+++ pkg/PLIST	9 Dec 2024 14:56:21 -0000
@@ -1,10 +1,9 @@
 @newgroup _spampd:746
 @newuser _spampd:746:_spampd::spampd user:/var/spampd:/sbin/nologin
-@comment homedir needed to store the .spamassassin bayes DB
-@extraunexec rm -rf /var/spampd/.spamassassin
 @rcscript ${RCDIR}/spampd
 @man man/man8/spampd.8
 sbin/spampd
 @owner _spampd
 @group _spampd
 @sample /var/spampd/
+@sample /var/spampd/.spamassassin/


-- 
wbr, Kirill