diff options
author | Mark Sapiro <mark@msapiro.net> | 2020-05-28 13:27:34 -0700 |
---|---|---|
committer | Mark Sapiro <mark@msapiro.net> | 2020-05-28 13:27:34 -0700 |
commit | 5ef49284434d4a6ba304889cf89c468e7c97a324 (patch) | |
tree | 2f0e42ffc38cfcd4a459fbc48a4e56e00dc0ceb9 | |
parent | 248ca38ffb4821a131460c9953aa21d6fe7cec04 (diff) | |
download | mailman2-5ef49284434d4a6ba304889cf89c468e7c97a324.tar.gz mailman2-5ef49284434d4a6ba304889cf89c468e7c97a324.tar.xz mailman2-5ef49284434d4a6ba304889cf89c468e7c97a324.zip |
DMARC mitigation no longer misses upper case names.
Diffstat (limited to '')
-rw-r--r-- | Mailman/Utils.py | 6 | ||||
-rw-r--r-- | NEWS | 3 |
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) @@ -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 |