Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits:
90d440c9 by Mark Sapiro at 2021-06-06T10:51:14-07:00
DMARC policy ignores domains with multiple DMARC records.
- - - - -
f43d34a3 by Mark Sapiro at 2021-06-06T18:23:14+00:00
Merge branch 'dmarc' into 'master'
DMARC policy ignores domains with multiple DMARC records.
Closes #907
See merge request mailman/mailman!872
- - - - -
3 changed files:
- src/mailman/docs/NEWS.rst
- src/mailman/rules/dmarc.py
- src/mailman/rules/tests/test_dmarc.py
Changes:
=====================================
src/mailman/docs/NEWS.rst
=====================================
@@ -71,6 +71,8 @@ Bugs
configured headers. (Closes #905)
* Require flufl.bounce >=3.0.2, which improves parsing of bounce messages.
(Closes #892)
+* DMARC policy discovery ignores domains with multiple DMARC records per
+ RFC 7849. (Closes #907)
Command line
------------
=====================================
src/mailman/rules/dmarc.py
=====================================
@@ -245,8 +245,9 @@ def is_reject_or_quarantine(mlist, email, dmarc_domain,
org=False):
if len(dmarcs) > 1:
elog.error(
'RRset of TXT records for %s has %d v=DMARC1 entries; '
- 'testing them all',
+ 'ignoring them per RFC 7849',
dmarc_domain, len(dmarcs))
+ return False
for entry in dmarcs:
mo = re.search(r'\bsp=(\w*)\b', entry, re.IGNORECASE)
if org and mo:
=====================================
src/mailman/rules/tests/test_dmarc.py
=====================================
@@ -414,12 +414,12 @@ To: [email protected]
mark = LogFileMark('mailman.error')
rule = dmarc.DMARCMitigation()
with get_dns_resolver(rmult=True):
- self.assertTrue(rule.check(mlist, msg, {}))
+ self.assertFalse(rule.check(mlist, msg, {}))
line = mark.readline()
self.assertEqual(
- line[-85:],
+ line[-95:],
'RRset of TXT records for _dmarc.example.biz has 2 '
- 'v=DMARC1 entries; testing them all\n')
+ 'v=DMARC1 entries; ignoring them per RFC 7849\n')
def test_multiple_cnames(self):
mlist = create_list('[email protected]')
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/30f322951e961ff47e1a32ffcf5894f2ceb7583f...f43d34a367b204ab2d54a05124f762d6f10335e9
--
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/30f322951e961ff47e1a32ffcf5894f2ceb7583f...f43d34a367b204ab2d54a05124f762d6f10335e9
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]