aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Sapiro <mark@msapiro.net>2020-05-28 13:27:34 -0700
committerMark Sapiro <mark@msapiro.net>2020-05-28 13:27:34 -0700
commit5ef49284434d4a6ba304889cf89c468e7c97a324 (patch)
tree2f0e42ffc38cfcd4a459fbc48a4e56e00dc0ceb9
parent248ca38ffb4821a131460c9953aa21d6fe7cec04 (diff)
downloadmailman2-5ef49284434d4a6ba304889cf89c468e7c97a324.tar.gz
mailman2-5ef49284434d4a6ba304889cf89c468e7c97a324.tar.xz
mailman2-5ef49284434d4a6ba304889cf89c468e7c97a324.zip
DMARC mitigation no longer misses upper case names.
-rw-r--r--Mailman/Utils.py6
-rw-r--r--NEWS3
2 files changed, 7 insertions, 2 deletions
diff --git a/Mailman/Utils.py b/Mailman/Utils.py
index 36fbd1f9..6e39c532 100644
--- a/Mailman/Utils.py
+++ b/Mailman/Utils.py
@@ -1343,12 +1343,14 @@ def _DMARCProhibited(mlist, email, dmarc_domain, org=False):
cnames = {}
want_names = set([dmarc_domain + '.'])
for txt_rec in txt_recs.response.answer:
+ # Don't be fooled by an answer with uppercase in the name.
+ name = txt_rec.name.to_text().lower()
if txt_rec.rdtype == dns.rdatatype.CNAME:
- cnames[txt_rec.name.to_text()] = (
+ cnames[name] = (
txt_rec.items[0].target.to_text())
if txt_rec.rdtype != dns.rdatatype.TXT:
continue
- results_by_name.setdefault(txt_rec.name.to_text(), []).append(
+ results_by_name.setdefault(name, []).append(
"".join(txt_rec.items[0].strings))
expands = list(want_names)
seen = set(expands)
diff --git a/NEWS b/NEWS
index 4889399e..25f2ff12 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,9 @@ Here is a history of user visible changes to Mailman.
attempts to subscribe to a list. This is fixed and extended to apply
REFUSE_SECOND_PENDING to unsubscription as well. (LP: #1878458)
+ - DMARC mitigation no longer misses if the domain name returned by DNS
+ contains upper case. (LP: #1881035)
+
2.1.33 (07-May-2020)
Security