------------------------------------------------------------ revno: 1803 fixes bug: https://launchpad.net/bugs/1805137 committer: Mark Sapiro <m...@msapiro.net> branch nick: 2.1 timestamp: Wed 2018-11-28 12:03:48 -0800 message: Added recognition for non-compliant opensmtpd DSN Action: error. added: tests/bounces/dsn_18.txt modified: Mailman/Bouncers/DSN.py NEWS tests/test_bounces.py
-- lp:mailman/2.1 https://code.launchpad.net/~mailman-coders/mailman/2.1 Your team Mailman Checkins is subscribed to branch lp:mailman/2.1. To unsubscribe from this branch go to https://code.launchpad.net/~mailman-coders/mailman/2.1/+edit-subscription
=== modified file 'Mailman/Bouncers/DSN.py' --- Mailman/Bouncers/DSN.py 2018-06-17 23:47:34 +0000 +++ Mailman/Bouncers/DSN.py 2018-11-28 20:03:48 +0000 @@ -56,7 +56,8 @@ # Some MTAs have been observed that put comments on the action. if action.startswith('delayed'): return Stop - if not action.startswith('fail'): + # opensmtpd uses non-compliant Action: error. + if not (action.startswith('fail') or action.startswith('error')): # Some non-permanent failure, so ignore this block continue params = [] === modified file 'NEWS' --- NEWS 2018-11-10 19:04:58 +0000 +++ NEWS 2018-11-28 20:03:48 +0000 @@ -15,6 +15,9 @@ - Scrubbed application/octet-stream MIME parts will now be given a .bin extension instead of .obj. + - Added bounce recognition for a non-compliant opensmtpd DSN with + Action: error. (LP: #1805137) + 2.1.29 (24-Jul-2018) Bug Fixes === added file 'tests/bounces/dsn_18.txt' --- tests/bounces/dsn_18.txt 1970-01-01 00:00:00 +0000 +++ tests/bounces/dsn_18.txt 2018-11-28 20:03:48 +0000 @@ -0,0 +1,52 @@ +Return-Path: <> +X-Original-To: list.name-bounces@domain.replaced +Delivered-To: list.name-bounces@domain.replaced +Received: from mx.domain.replaced (mx.domain.replaced [177.XXX.XXX.XXX]) + by mailhost.domain.replaced (Postfix) with ESMTP id 6D6C71E8A3 + for <list.name-bounces@domain.replaced>; Thu, 22 Nov 2018 17:56:08 -0200 (BRST) +Received: from mx.domain.replaced (mx.domain.replaced [local]) + by mx.domain.replaced (OpenSMTPD) with ESMTPA id cce9bd49 + for <list.name-bounces@domain.replaced>; + Thu, 22 Nov 2018 17:56:08 -0200 (-02) +Subject: Delivery status notification: error +From: Mailer Daemon <MAILER-DAEMON@mx.domain.replaced> +To: list.name-bounces@domain.replaced +Date: Thu, 22 Nov 2018 17:56:08 -0200 (-02) +MIME-Version: 1.0 +Content-Type: multipart/mixed;boundary="9950749020440539406/mx.domain.replaced" +Message-ID: <f778c4a058120b20@mx.domain.replaced> + +This is a MIME-encapsulated message. + +--9950749020440539406/mx.domain.replaced +Content-Description: Notification +Content-Type: text/plain; charset=us-ascii + + Hi! + + This is the MAILER-DAEMON, please DO NOT REPLY to this email. + + An error has occurred while attempting to deliver a message for + the following list of recipients: + +em...@replaced.net: Domain does not exist + + Below is a copy of the original message: + +--9950749020440539406/mx.domain.replaced +Content-Description: Delivery Report +Content-Type: message/delivery-status + +Reporting-MTA: dns; mx.domain.replaced + +Final-Recipient: rfc822; em...@replaced.net +Action: error +Status: 5.0.0 + +--9950749020440539406/mx.domain.replaced +Content-Description: Message headers +Content-Type: text/rfc822-headers + +[ORIGINAL MESSAGE] + +--9950749020440539406/mx.domain.replaced-- === modified file 'tests/test_bounces.py' --- tests/test_bounces.py 2018-06-17 23:47:34 +0000 +++ tests/test_bounces.py 2018-11-28 20:03:48 +0000 @@ -122,6 +122,7 @@ ('DSN', 'dsn_15.txt', ['us...@example.com']), ('DSN', 'dsn_16.txt', ['us...@example.com']), ('DSN', 'dsn_17.txt', Stop), + ('DSN', 'dsn_18.txt', ['em...@replaced.net']), # Microsoft Exchange ('Exchange', 'microsoft_01.txt', ['us...@example.com']), ('Exchange', 'microsoft_02.txt', ['us...@example.com']),
_______________________________________________ Mailman-checkins mailing list Mailman-checkins@python.org Unsubscribe: https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org