letsencrypt / letsencrypt/boulder

Use authoritative source instead of PSL for determining valid TLDs

Open
#6,468 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

starter
Dominant language
Go
Stars
5.8k
Forks
649
Avg merge
3d 23h
Merged PRs (30d)
24

Description

Today, we use the public suffix list to determine whether a given domain name ends in an ICANN-recognized suffix.

This works well enough, but it's not really what the PSL is intended for. It's intended to list public-like suffixes whose subdomains should be contained in separate security boundaries, i.e. not share cookies. It's not intended to be an authoritative list of all recognized suffixes.

Instead, we should switch to using an authoritative source for this information, to ensure that we get updates about TLD additions and removals as quickly and accurately as possible. Potential sources include:

  • the IANA TLD List -- frequently updated, but just a text file listing all TLDs with no metadata
  • the ICANN gTLD JSON -- includes lots of metadata, including the removal dates of no-longer-valid gTLDs, but only lists gTLDs (not ccTLDs or other TLDs)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with iana/iana.go and inspect how the Public Suffix List currently determines ICANN-recognized suffixes. Compare the IANA TLD List with the ICANN gTLD JSON, including their coverage and update behavior. Done means the project uses an authoritative source that handles additions and removals accurately for all required TLDs.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.