Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits:
09545aa7 by Mark Sapiro at 2021-03-16T13:06:16-07:00
Don't log the folding from folded Message-ID headers in smtp.log.
- - - - -
58654b31 by Mark Sapiro at 2021-03-16T20:32:26+00:00
Merge branch 'smtplog' into 'master'
Don't log the folding from folded Message-ID headers in smtp.log.
Closes #844
See merge request mailman/mailman!798
- - - - -
4 changed files:
- setup.py
- src/mailman/docs/NEWS.rst
- src/mailman/mta/deliver.py
- src/mailman/mta/tests/test_delivery.py
Changes:
=====================================
setup.py
=====================================
@@ -127,7 +127,7 @@ case second 'm'. Any other spelling is incorrect.""",
'python-dateutil>=2.0',
'passlib',
'requests',
- 'sqlalchemy>=1.2.3',
+ 'sqlalchemy>=1.2.3,<1.4',
'zope.component',
'zope.configuration',
'zope.event',
=====================================
src/mailman/docs/NEWS.rst
=====================================
@@ -21,6 +21,8 @@ Bugs
in the lmtp runner. (Closes #836)
* The email join command now honors the digest=<no|mime|plain> option.
(Closes #19)
+* Folded ``Message-ID`` headers no longer cause folded smtp.log messages.
+ (Closes #844)
Command line
------------
=====================================
src/mailman/mta/deliver.py
=====================================
@@ -99,7 +99,8 @@ def deliver(mlist, msg, msgdata):
if size is None:
size = len(msg.as_string())
substitutions = dict(
- msgid = msg.get('message-id', 'n/a'), # noqa: E221,E251
+ msgid = msg.get('message-id', # noqa: E221,E251
+ 'n/a').strip(),
listname = mlist.fqdn_listname, # noqa: E221,E251
sender = original_sender, # noqa: E221,E251
recip = len(original_recipients), # noqa: E221,E251
=====================================
src/mailman/mta/tests/test_delivery.py
=====================================
@@ -29,7 +29,7 @@ from mailman.interfaces.template import ITemplateManager
from mailman.mta.bulk import BulkDelivery
from mailman.mta.deliver import Deliver
from mailman.testing.helpers import (
- specialized_message_from_string as mfs, subscribe)
+ LogFileMark, specialized_message_from_string as mfs, subscribe)
from mailman.testing.layers import ConfigLayer, SMTPLayer
from mailman.utilities.modules import find_name
from zope.component import getUtility
@@ -357,3 +357,32 @@ Subject: test
# Since max_sessions_per_connection is 3, sending 4 personalized
# messages creates 2 connections.
self.assertEqual(SMTPLayer.smtpd.get_connection_count(), 2)
+
+
+class TestDeliveryLogging(unittest.TestCase):
+ """Test that logging doesn't split on folded Message-IDs."""
+
+ layer = SMTPLayer
+
+ def setUp(self):
+ self._mlist = create_list('[email protected]')
+ # Make Anne a member of this mailing list.
+ self._anne = subscribe(self._mlist, 'Anne', email='[email protected]')
+ self._msg = mfs("""\
+From: [email protected]
+To: [email protected]
+Subject: test
+Message-ID:
+ <am6pr09mb347488bb9a684f6a23a1d37596...@am6pr09mb34.eurprd09.prod.outlook.com>
+
+""")
+ self._deliverer = find_name(config.mta.outgoing)
+
+ def test_logging_with_folded_messageid(self):
+ # Test that folded Message-ID header doesn't fold the log messages.
+ mark = LogFileMark('mailman.smtp')
+ msgdata = dict(recipients=['[email protected]'], tolist=True)
+ self._deliverer(self._mlist, self._msg, msgdata)
+ logs = mark.read()
+ self.assertRegex(logs, r' \(\d+\) <AM6PR09MB347488.*smtp')
+ self.assertRegex(logs, r' \(\d+\) <AM6PR09MB347488.*post')
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/b7d2493d50f5183ea8a1d9382e8fc211599e98e1...58654b3111312dfc00e646f10e1f255bd85e7ffc
--
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/b7d2493d50f5183ea8a1d9382e8fc211599e98e1...58654b3111312dfc00e646f10e1f255bd85e7ffc
You're receiving this email because of your account on gitlab.com.
_______________________________________________
Mailman-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/mailman-checkins.python.org/
Member address: [email protected]