mirror of
https://github.com/discourse/discourse.git
synced 2024-12-02 05:29:17 -06:00
dcb0e5f1e5
Related to https://meta.discourse.org/t/host-is-invalid-error-when-tld-is-longer-than-7-characters/46081. Using Discourse `v2.4.0.beta2 +119`, I can't add an host (when embedding, cf. `/admin/customize/embedding`) ending with `.engineering`. Turns out current regex limits to 10 characters. Fix is dumb: it only allows for up to 24 chars, which is the **current** max TLD length, see https://stackoverflow.com/a/22038535/1907212. --- Maybe a better (and longer-term) fix would be to allow for up to 64 chars, which I understand comes from the RFC. I'm not at ease with regexes, so can't be sure about it, but [this suggestion](https://meta.discourse.org/t/host-is-invalid-error-when-tld-is-longer-than-7-characters/46081/8?u=julienma) seems pretty good: > rules of DNS labels are: > > - All labels are 1 to 63 characters, case insensitive A to Z, 0 to 9 and - (hyphen), all from ASCII. > - No labels may start with a hyphen. > - No top level domain label may start with a number. > >That means a regexp for a valid domain name would look like: > >`/^([a-z0-9][a-z0-9-]{0,62}\.)+[a-z][a-z0-9-]{0,62}\.?$/` > >Domains that are just a TLD are sufficiently bizarre as to be worth ignoring. |
||
---|---|---|
.. | ||
assets | ||
controllers | ||
helpers | ||
jobs | ||
mailers | ||
models | ||
serializers | ||
services | ||
views |