Skip to content
This repository has been archived by the owner on Apr 21, 2023. It is now read-only.

Updating the Public Suffix List

Jeff Kaufman edited this page Jan 12, 2017 · 3 revisions

PageSpeed ships with a copy of the Public Suffix List (PSL) via its dependency on domain registry provider (DRP). DRP was written at Google, and isn't used for anything else, so we've taken it on. When we build PageSpeed binaries we compile-in a cached copy of the PSL from the pinned version of DRP. So to update the PSL that we use we need to:

  1. update DRP to the latest PSL
  2. update PageSpeed's dependency to the latest DRP

Updating DRP

git clone git@github.com:pagespeed/domain-registry-provider.git
cd domain-registry-provider/src/
git checkout -b $USER-update-public-suffix-list
curl https://publicsuffix.org/list/public_suffix_list.dat > \
  third_party/effective_tld_names/effective_tld_names.dat
scripts/synthesize_entries.py \
  third_party/effective_tld_names/effective_tld_names.dat

Scan through the diff to make sure it looks reasonable.

Then edit domain-registry-provider/src/third_party/effective_tld_names/README.drp to update the downloaded date to today.

Then commit, push to github, and get your change reviewed. For example, here's the PR from the last time I did this: domain-registry-provider#6.

Updating PSOL's DRP dep

Once your review is done and your PR is merged, it's time to tell PSOL to use the new DRP.

git clone git@github.com:pagespeed/mod_pagespeed.git
cd mod_pagespeed
git checkout -b $USER-update-domain-registry-provider
git submodule update --init --recursive
third_party/domain_registry_provider
git checkout master
cd ../..
cd devel
make apache_debug_smoke_test
./checkin

If all those pass, commit and push to github for review.

Clone this wiki locally