Switch DMARC checking to use the publicsuffixlist module.

Review Request #13454 — Created Dec. 13, 2023 and submitted

Information

Djblets
release-4.x

Reviewers

Historically, Djblets has used the publicsuffix module to compute the
correct public sufix for a domain (e.g., example.com from
www.example.com). This module is now deprecated, replaced by a modern
publicsuffixlist module, which has wider Python support and a built-in
data file.

We now use this module, which is fairly close to a drop-in replacement
(it actually has a compatible interface for publicsuffix users, but
it's trivial to migrate to the modern API).

We also now cache the instance, to avoid having to load and parse every
time we're checking a DMARC record.

Unit tests pass.

Summary ID
Switch DMARC checking to use the publicsuffixlist module.
Historically, Djblets has used the `publicsuffix` module to compute the correct public sufix for a domain (e.g., `example.com` from `www.example.com`). This module is now deprecated, replaced by a modern `publicsuffixlist` module, which has wider Python support and a built-in data file. We now use this module, which is fairly close to a drop-in replacement (it actually has a compatible interface for `publicsuffix` users, but it's trivial to migrate to the modern API). We also now cache the instance, to avoid having to load and parse every time we're checking a DMARC record.
e34804e98ceeb1fdde1b5d11c566004e3f0e8d63
chipx86
david
  1. Ship It!
  2. 
      
maubin
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.x (c5d2a9e)