Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Thursday, June 13, 2019
 
 

idnconv2 (1)

Name

idnconv2 - internationalized domain name converter

Synopsis

idnconv2 [options..] [file...]

Description

idnconv2(1)                 General Commands Manual                idnconv2(1)



NAME
       idnconv2 - internationalized domain name converter

SYNOPSIS
       idnconv2 [options..] [file...]

DESCRIPTION
       idnconv2   command  is  an  internationalized  domain  name  converter.
       idnconv2, which is provided as a part of  idnkit  version  2,  supports
       IDNA2008 only. For IDNA2003, use idnconv in idnkit version 1.

       idnconv2  reads  text  data, converts internationalized domain names in
       the text, and outputs the converted text to standard out.   If  a  file
       name  is  specified, idnconv2 reads the text data from the file. Other-
       wise, idnconv2 reads data from standard in.

       By default, idnconv2 encodes domain  names  (i.e.  conversion  from  U-
       labels  to  A-labels).  Specifying  -reverse (or -r) option, it decodes
       domain names (i.e. conversion from A-labels to U-labels).

       Unless -noconf (or -C) option is given, idnconv2 reads a  configuration
       file  (/etc/idn2.conf,  ~/.idn2rc or a file specified by an option) and
       performs conversions according to the parameters specified in the file.

       idnconv2 can convert configuration files and zone master files for  ISC
       BIND. See ``FILE MANAGEMENT'' for details.

OPTIONS
       -in in-code, -i in-code
           Specify  the encoding name of the input text.  Any of the following
           encoding names can be recognized.

           o Any encoding names which iconv_open() accepts

           o Punycode

           o UTF-8

           o Any alias names for the above,  defined  by  the  encoding  alias
             file.

           In encoder mode, the encoding defaults to the value of the environ-
           ment variable ``IDN_LOCAL_CODESET'' or, if it is not set, an encod-
           ing  determined  from the locale information.  In decoder mode, the
           encoding defaults to ``Punycode''.

       -out out-code, -o out-code
           Specify the encoding name of the output text. out-code can  be  any
           encoding name that can be specified for -in option.

           In encoder mode, the encoding defaults to ``Punycode''.  In decoder
           mode,  it  defaults  to  the  value  of  the  environment  variable
           ``IDN_LOCAL_CODESET''  or, if it is not set, an encoding determined
           from the locale information.

       -conf file, -c file
           Specify the path of idnkit configuration file.  If  not  specified,
           the  default  path  (/etc/idn2.conf  or  ~/.idn2rc) is used, unless
           -noconf (or -C) option is specified.

       -noconf, -C
           Suppress reading a configuration file.

       -reverse, -r
           Specify decoder mode.  idnconv2 runs in encoder mode, by default.

       -registration, -g (default)
           Use domain name registration protocol.  This is the default  behav-
           ior.

       -lookup, -l
           Use domain name lookup protocol.

       -nomap, -M
           Don't  perform  the  ``map''  action.   This is the same as ``-skip
           map''.

       -skip action,...
           Skip actions. the following action names are recognized:

           map    mappings

           asclower
                  convert ASCII uppercase letters to lowercase

           rtconv conversion from Punycode to Unicode for round trip check

           prohcheck
                  prohibited code point check

           unascheck
                  unassigned code point check

           nfccheck
                  NFC conformance check

           prefcheck
                  ACE prefix check

           hyphcheck
                  hyphen check

           combcheck
                  combining character check

           ctxjcheck
                  CONTEXTJ code point check

           ctxocheck
                  CONTEXTO code point check for domain name registration  pro-
                  tocol.

           ctxolitecheck
                  CONTEXTO code point check for domain name lookup protocol.

           bidicheck
                  Bidi check.

           idnconv
                  conversion to Punycode in encoder mode (conversion from Pun-
                  ycode in decoder mode)

           lencheck
                  label length check

           rtcheck
                  round trip check

       -whole, -w
           Assumes each input  line  represents  an  internationalized  domain
           name.   If  this option is not specified, only non-ASCII characters
           and their surrounding  texts  will  be  converted.   See  ``ENCODER
           MODE'' and ``DECODER MODE'' for details.

       -localcheck file, -e file
           Also  perform  local  code  point check using file.  IDN registries
           define their own code point tables allowed for domain  name  regis-
           tration.   Using  the  local check feature, you can check whether a
           domain name consists of code points allowed by  a  particular  reg-
           istry.   The  format  of  file  is  explained in idn_setlocalcheck-
           file(3).

       -flush
           Force line-buffering mode.

       -test, -t
           Print which language, input encoding and output  encoding  will  be
           chosen,  if  the  same arguments are gievn to the command, and then
           quit immediately.

       -version, -v
           Print version information and quit.

       -help, -h
           Print help and quit.

LOCAL ENCODING
       idnconv2 guesses local encoding from locale and environment  variables.
       See the ``LOCAL ENCODING'' section in idn2.conf(5) for more details.

ENCODER MODE
       idnconv2 performs conversion line by line.  Here describes how idnconv2
       does its job for each line.

       1. read a line from input text

       2. convert the line to UTF-8
           idnconv2 converts the line from local encoding to UTF-8.

       3. find internationalized domain names
           If the -whole (or -w) option is specified, the entire  line  except
           for  a new line character is assumed as an internationalized domain
           name.  Otherwise, idnconv2 recognizes any character sequences  hav-
           ing  the  following  properties  in  the  line as internationalized
           domain names.

           o containing at least one non-ASCII character, and

           o consisting of legal domain name  characters  (alphabets,  digits,
             hyphens), non-ASCII characters and period.

       4. convert internationalized domain names
           For  each internationalized domain name found in the line, idnconv2
           converts the names to A-labels by applying the domain  name  regis-
           tration or lookup protocol defined by IDNA2008-Protocol.

       5. output the result

DECODER MODE
       This  is  like  the  encoder mode, but they are not symmetric. idnconv2
       does its job for each line.

       1. read a line from input text

       2. convert the line to UTF-8
           idnconv2 converts the line from local encoding to UTF-8.

       3. find internationalized domain names
           If the -whole (or -w) option is specified, the entire  line  except
           for  a new line character is assumed as an internationalized domain
           name.  Otherwise, idnconv2 decodes any  valid  ASCII  domain  names
           including ACE names in the line.

       4. convert domain names to the local encoding
           For  each internationalized domain name found in the line, idnconv2
           converts the names to U-labels by applying the domain  name  regis-
           tration or lookup protocol defined by IDNA2008-Protocol.

       5. output the result

FILE MANAGEMENT
       Maybe  the  best  way to manage named.conf or zone master files for ISC
       BIND that contains internationalized domain name is  to  keep  them  in
       your  local encoding so that they can be edited with your favorite edi-
       tor, and generate named.conf and master files of Punycode edition using
       idnconv2.

           idnconv2 -in UTF-8 named.conf.utf8 > named.conf
           idnconv2 -in UTF-8 example.com.zone.utf8 > example.com.zone


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+---------------------+
       |ATTRIBUTE TYPE |  ATTRIBUTE VALUE    |
       +---------------+---------------------+
       |Availability   | network/dns/idnconv |
       +---------------+---------------------+
       |Stability      | Committed           |
       +---------------+---------------------+
SEE ALSO
       idncheck(1),   idncmp(1),   iconv(3),  idn2.conf(5),  idnalias.conf(5),
       idnlang.conf(5)

BUGS
       The automatic input-code selection depends on your  system,  and  some-
       times it cannot guess or guess wrong.  It is better to explicitly spec-
       ify it using -in option.



NOTES
       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  https://jprs.co.jp/idn/idnkit-2.3.tar.bz2

       Further information about this software can be found on the open source
       community website at https://jprs.co.jp/idn.



                                 Sep 21, 2012                      idnconv2(1)