------------------------------------------------------------
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

Reply via email to