On Wed, 11 Dec 2024 22:39:38 +0100, Kirill A. Korinsky <kir...@korins.ky> wrote: > > On Wed, 11 Dec 2024 21:50:53 +0100, > Tim van der Molen <t...@kariliq.nl> wrote: > > > > Kirill A. Korinsky (2024-12-09 19:17 +0100): > > > 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. > > > > I'm probably missing something, but I don't understand why you mention > > spamassassin's spamd. What is wrong with the following change? > > > > I was wrong. Sorry. Spamassassin uses /var/db/spamassassin, and not > /var/spool/spamassassin. > > > Index: pkg/PLIST > > =================================================================== > > RCS file: /cvs/ports/mail/spampd/pkg/PLIST,v > > diff -p -u -r1.5 PLIST > > --- pkg/PLIST 8 Nov 2022 11:14:52 -0000 1.5 > > +++ pkg/PLIST 11 Dec 2024 20:01:11 -0000 > > @@ -8,3 +8,5 @@ sbin/spampd > > @owner _spampd > > @group _spampd > > @sample /var/spampd/ > > +@mode 0700 > > +@sample /var/spool/spamassassin/spampd/ > > > > Well, PLIST states: > > @comment homedir needed to store the .spamassassin bayes DB > @extraunexec rm -rf /var/spampd/.spamassassin > > and based on that, I think that /var/spool/spamassassin/spampd/ is an > unexpected place that was used due to missed chunk in patch, and the > intended and correct place is /var/spampd, which also looks logical because > it keeps data in the user's homedir.
After future testing I had discovered that home folders quite a mess in spampd, and if someone would like to use sa-learn with spampd... he really needs to use absolute path without ~. When I run it with --homedir /var/spampd it creates /var/spampd/.spamassassin as well. When with --homedir /var/spampd/.spamassassin it creates /var/spampd/.spamassassin/.spamassassin as well. For example keeps tx-reputation in `homedir`/tx-reputation, but creating `homedir`/.spamassassin and keeps some locks inside. To add fun, it cleans up some environment variable which includes HOME: https://github.com/mpaperno/spampd/blob/2.62/spampd.pl#L502 For now I haven't see how to make things streigth, so I gave up on this. Here a diff which only updates spampd to 2.62. I had running it a few days, and no regression noticed. Ok? Index: mail/spampd/Makefile =================================================================== RCS file: /home/cvs/ports/mail/spampd/Makefile,v diff -u -p -r1.14 Makefile --- mail/spampd/Makefile 8 Nov 2022 11:14:52 -0000 1.14 +++ mail/spampd/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: mail/spampd/distinfo =================================================================== RCS file: /home/cvs/ports/mail/spampd/distinfo,v diff -u -p -r1.4 distinfo --- mail/spampd/distinfo 7 Aug 2021 10:15:24 -0000 1.4 +++ mail/spampd/distinfo 13 Dec 2024 23:34:50 -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: mail/spampd/patches/patch-spampd_pl =================================================================== RCS file: /home/cvs/ports/mail/spampd/patches/patch-spampd_pl,v diff -u -p -r1.4 patch-spampd_pl --- mail/spampd/patches/patch-spampd_pl 11 Mar 2022 19:34:57 -0000 1.4 +++ mail/spampd/patches/patch-spampd_pl 13 Dec 2024 23:34:58 -0000 @@ -1,7 +1,7 @@ Index: spampd.pl --- spampd.pl.orig +++ spampd.pl -@@ -429,8 +429,8 @@ sub new { +@@ -430,8 +430,8 @@ sub new { max_servers => 5, # max number of child processes (servers) to spawn max_requests => 20, # max requests handled by child b4 dying pid_file => '/var/run/spampd.pid', # write pid to file @@ -12,7 +12,7 @@ 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 +@@ -2087,7 +2087,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 -- wbr, Kirill