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 /Mailman | |
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 'Mailman')
-rw-r--r-- | Mailman/Utils.py | 6 |
1 files changed, 4 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) |