tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit ae30782baeea84bca02c69163a4217e8ae9c8ab8
parent 7e75aeefed57366a8fa4a11df32ac13a7995f29c
Author: André Bargull <andre.bargull@gmail.com>
Date:   Tue, 25 Nov 2025 15:19:40 +0000

Bug 2000225 - Part 16: Update IDNA test cases for Unicode 17. r=valentin,necko-reviewers

Where possible I've added alternative inputs for the tested scripts.

From <https://unicode-org.github.io/icu/download/78.html>:
> Identifiers & security: The majority of CJK ideographs, the Bopomofo script,
> and more than 1100 other pre-Unicode 17 characters, are no longer recommended
> for use in identifiers by default (Identifier_Status & Identifier_Type
> properties), after thorough review.
>   - For CJK ideographs, only 19,842 that are in modern common use (out of now
>     more than 100,000) remain recommended for default identifier use.

Differential Revision: https://phabricator.services.mozilla.com/D273825

Diffstat:
Mnetwerk/test/unit/test_idn_spoof.js | 99++++++++++++++++++++++++++++++++++++++++---------------------------------------
Mnetwerk/test/unit/test_idn_urls.js | 26++++++++++++++------------
2 files changed, 64 insertions(+), 61 deletions(-)

diff --git a/netwerk/test/unit/test_idn_spoof.js b/netwerk/test/unit/test_idn_spoof.js @@ -52,7 +52,8 @@ let testCases = [ ["xn--3ck7a7g.jp", "\u30ce\u30f3\u30bd.jp", kSafe], // Katakana + Latin (Japanese) ["xn--e-efusa1mzf.jp", "e\u30b3\u30de\u30fc\u30b9.jp", kSafe], - ["xn--3bkxe.jp", "\u30c8\u309a.jp", kSafe], + ["xn--3bkxe.jp", "\u30c8\u309a.jp", kUnsafe], + ["xn--6bk8d.jp", "\u30c8\u309d.jp", kSafe], // Hangul (Korean) ["www.xn--or3b17p6jjc.kr", "www.\uc804\uc790\uc815\ubd80.kr", kSafe], // b<u-umlaut>cher (German) @@ -161,11 +162,11 @@ let testCases = [ // Han + Hiragana + Katakana + Latin ["xn--kanji-ii4dpizfq59yuykqr4b.jp", "\u632f\u308a\u4eee\u540d\u30ab\u30bfkanji.jp", kSafe], // Han + Bopomofo - ["xn--5ekcde0577e87tc.tw", "\u6ce8\u97f3\u3105\u3106\u3107\u3108.tw", kSafe], + ["xn--5ekcde0577e87tc.tw", "\u6ce8\u97f3\u3105\u3106\u3107\u3108.tw", kUnsafe], // Han + Latin + Bopomofo - ["xn--bopo-ty4cghi8509kk7xd.tw", "\u6ce8\u97f3bopo\u3105\u3106\u3107\u3108.tw", kSafe], + ["xn--bopo-ty4cghi8509kk7xd.tw", "\u6ce8\u97f3bopo\u3105\u3106\u3107\u3108.tw", kUnsafe], // Latin + Bopomofo - ["xn--bopomofo-hj5gkalm.tw", "bopomofo\u3105\u3106\u3107\u3108.tw", kSafe], + ["xn--bopomofo-hj5gkalm.tw", "bopomofo\u3105\u3106\u3107\u3108.tw", kUnsafe], // Bopomofo + Katakana ["xn--lcka3d1bztghi.tw", "\u3105\u3106\u3107\u3108\u30ab\u30bf\u30ab\u30ca.tw", kUnsafe], // Bopomofo + Hangul @@ -386,9 +387,9 @@ let testCases = [ ["xn--77ba.com", "\u09ed\u09ed.com", kUnsafe, "DISABLED"], // Gurmukhi: ["xn--qcce.com", "\u0a68\u0a6a.com", kUnsafe], - ["xn--occe.com", "\u0a66\u0a68.com", kUnsafe, "DISABLED"], + ["xn--occe.com", "\u0a66\u0a68.com", kUnsafe], ["xn--rccd.com", "\u0a6b\u0a69.com", kUnsafe], - ["xn--pcca.com", "\u0a67\u0a67.com", kUnsafe, "DISABLED"], + ["xn--pcca.com", "\u0a67\u0a67.com", kUnsafe], // Telugu: ["xn--drcb.com", "\u0c69\u0c68.com", kUnsafe], // Devanagari: @@ -398,7 +399,7 @@ let testCases = [ ["xn--yuco.com", "\u0ce6\u0ced.com", kUnsafe, "DISABLED"], // Oriya: ["xn--1jcf.com", "\u0b6b\u0b68.com", kUnsafe], - ["xn--zjca.com", "\u0b66\u0b66.com", kUnsafe, "DISABLED"], + ["xn--zjca.com", "\u0b66\u0b66.com", kUnsafe], // Gujarati: ["xn--cgce.com", "\u0ae6\u0ae8.com", kUnsafe, "DISABLED"], ["xn--fgci.com", "\u0ae9\u0aed.com", kUnsafe], @@ -413,7 +414,7 @@ let testCases = [ // шмԋтв.com ["xn--b1atsw09g.com", "\u0448\u043c\u050b\u0442\u0432.com", kUnsafe], // шмԧтв.com - ["xn--b1atsw03i.com", "\u0448\u043c\u0527\u0442\u0432.com", kUnsafe, "DISABLED"], + ["xn--b1atsw03i.com", "\u0448\u043c\u0527\u0442\u0432.com", kUnsafe], // шмԋԏв.com ["xn--b1at9a12dua.com", "\u0448\u043c\u050b\u050f\u0432.com", kUnsafe], // ഠട345.com @@ -423,7 +424,7 @@ let testCases = [ // decomposition into base + diacritc mark). The corresponding ASCII // domain names are in the test top domain list. // ϼκαωχ.com - ["xn--mxar4bh6w.com", "\u03fc\u03ba\u03b1\u03c9\u03c7.com", kUnsafe, "DISABLED"], + ["xn--mxar4bh6w.com", "\u03fc\u03ba\u03b1\u03c9\u03c7.com", kUnsafe], // þħĸŧƅ.com ["xn--vda6f3b2kpf.com", "\u00fe\u0127\u0138\u0167\u0185.com", kUnsafe], // þhktb.com @@ -437,39 +438,39 @@ let testCases = [ // phktƅ.com ["xn--phkt-ocb.com", "phkt\u0185.com", kUnsafe], // ҏнкть.com - ["xn--j1afq4bxw.com", "\u048f\u043d\u043a\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--j1afq4bxw.com", "\u048f\u043d\u043a\u0442\u044c.com", kUnsafe], // ҏћкть.com - ["xn--j1aq4a7cvo.com", "\u048f\u045b\u043a\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--j1aq4a7cvo.com", "\u048f\u045b\u043a\u0442\u044c.com", kUnsafe], // ҏңкть.com - ["xn--j1aq4azund.com", "\u048f\u04a3\u043a\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--j1aq4azund.com", "\u048f\u04a3\u043a\u0442\u044c.com", kUnsafe], // ҏҥкть.com - ["xn--j1aq4azuxd.com", "\u048f\u04a5\u043a\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--j1aq4azuxd.com", "\u048f\u04a5\u043a\u0442\u044c.com", kUnsafe], // ҏӈкть.com - ["xn--j1aq4azuyj.com", "\u048f\u04c8\u043a\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--j1aq4azuyj.com", "\u048f\u04c8\u043a\u0442\u044c.com", kUnsafe], // ҏԧкть.com - ["xn--j1aq4azu9z.com", "\u048f\u0527\u043a\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--j1aq4azu9z.com", "\u048f\u0527\u043a\u0442\u044c.com", kUnsafe], // ҏԩкть.com - ["xn--j1aq4azuq0a.com", "\u048f\u0529\u043a\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--j1aq4azuq0a.com", "\u048f\u0529\u043a\u0442\u044c.com", kUnsafe], // ҏнқть.com - ["xn--m1ak4azu6b.com", "\u048f\u043d\u049b\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--m1ak4azu6b.com", "\u048f\u043d\u049b\u0442\u044c.com", kUnsafe], // ҏнҝть.com - ["xn--m1ak4azunc.com", "\u048f\u043d\u049d\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--m1ak4azunc.com", "\u048f\u043d\u049d\u0442\u044c.com", kUnsafe], // ҏнҟть.com - ["xn--m1ak4azuxc.com", "\u048f\u043d\u049f\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--m1ak4azuxc.com", "\u048f\u043d\u049f\u0442\u044c.com", kUnsafe], // ҏнҡть.com - ["xn--m1ak4azu7c.com", "\u048f\u043d\u04a1\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--m1ak4azu7c.com", "\u048f\u043d\u04a1\u0442\u044c.com", kUnsafe], // ҏнӄть.com - ["xn--m1ak4azu8i.com", "\u048f\u043d\u04c4\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--m1ak4azu8i.com", "\u048f\u043d\u04c4\u0442\u044c.com", kUnsafe], // ҏнԟть.com - ["xn--m1ak4azuzy.com", "\u048f\u043d\u051f\u0442\u044c.com", kUnsafe, "DISABLED"], + ["xn--m1ak4azuzy.com", "\u048f\u043d\u051f\u0442\u044c.com", kUnsafe], // ҏнԟҭь.com - ["xn--m1a4a4nnery.com", "\u048f\u043d\u051f\u04ad\u044c.com", kUnsafe, "DISABLED"], + ["xn--m1a4a4nnery.com", "\u048f\u043d\u051f\u04ad\u044c.com", kUnsafe], // ҏнԟҭҍ.com - ["xn--m1a4ne5jry.com", "\u048f\u043d\u051f\u04ad\u048d.com", kUnsafe, "DISABLED"], + ["xn--m1a4ne5jry.com", "\u048f\u043d\u051f\u04ad\u048d.com", kUnsafe], // ҏнԟҭв.com - ["xn--b1av9v8dry.com", "\u048f\u043d\u051f\u04ad\u0432.com", kUnsafe, "DISABLED"], + ["xn--b1av9v8dry.com", "\u048f\u043d\u051f\u04ad\u0432.com", kUnsafe], // ҏӊԟҭв.com - ["xn--b1a9p8c1e8r.com", "\u048f\u04ca\u051f\u04ad\u0432.com", kUnsafe, "DISABLED"], + ["xn--b1a9p8c1e8r.com", "\u048f\u04ca\u051f\u04ad\u0432.com", kUnsafe], // wmŋr.com ["xn--wmr-jxa.com", "wm\u014br.com", kUnsafe, "DISABLED"], // шмпґ.com @@ -477,21 +478,21 @@ let testCases = [ // щмпґ.com ["xn--l1ag2a0y.com", "\u0449\u043c\u043f\u0491.com", kUnsafe, "DISABLED"], // щӎпґ.com - ["xn--o1at1tsi.com", "\u0449\u04ce\u043f\u0491.com", kUnsafe, "DISABLED"], + ["xn--o1at1tsi.com", "\u0449\u04ce\u043f\u0491.com", kUnsafe], // ґғ.com ["xn--03ae.com", "\u0491\u0493.com", kUnsafe, "DISABLED"], // ґӻ.com - ["xn--03a6s.com", "\u0491\u04fb.com", kUnsafe, "DISABLED"], + ["xn--03a6s.com", "\u0491\u04fb.com", kUnsafe], // ҫұҳҽ.com ["xn--r4amg4b.com", "\u04ab\u04b1\u04b3\u04bd.com", kUnsafe, "DISABLED"], // ҫұӽҽ.com - ["xn--r4am0b8r.com", "\u04ab\u04b1\u04fd\u04bd.com", kUnsafe, "DISABLED"], + ["xn--r4am0b8r.com", "\u04ab\u04b1\u04fd\u04bd.com", kUnsafe], // ҫұӿҽ.com - ["xn--r4am0b3s.com", "\u04ab\u04b1\u04ff\u04bd.com", kUnsafe, "DISABLED"], + ["xn--r4am0b3s.com", "\u04ab\u04b1\u04ff\u04bd.com", kUnsafe], // ҫұӿҿ.com - ["xn--r4am6b4p.com", "\u04ab\u04b1\u04ff\u04bf.com", kUnsafe, "DISABLED"], + ["xn--r4am6b4p.com", "\u04ab\u04b1\u04ff\u04bf.com", kUnsafe], // ҫұӿє.com - ["xn--91a7osa62a.com", "\u04ab\u04b1\u04ff\u0454.com", kUnsafe, "DISABLED"], + ["xn--91a7osa62a.com", "\u04ab\u04b1\u04ff\u0454.com", kUnsafe], // ӏԃԍ.com ["xn--s5a8h4a.com", "\u04cf\u0503\u050d.com", kUnsafe], @@ -556,7 +557,7 @@ let testCases = [ ["xn--y5a4n.com", "\u04d5\u0525.com", kUnsafe, "DISABLED"], // ငၔဌ၂ဝ.com (entirely made of Myanmar characters) - ["xn--ridq5c9hnd.com", "\u1004\u1054\u100c\u1042\u101d.com", kUnsafe, "DISABLED"], + ["xn--ridq5c9hnd.com", "\u1004\u1054\u100c\u1042\u101d.com", kUnsafe], // ฟรฟร.com (made of two Thai characters. similar to wsws.com in // some fonts) @@ -834,7 +835,7 @@ let testCases = [ ["some.xn--atst-cpa.net", "some.at\u00e9st.net", kSafe], // Modifier-letter-voicing should be blocked (wwwˬtest.com). - ["xn--wwwtest-2be.com", "www\u02ectest.com", kUnsafe, "DISABLED"], + ["xn--wwwtest-2be.com", "www\u02ectest.com", kUnsafe], // oĸ.com: Not a top domain, should be blocked because of Kra. ["xn--o-tka.com", "o\u0138.com", kUnsafe], @@ -847,14 +848,14 @@ let testCases = [ ["xn--google-9f5e.com", "\u3127google.com", kUnsafe], ["xn--google-gn7i.com", "google\u4e00.com", kUnsafe], ["xn--google-9m7i.com", "\u4e00google.com", kUnsafe], - // These are allowed because U+4E00 and U+3127 are not immediately next to + // These are allowed because U+4E00 and U+3447 are not immediately next to // non-CJK. ["xn--gamer-fg1hz05u.com", "\u4e00\u751fgamer.com", kSafe], ["xn--gamer-kg1hy05u.com", "gamer\u751f\u4e00.com", kSafe], - ["xn--gamer-f94d4426b.com", "\u3127\u751fgamer.com", kSafe], - ["xn--gamer-k94d3426b.com", "gamer\u751f\u3127.com", kSafe], + ["xn--gamer-k68dt714b.com", "\u3447\u751fgamer.com", kSafe], + ["xn--gamer-p68ds714b.com", "gamer\u751f\u3447.com", kSafe], ["xn--4gqz91g.com", "\u4e00\u732b.com", kSafe], - ["xn--4fkv10r.com", "\u3127\u732b.com", kSafe], + ["xn--z2kt70q.com", "\u3447\u732b.com", kSafe], // U+4E00 with another ideograph. ["xn--4gqc.com", "\u4e00\u4e01.com", kSafe], @@ -941,9 +942,9 @@ let testCases = [ ["xn--mxapd.gr", "\u03b9\u03ba\u03b1.gr", kSafe], ["xn--mxapd.xn--qxam", "\u03b9\u03ba\u03b1.\u03b5\u03bb", kSafe], // Georgian: - ["xn--gpd3ag.com", "\u10fd\u10ff\u10ee.com", kUnsafe, "DISABLED"], - ["xn--gpd3ag.ge", "\u10fd\u10ff\u10ee.ge", kSafe], - ["xn--gpd3ag.xn--node", "\u10fd\u10ff\u10ee.\u10d2\u10d4", kSafe], + ["xn--lod4df.com", "\u10d0\u10f0\u10ee.com", kUnsafe, "DISABLED"], + ["xn--lod4df.ge", "\u10d0\u10f0\u10ee.ge", kSafe], + ["xn--lod4df.xn--node", "\u10d0\u10f0\u10ee.\u10d2\u10d4", kSafe], // Hebrew: ["xn--7dbh4a.com", "\u05d7\u05e1\u05d3.com", kUnsafe, "DISABLED"], ["xn--7dbh4a.il", "\u05d7\u05e1\u05d3.il", kSafe], @@ -953,9 +954,9 @@ let testCases = [ ["xn--oidbbf41a.mm", "\u1004\u1040\u1002\u1001\u1002.mm", kSafe], ["xn--oidbbf41a.xn--7idjb0f4ck", "\u1004\u1040\u1002\u1001\u1002.\u1019\u103c\u1014\u103a\u1019\u102c", kSafe], // Myanmar Shan digits: - ["xn--rmdcmef.com", "\u1090\u1091\u1095\u1096\u1097.com", kUnsafe, "DISABLED"], - ["xn--rmdcmef.mm", "\u1090\u1091\u1095\u1096\u1097.mm", kSafe], - ["xn--rmdcmef.xn--7idjb0f4ck", "\u1090\u1091\u1095\u1096\u1097.\u1019\u103c\u1014\u103a\u1019\u102c", kSafe], + ["xn--rmdcmef.com", "\u1090\u1091\u1095\u1096\u1097.com", kUnsafe], + ["xn--rmdcmef.mm", "\u1090\u1091\u1095\u1096\u1097.mm", kUnsafe], + ["xn--rmdcmef.xn--7idjb0f4ck", "\u1090\u1091\u1095\u1096\u1097.\u1019\u103c\u1014\u103a\u1019\u102c", kSafe, "DISABLED"], // Thai: // #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ["xn--o3cedqz2c.com", "\u0e17\u0e19\u0e1a\u0e1e\u0e23\u0e2b.com", kUnsafe, "linux"], @@ -971,21 +972,21 @@ let testCases = [ // Bengali: ["xn--07baub.com", "\u09e6\u09ed\u09e6\u09ed.com", kUnsafe, "DISABLED"], // Devanagari: - ["xn--62ba6j.com", "\u093d\u0966\u093d.com", kUnsafe, "DISABLED"], + ["xn--62ba6j.com", "\u093d\u0966\u093d.com", kUnsafe], // Gujarati: ["xn--becd.com", "\u0aa1\u0a9f.com", kUnsafe, "DISABLED"], // Gurmukhi: - ["xn--occacb.com", "\u0a66\u0a67\u0a66\u0a67.com", kUnsafe, "DISABLED"], + ["xn--occacb.com", "\u0a66\u0a67\u0a66\u0a67.com", kUnsafe], // Kannada: - ["xn--stca6jf.com", "\u0cbd\u0ce6\u0cbd\u0ce7.com", kUnsafe, "DISABLED"], + ["xn--stca6jf.com", "\u0cbd\u0ce6\u0cbd\u0ce7.com", kUnsafe], // Malayalam: ["xn--lwccv.com", "\u0d1f\u0d20\u0d27.com", kUnsafe, "DISABLED"], // Oriya: - ["xn--zhca6ub.com", "\u0b6e\u0b20\u0b6e\u0b20.com", kUnsafe, "DISABLED"], + ["xn--zhca6ub.com", "\u0b6e\u0b20\u0b6e\u0b20.com", kUnsafe], // Tamil: ["xn--mlca6ab.com", "\u0b9f\u0baa\u0b9f\u0baa.com", kUnsafe, "DISABLED"], // Telugu: - ["xn--brcaabbb.com", "\u0c67\u0c66\u0c67\u0c66\u0c67\u0c66.com", kUnsafe, "DISABLED"], + ["xn--brcaabbb.com", "\u0c67\u0c66\u0c67\u0c66\u0c67\u0c66.com", kUnsafe], // IDN domain matching an IDN top-domain (f\u00f3\u00f3.com) ["xn--fo-5ja.com", "f\u00f3o.com", kUnsafe, "DISABLED"], diff --git a/netwerk/test/unit/test_idn_urls.js b/netwerk/test/unit/test_idn_urls.js @@ -153,10 +153,12 @@ const testcases = [ ["super𝟖", "super8", true], // Han from Plane 2 - ["𠀀𠀁𠀂", "xn--j50icd", true], + ["𠀀𠀁𠀂", "xn--j50icd", false], + ["𠜎𠜱𠝹", "xn--4m2igcqk", true], // Han from Plane 2 with js (UTF-16) escapes - ["\uD840\uDC00\uD840\uDC01\uD840\uDC02", "xn--j50icd", true], + ["\uD840\uDC00\uD840\uDC01\uD840\uDC02", "xn--j50icd", false], + ["\uD841\uDF0E\uD841\uDF31\uD841\uDF79", "xn--4m2igcqk", true], // Same with a lone high surrogate at the end // Throws due to unpaired surrogate @@ -191,26 +193,26 @@ const testcases = [ ["萬万城", "xn--chq31vrl1b", true], // Han and Latin and Bopomofo - ["注音符号bopomofoㄅㄆㄇㄈ", "xn--bopomofo-hj5gkalm1637i876cuw0brk5f", true], + ["注音符号bopomofoㄅㄆㄇㄈ", "xn--bopomofo-hj5gkalm1637i876cuw0brk5f", false], // Han, bopomofo, Latin // Bug 1885096: Since the last character of "ㄅㄆㄇㄈ" is a CJK Ideograph, // just use the first character "ㄅ" from the sequence "ㄅㄆㄇㄈ". - ["注音符号ㄅbopomofo", "xn--bopomofo-8i5gx891aylvccz9asi4e", true], + ["注音符号ㄅbopomofo", "xn--bopomofo-8i5gx891aylvccz9asi4e", false], // Latin, Han, Bopomofo - ["bopomofo注音符号ㄅㄆㄇㄈ", "xn--bopomofo-hj5gkalm9637i876cuw0brk5f", true], + ["bopomofo注音符号ㄅㄆㄇㄈ", "xn--bopomofo-hj5gkalm9637i876cuw0brk5f", false], // Latin, Bopomofo, Han - ["bopomofoㄅㄆㄇㄈ注音符号", "xn--bopomofo-hj5gkalm3737i876cuw0brk5f", true], + ["bopomofoㄅㄆㄇㄈ注音符号", "xn--bopomofo-hj5gkalm3737i876cuw0brk5f", false], // Bopomofo, Han, Latin - ["ㄅㄆㄇㄈ注音符号bopomofo", "xn--bopomofo-8i5gkalm3737i876cuw0brk5f", true], + ["ㄅㄆㄇㄈ注音符号bopomofo", "xn--bopomofo-8i5gkalm3737i876cuw0brk5f", false], // Bopomofo, Latin, Han // Bug 1885096: Since the last character of "ㄅㄆㄇㄈ" is a CJK Ideograph, // just use the first character "ㄅ" from the sequence "ㄅㄆㄇㄈ". - ["ㄅbopomofo注音符号", "xn--bopomofo-8i5g6891aylvccz9asi4e", true], + ["ㄅbopomofo注音符号", "xn--bopomofo-8i5g6891aylvccz9asi4e", false], // Han, bopomofo and katakana ["注音符号ㄅㄆㄇㄈボポモフォ", "xn--jckteuaez1shij0450gylvccz9asi4e", false], @@ -262,10 +264,10 @@ const testcases = [ ], // Effect of adding valid or invalid subdomains (bug 1399540) - ["䕮䕵䕶䕱.ascii", "xn--google.ascii", true], - ["ascii.䕮䕵䕶䕱", "ascii.xn--google", true], - ["中国123.䕮䕵䕶䕱", "xn--123-u68dy61b.xn--google", true], - ["䕮䕵䕶䕱.中国123", "xn--google.xn--123-u68dy61b", true], + ["曹曳曷曽.ascii", "xn--movies.ascii", true], + ["ascii.曹曳曷曽", "ascii.xn--movies", true], + ["中国123.曹曳曷曽", "xn--123-u68dy61b.xn--movies", true], + ["曹曳曷曽.中国123", "xn--movies.xn--123-u68dy61b", true], // Throw due to bogus Punycode // [ // "xn--accountlogin.䕮䕵䕶䕱",