On 2023/11/05 09:59:14 +0100, Harald Dunkel <ha...@afaics.de> wrote:
> Hi folks,
> 
> since OpenBSD 7.4 the spamassassin filter seems to be broken. On
> the first EMail opensmtpd dies with a message in maillog saying
> 
> Nov  5 08:59:23 mhost smtpd[60460]: bcc4f33a095bb28e smtp connected 
> address=xx.xx.xx.xx host=mail.example.com
> Nov  5 08:59:23 mhost filter-spamassassin[7782]: bcc4f33a095bb28e protocol 
> report 0.7
> Nov  5 08:59:23 mhost filter-spamassassin[7782]: exit

This seems to suggest that it's due the filter-protocol version bump.

(+cc filter-spamassassin maintainers)

I don't use filter-spamassassin and can't test, but since it doesn't
seem to use link-auth it shouldn't care about this protocol change, so
just bumping the version should be enough.

Can you try the following diff to see if it helps?

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/mail/opensmtpd-filters/spamassassin/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- Makefile    26 Sep 2023 12:28:14 -0000      1.8
+++ Makefile    5 Nov 2023 09:20:27 -0000
@@ -4,7 +4,7 @@ V =             0.7
 FILTER_NAME =  spamassassin
 DISTNAME =     filter-spamassassin-${V}
 HOMEPAGE =     https://www.umaxx.net/
-REVISION =     0
+REVISION =     1
 
 CATEGORIES =   mail
 
Index: patches/patch-filter-spamassassin_go
===================================================================
RCS file: patches/patch-filter-spamassassin_go
diff -N patches/patch-filter-spamassassin_go
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-filter-spamassassin_go        5 Nov 2023 09:20:36 -0000
@@ -0,0 +1,14 @@
+handle the smtpd filter-protocol version 0.7
+
+Index: filter-spamassassin.go
+--- filter-spamassassin.go.orig
++++ filter-spamassassin.go
+@@ -211,7 +211,7 @@ func run() {
+       for in.Scan() {
+               f := strings.Split(in.Text(), "|")
+               t, ver, ev, sid := f[0], f[1], f[4], f[5]
+-              if (t != "filter" && t != "report") || ver != "0.6" {
++              if (t != "filter" && t != "report") || ver != "0.7" {
+                       l3.Err(fmt.Sprintln(sid, "protocol", t, ver))
+                       return
+               }

Reply via email to