Private suffixes/TLDs?
stevenvachon opened this issue · 2 comments
While com
is public, pepsi
is private and not mentioned in the public list.
What do you think should be the correct behavior? Currently it seems that's parsed correctly as a TLD:
> psl.parse('mycooldomain.pepsi')
{ input: 'mycooldomain.pepsi',
tld: 'pepsi',
sld: 'mycooldomain',
domain: 'mycooldomain.pepsi',
subdomain: null,
listed: false }
Note that it returns listed: false
.
I have a tangential question, what if the TLD is clearly invalid (at least to me):
> psl.parse('mycooldomain.com--invalid')
{ input: 'mycooldomain.com--invalid',
tld: 'com--invalid',
sld: 'mycooldomain',
domain: 'mycooldomain.com--invalid',
subdomain: null,
listed: false }
This returns listed: false
too but I'm not sure if this result is meaningful to me as a user.
Compare to this:
> psl.parse('....mycooldomain.com')
{ input: '....mycooldomain.com',
error:
{ message: 'Domain name label should be at least 1 character long.',
code: 'LABEL_TOO_SHORT' } }
or even better:
> psl.parse('--mycooldomain.com')
{ input: '--mycooldomain.com',
error:
{ message: 'Domain name label can not start with a dash.',
code: 'LABEL_STARTS_WITH_DASH' } }
Now as the left side is clearly invalid the domain is no longer accepted.
There is an expired draft for allowing xn--
in TLD names but I couldn't find if anything similar was ever accepted. draft-liman-tld-names-01. For example RFC 1123 refers that a TLD will be alphabetic, again I couldn't find any supporting evidence that it is clearly standardized to be so.
Therefore I'm not sure if -
should be allowed but it looks suspicious to me.