idncmp(1)

NAME
idncmp - compare internationalized domain names

SYNOPSIS
idncmp [options..] name1 name2

DESCRIPTION
idncmp command tries to convert internationalized domain name name1 and name2 to A-labels, and then compares them. If they are equivalent, idncmp outputs the message:

    matched.

to standard error and returns with exit code 0. If they have differences, output:

    unmatched.

to standard error and returns with exit code 1. If name1, name2 or both names are not valid internationalized domain names, it outputs the reason (e.g. ``invalid encoding'') to standard error and returns with exit code 2. If an internal error such as memory exhaustion is caused, idncmp outputs the reason to standard error and then returns with exit code 3.

Unless -noconf (or -C) option is given, idncmp 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.

OPTIONS

-in in-code, -i in-code
    Specify the encoding name of the domain names specified as arguments. Any of the following encoding names can be recognized.

    •   Any encoding names which iconv_open() accepts

    •   Punycode

    •   UTF-8

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

    The encoding 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.

-registration, -g
    Use domain name registration protocol.

-lookup, -l (default)
    Use domain name lookup protocol. This is the default behavior.

-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 protocol.

    ctxolitecheck
        CONTEXTO code point check for domain name lookup protocol.

    bidicheck
        Bidi check.

    idnconv
        conversion to Punycode

    lencheck
        label length check

    rtcheck
        round trip check

-localcheck file, -e file
    Also perform local code point check using file. Using the local check feature, you can check whether a domain name consists of code points allowed by a particular registry. The format of file is explained in idn_setlocalcheckfile(3).

-quiet, -q
    Suppress a result message; yield exit status only.

-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
idncmp guesses local encoding from locale and environment variables. See the ``LOCAL ENCODING'' section in idn.conf(5) for more details.

SEE ALSO
idncheck(1), idnconv2(1), iconv(3), idn.conf(5), idnalias.conf(5), idnlang.conf(5)

BUGS
The automatic input-code decision depends on your system, and sometimes it cannot guess or guess wrong. It is better to explicitly specify it using -in option.