~msapiro/mailman/vhost

« back to all changes in this revision

Viewing changes to Mailman/Utils.py

  • Committer: Mark Sapiro
  • Date: 2018-06-12 15:10:50 UTC
  • mfrom: (837.45.23 2.1)
  • Revision ID: mark@msapiro.net-20180612151050-pqf5em1qtiwcjgpz
Merged from 2.1 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1581
1581
    if re.search(r'127\.0\.0\.[2-7]$', text, re.MULTILINE):
1582
1582
        return True
1583
1583
    return False
 
1584
 
 
1585
def banned_domain(email):
 
1586
    if not dns_resolver:
 
1587
        return False
 
1588
 
 
1589
    email = email.lower()
 
1590
    user, domain = ParseEmail(email)
 
1591
 
 
1592
    lookup = '%s.zen.spamhaus.org' % (domain)
 
1593
 
 
1594
    resolver = dns.resolver.Resolver()
 
1595
    try:
 
1596
        ans = resolver.query(lookup, dns.rdatatype.A)
 
1597
    except DNSException:
 
1598
        return False
 
1599
    if not ans:
 
1600
        return False
 
1601
    text = ans.rrset.to_text()
 
1602
    if re.search(r'127\.0\.1\.\d{1,3}$', text, re.MULTILINE):
 
1603
        if not re.search(r'127\.0\.1\.255$', text, re.MULTILINE):
 
1604
            return True
 
1605
    return False