[
https://issues.apache.org/jira/browse/VALIDATOR-483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julien Bernard updated VALIDATOR-483:
-------------------------------------
Description:
DomainValidator uses java.net.IDN for its conversion to ASCII which is based on
RFC3490 (IDNA 2003) that is obsoleted by RFC 5891 (IDNA 2008).
An external library such as ICU4J may be used for an IDNA 2008 compliant
conversion:
{code:java}
int flags = IDNA.CHECK_BIDI
| IDNA.CHECK_CONTEXTJ
| IDNA.CHECK_CONTEXTO
| IDNA.NONTRANSITIONAL_TO_ASCII
| IDNA.USE_STD3_RULES;
IDNA idna = IDNA.getUTS46Instance(flags);
IDNA.Info info = new IDNA.Info();
StringBuilder domainAscii = new StringBuilder();
idna.nameToASCII(domain, domainAscii, info);
// check error with info.hasErrors() {code}
was:
DomainValidator uses java.net.IDN for its conversion to ASCII which is based on
RFC3490 (IDNA 2003) that is obsoleted by RFC 5891 (IDNA 2008).
An external library such as ICU4J may be used for an IDNA 2008 compliant
conversion:
{code:java}
int flags = IDNA.CHECK_BIDI
| IDNA.CHECK_CONTEXTJ
| IDNA.CHECK_CONTEXTO
| IDNA.NONTRANSITIONAL_TO_ASCII
| IDNA.USE_STD3_RULES;
IDNA idna = IDNA.getUTS46Instance(flags);
IDNA.Info info = new IDNA.Info();
String domainAscii = idna.nameToASCII(domain, new StringBuilder(), info);
// check error with info.hasErrors() {code}
> DomainValidator conversion to ASCII uses an obsoleted standard
> --------------------------------------------------------------
>
> Key: VALIDATOR-483
> URL: https://issues.apache.org/jira/browse/VALIDATOR-483
> Project: Commons Validator
> Issue Type: Bug
> Components: Routines
> Environment: Java openjdk 11 on Linux
> Reporter: Julien Bernard
> Priority: Major
>
> DomainValidator uses java.net.IDN for its conversion to ASCII which is based
> on RFC3490 (IDNA 2003) that is obsoleted by RFC 5891 (IDNA 2008).
> An external library such as ICU4J may be used for an IDNA 2008 compliant
> conversion:
> {code:java}
> int flags = IDNA.CHECK_BIDI
> | IDNA.CHECK_CONTEXTJ
> | IDNA.CHECK_CONTEXTO
> | IDNA.NONTRANSITIONAL_TO_ASCII
> | IDNA.USE_STD3_RULES;
> IDNA idna = IDNA.getUTS46Instance(flags);
> IDNA.Info info = new IDNA.Info();
> StringBuilder domainAscii = new StringBuilder();
> idna.nameToASCII(domain, domainAscii, info);
> // check error with info.hasErrors() {code}
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)