Perform case-insensitive comparison for international domain names

Note: this uses `toLowerCase()` instead of doing proper case folding
This commit is contained in:
Thibaut Girka 2019-08-01 18:13:08 +02:00 committed by ThibG
parent 43b137e1f9
commit 76b80a1511

View File

@ -65,10 +65,11 @@ const isLinkMisleading = (link, checkUrlLike = true) => {
} }
// The link hasn't been recognized, maybe it features an international domain name // The link hasn't been recognized, maybe it features an international domain name
const hostname = decodeIDNA(targetURL.hostname); const hostname = decodeIDNA(targetURL.hostname).normalize('NFKC');
const host = targetURL.host.replace(targetURL.hostname, hostname); const host = targetURL.host.replace(targetURL.hostname, hostname);
const origin = targetURL.origin.replace(targetURL.host, host); const origin = targetURL.origin.replace(targetURL.host, host);
if (textMatchesTarget(linkText, origin, host)) { const text = linkText.normalize('NFKC');
if (textMatchesTarget(text, origin, host) || textMatchesTarget(text.toLowerCase(), origin, host)) {
return false; return false;
} }