From 115b4f03deb865dc3f968f2acc6a9bb1ed394dc0 Mon Sep 17 00:00:00 2001 From: Sahana Bogar Date: Tue, 23 Jun 2026 16:05:14 +0530 Subject: [PATCH] =?UTF-8?q?classify=20xn--90ae=20(=D0=B1=D0=B3)=20as=20a?= =?UTF-8?q?=20country-code=20TLD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apache/commons/validator/routines/DomainValidator.java | 2 +- .../commons/validator/routines/DomainValidatorTest.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/validator/routines/DomainValidator.java b/src/main/java/org/apache/commons/validator/routines/DomainValidator.java index 2e845e20f..e65c0fdfe 100644 --- a/src/main/java/org/apache/commons/validator/routines/DomainValidator.java +++ b/src/main/java/org/apache/commons/validator/routines/DomainValidator.java @@ -1370,7 +1370,6 @@ private static class LazyHolder { // IODH "xn--80asehdb", // онлайн CORE Association "xn--80aswg", // сайт CORE Association "xn--8y0a063a", // 联通 China United Network Communications Corporation Limited - "xn--90ae", // бг Imena.BG Plc (NAMES.BG Plc) "xn--9dbq2a", // קום VeriSign Sarl "xn--9et52u", // 时尚 RISE VICTORY LIMITED "xn--9krt00a", // 微博 Sina Corporation @@ -1725,6 +1724,7 @@ private static class LazyHolder { // IODH "xn--54b7fta0cc", // বাংলা Posts and Telecommunications Division "xn--80ao21a", // қаз Association of IT Companies of Kazakhstan "xn--90a3ac", // срб Serbian National Internet Domain Registry (RNIDS) + "xn--90ae", // бг Imena.BG Plc (NAMES.BG Plc) "xn--90ais", // ??? Reliable Software Inc. "xn--clchc0ea0b2g2a9gcd", // சிங்கப்பூர் Singapore Network Information Centre (SGNIC) Pte Ltd "xn--d1alf", // мкд Macedonian Academic Research Network Skopje diff --git a/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java b/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java index 81fd1238c..49204c5e2 100644 --- a/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java +++ b/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java @@ -584,6 +584,10 @@ void testTopLevelDomains() { assertTrue(validator.isValidCountryCodeTld(".uk"), ".uk should validate as ccTLD"); assertFalse(validator.isValidCountryCodeTld(".org"), ".org shouldn't validate as ccTLD"); + // бг (xn--90ae) is the IDN ccTLD for Bulgaria, not a gTLD + assertTrue(validator.isValidCountryCodeTld("xn--90ae"), "xn--90ae (бг) should validate as ccTLD"); + assertFalse(validator.isValidGenericTld("xn--90ae"), "xn--90ae (бг) shouldn't validate as gTLD"); + // case-insensitive assertTrue(validator.isValidTld(".COM"), ".COM should validate as TLD"); assertTrue(validator.isValidTld(".BiZ"), ".BiZ should validate as TLD");