Uploaded image for project: 'Commons Validator'
  1. Commons Validator
  2. VALIDATOR-483

DomainValidator conversion to ASCII uses an obsoleted standard

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Routines
    • None
    • Java openjdk 11 on Linux

    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:

      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() 

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            j-bernard Julien Bernard
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: