Gilles Chehade <[email protected]> wrote:
> On Mon, Dec 03, 2018 at 06:11:29PM -0200, Cristiano Costa wrote:
> > Hello everyone,
> > 
> > Recently, we have updated our external MTA to use OpenBSD(6.4) and 
> > opensmptd.
> > 
> > After we updated, our mailman (that run on a Linux machine) started to
> > send "bounce message w/no discernible addresses" messages to us (list
> > admins). It seems that mailman was not able to parse bounce messages
> > sent from opensmtpd. Mailman uses the bounces to remove users from our
> > mailing lists automatically.
> > 
> > I have opened a ticket in the mailman bug tracker and the guys there
> > will fix it. However, they also replied in my bug report:
> > 
> > > It turns out that this (the bounce format) is almost an RFC 3464 
> > > compliant DSN and should be recognized by Mailman/Bouncers/DSN.py except 
> > > for the fact that the 'action' in the Delivery Report is 'error'. This is 
> > > non-compliant. RFC 3464, sec 2.3.3 defines action as:
> > >
> > >        action-value =
> > >                "failed" / "delayed" / "delivered" / "relayed" / "expanded"
> > >
> > >    Thus, 'Action: error' in this DSN is non-compliant. It should be 
> > > 'Action: failed'. You may wish to report this to the opensmtpd 
> > > developers."
> > 
> > So maybe you would like to patch opensmtpd too.
> > 
> > The link to the bug report is 
> > https://bugs.launchpad.net/mailman/+bug/1805137
> > 
> > Thanks,
> > 
> > Please keep the great work,
> > 
> 
> yes, we'll definitely issue a fix for that.
> 
> thanks,
> gilles

This diff uses the standard action-values "failed", "delivered".
Could you give this a try, thanks.

Index: bounce.c
===================================================================
RCS file: /cvs/src/usr.sbin/smtpd/bounce.c,v
retrieving revision 1.79
diff -u -p -r1.79 bounce.c
--- bounce.c    31 May 2018 21:06:12 -0000      1.79
+++ bounce.c    4 Dec 2018 03:17:25 -0000
@@ -796,14 +796,14 @@ action_str(const struct delivery_bounce 
 {
        switch (b->type) {
        case B_ERROR:
-               return ("error");
+               return ("failed");
        case B_WARNING:
                return ("delayed");
        case B_DSN:
                if (b->mta_without_dsn)
                        return ("relayed");
 
-               return ("success");
+               return ("delivered");
        default:
                log_warn("warn: bounce: unknown bounce_type");
                return ("");

--
You received this mail because you are subscribed to [email protected]
To unsubscribe, send a mail to: [email protected]

Reply via email to